嗨,对话
我对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编译信息:
链接......
程序尺寸:CODE = 22708 RO-DATA = 3140 RW-DATA = 128 ZI-DATA = 8008
从自己:创建十六进制文件......
“。\ out_580 \ prox_reporter_580.axf” - 0错误,1警告。
设备:
嗨祖马,
1. Suota文档中的指示不再有效,Suota应用程序在大多数Android版本中应该稳定。
2.我不太明白,任何应用程序的总大小由Keil表示,在建筑过程keil的末尾将报告代码,ro,rw和zi数据中的程序大小。二进制文件的总大小不包括ZI数据。
谢谢mt_dialog.
你好,
到上面的同一问题,任何项目的OTA都使用大量空间。有没有办法限制这一点。事实上,我现在不能在我的申请中拥有OTA的纯粹大小。
你好,
我需要将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有用)
问候,
贾桑
嗨gayan_gamage,
没有标准的方法来最小化Suota简介的大小,一般来说我们优化我们的项目,以便不包括不必要的代码,因为OTP和Keil有一个限制。有关这一点的替代方案,是为了优化您的应用程序代码或(如果您不使用OTP,并且您使用SPI Flash以启动我要使用Suota以来,您可以使用空项目您的设备将仅在您的主项目中仅实施课程。通过修改辅助引导加载程序并读取SPI中的保留空间,这将指示您要引导的图像,可以在拟议模式和项目之间切换。
为了让Suota应用程序看到您的设备,您必须在广告字符串中放置ADV_UUID_SPOTAR_SERVICE(0xF5,0xFE)。如果您的设备成功广告并在广告字符串中具有这两个字节,那么您应该能够在手机上看到设备。使用通用应用程序检查您可以跟踪广告字符串(如蓝色LOUPE),并且您的广告字符串具有我提到的那个字节。
谢谢mt_dialog.
你好,
谢谢您的帮助。此信息应该是应用程序笔记的一部分......我得到了包含上述字符串的广告字符串,现在检测到服务。但是当我选择固件并尝试上传时(初始化似乎可以:看看附加的图像),应用程序断开连接。做了一个调试,无法真正理解什么原因。
由于我的应用程序代码认为可能存在其他一些问题,我刚刚使用BLE_APP_BAREBONE并创建了另一个宣传上述服务的项目,添加Spotar.h。再次可检测,SPI引脚看起来正常,我得到了相同的断开连接(见附件)。断开连接在更新过程启动后发生并未上载数据
有趣的是Prox_reporter在没有任何问题的情况下工作。这里发生了什么?(我看到prox_reporter使用#include“proxr.h”:但我不需要)。硬件是pan1740灯架
问候,
贾桑
嗨gayan_gamage,
您必须在项目中放置Spotar.c和spotar_task.c。检查SDK_Profiles文件夹并添加前面提到的文件。此外,由于您使用的鞍骨示例,您还必须检查user_modules_config.h文件并检查exclude_dlg_spotar定义,如果它的a 1设置为0,否则将覆盖由对话框实现的Suota应用程序部分,
谢谢mt_dialog.
你好,
我的程序有一个自定义标题,我需要读取以填补配置。我在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中导致断开行为,在后者的工作正常。
因此,似乎断开连接可能是由于闪存或SPI端口打开/初始发行版中的配置标题的附加数据。请帮助
问候,
贾桑
嗨,似乎在通过上面的附加文件最初从闪存(通过SPI)读取配置时,似乎断开连接,然后尝试执行OTA(验证闪存中的附加头数据不是它的原因,如果它是在开始时未读取配置)。在开始,启用SPI,初始化和读取。然后转到掉电模式。所以我不确定为什么在OTA中发生断开,以获得类似的电话。
初始内存读取似乎是成功的,因为配置加载得当
嗨gayan_gamage,
我想在从配置文件读取数据后关闭闪光灯时,问题在于。自从您使用SPI_FLASH_POWER_DOWN(),SUOTA应用程序不会向闪存提供向闪存,您必须通过在on_spotar_status_change中使用spi_flash_release_from_power_down()来默认将闪光灯设置为退出休眠状态。如果这没有帮助,我建议检查app_read_image_headers()函数以检查在SPI数据读取的情况下是否有某种方式损坏,或者您使用的自定义标题的任何内容不符合要求自定义标题。
谢谢mt_dialog.