由于14583芯片上有1024k闪存,我想也许这个区域可以空运更新。但是在文档中,我找不到描述如何更新DA14583中的上下文的协同响应数据表。我想知道你们有没有像“AN-B-003: DA14580空中软件补丁(SPotA)”这样的文件,告诉我们如何通过ait升级数据软件。不仅在DA14580中,也在DA14583中
设备:
由于14583芯片上有1024k闪存,我想也许这个区域可以空运更新。但是在文档中,我找不到描述如何更新DA14583中的上下文的协同响应数据表。我想知道你们有没有像“AN-B-003: DA14580空中软件补丁(SPotA)”这样的文件,告诉我们如何通过ait升级数据软件。不仅在DA14580中,也在DA14583中
嗨shezhe9,
没有针对14583和SUOTA的申请文件。但是我认为你能够像da14580那样做,区别只是SPI的引脚配置。您可以尝试尝试SDK5的接近性应用程序。
由于MT_dialog
谢谢,我注意到这个芯片上有1K Flash和spi总线。这意味着它只是把内部flash作为外部spi flash。
HI Shezhe9,你可能也想阅读AN-B-010,这是SUOTA的申请,并解释更详细。正如mario提到的,它引用了14580,但14583只是14580+FLASH内部),所以相同的SUOTA方案可以工作(如14580中所述),在SDK5中,它包含在14583接近记者项目的项目示例中。
BR JE_DIalog
由于我先生。另外一个问题,窦你有任何SUOTA源代码示例在14580代理端和主机端,如ios app或android app?
嗨shezhe9,
可以在proximity_reporter和智能标记参考设计中找到SUOTA配置文件的实现。就主机端而言,已经发送了一封邮件。
由于MT_dialog
你好,
suota模块似乎使用了大约5KB,这使得我的实现超过了32K。是否有一个最小值。实现这一点。端口选择和所有这些都是不需要的,如果这是固定的。另外,示例中接近模块的用途是什么。我不认为这是自定义实现所必需的?
问候
Gayan
嗨gayan_gamage,
SUOTA实现没有更小的版本。关于示例的接近性模块,我不太明白你的意思,接近性示例包括SUOTA配置文件
为了通过空中更新,现有的接近固件。如果您只想在自定义设计中使用SUOTA配置文件,则不必添加邻近性配置文件、电池或邻近性示例实现的其他配置文件。
由于MT_dialog
亲爱的MT_dialog,
我还想测试一个OAT功能与DA14583和对话USB加密狗在窗口PC。
但是我不理解测试环境。
1)将fw_multi_part_spi.bin文件放入DA14583。
2)哪个项目应该执行对话USB狗?
3)我应该在windows PC中执行哪个程序?
->我运行了一个SmartSnippets程序' SUOTA启动器。但是我不能连接一个COM端口,因为连接按钮没有激活。
嗨hogyunkim,
2)我认为你想使用软件狗作为一个中心和583作为一个设备,没有必要下载任何fw上的软件狗,智能片段将做的连接(当你点击连接在智能片段)。
3)你应该运行智能片段和OTA应用程序,这将允许你使用软件狗作为一个中央和下载SUOTA中央fw到软件狗,你将不得不使用UART接口,以便“连接”选项可用。
由于MT_dialog
亲爱的对话框,
我无法用我的适配器激活连接按钮。
以前,我可以连接,但现在我不能连接到我的狗。
是否有任何固件执行USB适配器?
我已经选择了正确的COM端口USB donlge端口。
最好的问候,
嗨hogynkim,
如果连接按钮在Smart Snippets OTA服务被停用是因为您使用JTAG接口来连接工具,而不是UART端口。当智能片段启动时,请选择普通UART模式(而不是UART/SPI模式)。打开OTA服务后,点击“连接按钮”,智能片段将显示“加载固件,请等待....”,之后应该显示“固件加载成功”,并将启动扫描程序。扫描过程将自动完成。
由于MT_dialog
谢谢你的评论。
我用SUOTA成功下载了一个新的图像到DA14583板。
因此,我合并了OTA配置文件到DSPS项目
在那之后,我再次用合并的DSPS项目进行测试。
但我从下面的SmartSnippets得到了消息。
我做错什么了?我参考了FAQ页面上“如何将SUOTA配置文件添加到我的SDK 5.0.3应用程序?”的评论。
我也检查了下载的图片是否正常。
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
[INFO @17-03-14 18:46:01]正在与目标设备建立链路…
[INFO @17-03-14 18:46:02]与目标设备的链路已建立。
[INFO @17-03-14 18:46:02]特征发现开始。
[INFO @17-03-14 18:46:03]特征发现完成。
[INFO @17-03-14 18:46:37]固件下载已启动…
[info @17-03-14 18:46:37] spotar_img_started
[INFO @17-03-14 18:46:37]内存信息:
0字节
[error @17-03-14 18:46:37
[INFO @17-03-14 18:46:37]固件下载失败。
[INFO @17-03-14 18:46:37]目标设备已断开连接。请尝试重新建立链接。
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
最好的问候,
嗨hogyunkim,
你得到的错误表明flash中的产品头有问题,这是你会有这种错误的唯一原因。在你的多部分图像中是否有一个产品标头(地址为0x1F000),如果有,它是否有正确的产品标头签名0x70和0x52 ?
由于MT_dialog
亲爱的对话框,
我检查了产品标题,得到了下面的数据
[0x1F000] 70 52 000 000 000 80 000 000
[0x1F008] 00 30 01 00 FF FF FF
[0x1F010] FF FF FF FF FF
…
我认为多部分图像是正确的。
我怀疑DA14583中与闪存的SPI通信。
我在DSPS项目的sdk_driver文件夹中包含了spi.c和spi_flash.c文件。
我在user_外围_setup.h文件中配置了SPI_PORTs和SPI_PINs。
DSPS项目中有固定点吗?
最好的问候,
嗨hogyunkim,
你是否应用了on_spotar_status_change()函数来启用flash,因为你的设备是583以便应用程序启用flash ?
你可以在prox_reporter示例中找到实现,以下是该函数的实现代码:
Void on_spotar_status_change(const uint8_t spotar_event)
{
#如果定义了(__DA14583__) && (!SPOTAR_SPI_DISABLE)
Int8_t man_dev_id = 0;
man_dev_id = spi_flash_enable(SPI_EN_GPIO_PORT, SPI_EN_GPIO_PIN);
if (man_dev_id == SPI_FLASH_AUTO_DETECT_NOT_DETECTED)输出说明
{
//设备未被识别。使用默认参数。
//或者,错误可以在这里断言。
spi_flash_init (SPI_FLASH_DEFAULT_SIZE SPI_FLASH_DEFAULT_PAGE);
}
if(spotar_event == SPOTAR_END)
{
//关闭SPI Flash
spi_flash_power_down ();
}
# endif
}
# endif / / (BLE_SPOTA_RECEIVER)
/ / / @}应用
由于MT_dialog
亲爱的对话框,
我已经将此代码放入user_sps_device.c文件中。
我找到了根本原因,为什么我的DSPS项目不能工作的OTA操作。
原因是我将GPIO0_3设置为以下。
=> GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_3, INPUT_PULLDOWN, PID_SPI_DI, false);
你能告诉我为什么这个pin和OTA操作有关吗?
我想知道其他影响OTA运营的引脚。
我使用DA14580DEVKT-P_VB与DA14583芯片。
我用的是带有SPI通信的闪存区。
我也没有连接任何PIN0_3的连接。
最好的问候,
嗨hogyunkim,
由于您使用的是583(和你在需求方定义应用程序所使用的开发工具是583)没有使用GPIO0_3 SUOTA sw的针,如果583被选中作为一个运行设备使用的针SUOTA别针的flash 583 (2 _0 CLK / 2 _3 CS / 2 _4味噌/ 2 _9莫西人)。对于580,则使用P0_3作为外部flash的CS。
由于MT_dialog
亲爱的对话框,
我也知道你的评论。
因此,GPIO0_3引脚上的锁塔操作是很奇怪的。
如果您测试下面的环境,那么您可以重现这种现象。
1) D14580DEVKT-P_VB DA14583ATDB-P
2) ble_app_ota.uvprojx
+ GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_3, INPUT_PULLDOWN, PID_SPI_DI, false);在set_pad_functions()函数。
嗨hogyunkim,
是的我能复制你正在经历什么,似乎当你配置销PID_SPI_DI当SUOTA运作(SPI模块的配置针当它开始与flash)的交互有两个针,同时连接到一个SPI模块。当这样的事情发生(两个引脚都有PID_SPI_DI,所以你有两个源在一个输入)引脚的功能将被分配给GPIO有更小的GPIO索引,因此到03端口引脚(这就是为什么SUOTA不工作)。在你的情况下,你可以做什么,因为我知道你想有一个额外的SPI设备上的583是应用相同的事情,SUOTA做(或多或少)至于配置的引脚是有关的,不要用特定的功能来配置你的引脚,而是将它们作为PID_GPIO,一旦你要使用它们,一旦你完成对PID_GPIO功能的引脚的反配置,就应用相应的配置。
由于MT_dialog
亲爱的对话框,
谢谢你的回复。
我理解你的看法。
你的评论是,如果我想使用带有SPI通信的OTA函数,那么我就不使用PID_SPI_DI定义,或者在完成OTA函数后必须使用PID_SPI_DI定义。
我还有一个问题。
那么PID_SPI_CLK、PID_SPI_EN、PID_SPI_DO定义对OTA功能没有影响吗?
最好的问候,
嗨hogyunkim,
不,它不会影响其他SPI引脚,因为那些引脚和配置为输出功能,而不是作为SPI模块的输入。
由于MT_dialog