OTA Problems with DA14580

10个帖子/ 0新
最后一篇
祖马
离线
最后一次露面:2周6天前
加入:2016-01-13 09:35
OTA Problems with DA14580

你好,Dialog
我对OTA有一些问题,如下:

1.您是否已经解决了Android 5.0的应用程序稳定问题?我已经检查过您的文档,并找到您的应用程序只使用Android 4.4.4稳定。
2.从本网站的SDK5.0下载,从近距离记录器项目中删除了什么可以删除吗?编译后SDK5.0的最小大小是多少?
我有编译它,并发现总大小超过30kb。该项目仅包含4个简介:Bass / vis / Spota / Proxr。

或者如果我必须为其他代码备用4KB空间,我们可以使用SDK5.0完成我们的OTA项目吗?

==================================================================================
Keil5.0 compile info:
linking...
程序尺寸:CODE = 22708 RO-DATA = 3140 RW-DATA = 128 ZI-DATA = 8008
从自己:创建十六进制文件......
".\out_580\prox_reporter_580.axf" - 0 Error(s), 1 Warning(s).

Device:
mt_dialog.
离线
最后一次露面:2个月5天前
职员
加入:2015-06-08 11:34
嗨祖马,

嗨祖马,

1. Suota文档中的指示不再有效,Suota应用程序在大多数Android版本中应该稳定。

2. I dont quite get the question, the total size of any application is indicated by keil, at the end of the building process keil will report the program size in Code, RO, RW and ZI data. the total size of your binary doesn't include the ZI data.

谢谢mt_dialog.

gayan_gamage
离线
最后一次露面:4年9月前
加入:2016-04-28 21:23
你好,

你好,

到上面的同一问题,任何项目的OTA都使用大量空间。有没有办法限制这一点。事实上,我现在不能在我的申请中拥有OTA的纯粹大小。

gayan_gamage
离线
最后一次露面:4年9月前
加入:2016-04-28 21:23
你好,

你好,

我需要将OTA实施到申请。能够在没有任何错误的情况下包括Spotar.h。但我无法用你的Android或iOS应用程序来检测它。广告数据必须自定义(如信标数据),并且不会根据(见下文)user_config.h @ proximity_reporter示例(proximity_reporter样本正常)

#define user_advertise_data“\ x09”\ adv_type_complete_list_16bit_service_ids \ adv_uuid_link_loss_service \ adv_uuid_immediate_alert_service \ adv_uuuid_tx_power_service \ adv_uuuid_spotar_service / *

预期的是Suota应用程序的广告数据?在按下电路中的按钮后,我们只会宣传可连接和无向数据包,并且Suota应用程序必须检测到流。
规格是什么?(我按照培训06教程,只对Sample Proximity_reporter有用)

Regards,
贾桑

mt_dialog.
离线
最后一次露面:2个月5天前
职员
加入:2015-06-08 11:34
嗨gayan_gamage,

嗨gayan_gamage,

There is no standard way to minimize the size of the SUOTA profile, in general we optimise our projects in order not to include unnecessary code since there is a limitation from the OTP and keil. An alternative on this, would be to optimize your application code or (in case you dont use OTP and you use an SPI flash in order to boot which i suppose that you do since you want to use SUOTA) you can have an empty project in your device which will implement only SUOTA additionally to your main project. By modifying the secondary bootloader and read a reserved space in the SPI, which will indicate from which image you want to boot, you can switch between a SUOTA mode and your project.

In order for the SUOTA application to see your device you will have to place in the advertising string the ADV_UUID_SPOTAR_SERVICE (0xF5, 0xFE). If your device is succesfully advertising and has those two bytes in the advertising string, then you should be able to see the device on your phone. Check with a generic application that you can track your advertising string (like Blue Loupe) and that your advertising string has those bytes i ve mentioned.

谢谢mt_dialog.

gayan_gamage
离线
最后一次露面:4年9月前
加入:2016-04-28 21:23
你好,

你好,

谢谢您的帮助。此信息应该是应用程序笔记的一部分......我得到了包含上述字符串的广告字符串,现在检测到服务。但是当我选择固件并尝试上传时(初始化似乎可以:看看附加的图像),应用程序断开连接。做了一个调试,无法真正理解什么原因。

由于我的应用程序代码认为可能存在其他一些问题,我刚刚使用BLE_APP_BAREBONE并创建了另一个宣传上述服务的项目,添加Spotar.h。再次可检测,SPI引脚看起来正常,我得到了相同的断开连接(见附件)。断开连接在更新过程启动后发生并未上载数据

有趣的是Prox_reporter在没有任何问题的情况下工作。这里发生了什么?(我看到prox_reporter使用#include“proxr.h”:但我不需要)。硬件是pan1740灯架

Regards,
贾桑

附件:
mt_dialog.
离线
最后一次露面:2个月5天前
职员
加入:2015-06-08 11:34
嗨gayan_gamage,

嗨gayan_gamage,

你必须把spotar.c spotar_task.c我n the project. Check the sdk_profiles folder and add the previously mentioned files. Also since you are using the barebone example you also have to check the user_modules_config.h file and check the EXCLUDE_DLG_SPOTAR definition, if its a 1 set it to 0, otherwise the SUOTA application part implemented by dialog will be overridden,

谢谢mt_dialog.

gayan_gamage
离线
最后一次露面:4年9月前
加入:2016-04-28 21:23
你好,

你好,

我的程序有一个自定义标题,我需要读取以填补配置。我在0x1eoo上存储了这个,而两个程序图像存储在0x8000&0x13000(请参阅下面的命令:mkimage multi spi secofty_bootloader.bin fw_1.img 0x8000 0x1f000 cfg 0x1e000 multi_part.bin)

配置通过自定义C文件从SPI加载(见附件)。我已经将两个应用程序与SPI的Confi雷竞技安卓下载g加载一个,其中一个没有(在应用程序代码中硬编码)。前者在OTA中导致断开行为,在后者的工作正常。

So it seems the disconnection happens may be due to this additional data about the config header in flash or SPI port opening/init issue the second time. Pls help

regards,
贾桑

gayan_gamage
离线
最后一次露面:4年9月前
加入:2016-04-28 21:23
嗨,似乎

嗨,似乎在通过上面的附加文件最初从闪存(通过SPI)读取配置时,似乎断开连接,然后尝试执行OTA(验证闪存中的附加头数据不是它的原因,如果它是在开始时未读取配置)。在开始,启用SPI,初始化和读取。然后转到掉电模式。所以我不确定为什么在OTA中发生断开,以获得类似的电话。

The initial memory read seems successful as the config loads properly as well

mt_dialog.
离线
最后一次露面:2个月5天前
职员
加入:2015-06-08 11:34
嗨gayan_gamage,

嗨gayan_gamage,

I suppose that the problem lies when shutting down the flash after reading the data from the configuration file. Since your use the spi_flash_power_down(), the suota application doesn't powers up the flash, you will have to explictly set your flash to exit sleep by using the spi_flash_release_from_power_down() in the on_spotar_status_change. In case that this doesn't help, i would recommend checking the app_read_image_headers() function in order to check if somehow the product header is corrupted when the spi data read occurs or if anything of the custom header that you use doesn't comply with the custom header.

谢谢mt_dialog.