自14583年芯片上有1024K闪存,我想也许这方面可以通过空气更新。但在文件中,我找不到CICRIBE的COSHOWNING DATASHEET如何更新DA14583.I上面的上下文,你有没有像“AN-B-003:DA14580在AIR(SPOTA)上修补的软件(SPOTA)“,讲述如何在AIT上更新软件。但不仅在DA14580中,也在DA14583中
设备:
自14583年芯片上有1024K闪存,我想也许这方面可以通过空气更新。但在文件中,我找不到CICRIBE的COSHOWNING DATASHEET如何更新DA14583.I上面的上下文,你有没有像“AN-B-003:DA14580在AIR(SPOTA)上修补的软件(SPOTA)“,讲述如何在AIT上更新软件。但不仅在DA14580中,也在DA14583中
嗨Shezhe9,
14583和Suota没有专门的申请文件。但我想你能够做到这一点,就像DA14580一样,差异只是SPI的引脚配置。您可以尝试尝试使用SDK5的邻近应用。
谢谢mt_dialog.
谢谢,我注意到这个芯片Contian 1K闪存WtiH SPI总线onchip。这意味着它刚刚将内部闪光作为外部SPI闪光灯。
HI Shezhe9,你可能也想阅读AN-B-010,这是SUOTA的申请,并解释更详细。正如mario提到的,它引用了14580,但14583只是14580+FLASH内部),所以相同的SUOTA方案可以工作(如14580中所述),在SDK5中,它包含在14583接近记者项目的项目示例中。
BR JE_DIalog
谢谢je先生。还有另一个问题,dou你在14580代理方面和主机侧获得了任何偶像顺序的代码,如iOS应用程序或和riod应用程序?
嗨Shezhe9,
您可以在Proximity_reporter和智能标记参考设计中找到Suota配置文件的实现。就主机侧已发送邮件。
谢谢mt_dialog.
你好,
Suota模块似乎在5KB左右使用,这是推动我的实施过去32K。这是一个最小的.implementation。端口选择,如果固定,则不需要的所有内容。此外,在该示例中的接近模块的使用是什么。我认为自定义实施是必需的吗?
问候
Gayan
嗨gayan_gamage,
没有较小版本的Suota实现。关于示例的接近模块,我不太完全得到你的意思,接近示例包括苏格达配置文件
为了通过空中更新,现有的接近固件。如果您只想在自定义设计中使用SUOTA配置文件,则不必添加邻近性配置文件、电池或邻近性示例实现的其他配置文件。
谢谢mt_dialog.
亲爱的mt_dialog,
我还希望使用DA14583和Window PC中的DAT14583和Dialog USB加密狗进行oat函数。
但我无法理解测试环境。
1)将FW_MULTI_PART_SPI.BIN文件放入DA14583中。
2)我应该为Dialog USB加密狗执行哪个项目?
3)哪个程序Shoud在窗口PC中执行?
- >我为'suota发起者进行了一个smartsnippets程序。但是,我无法连接COM端口,因为连接按钮未激活。
嗨Hogyunkim,
2)我想你想用加密狗作为一个中心和583作为一个设备,没有必要下载Dongle上的任何FW,智能片段在连接时会这样做(Whn在智能片段中击中连接。)。
3)你应该运行智能片段和OTA应用程序,这将允许你使用软件狗作为一个中央和下载SUOTA中央fw到软件狗,你将不得不使用UART接口,以便“连接”选项可用。
谢谢mt_dialog.
亲爱的对话框,
我无法使用我的加密狗激活“连接”按钮。
在上一段时间,我可以连接,但现在我无法连接到我的加密狗。
是否有任何固件来执行USB Dongle?
我已经选择了正确的COM端口USB donlge端口。
此致,
嗨hogynkim,
如果连接按钮在Smart Snippets OTA服务被停用是因为您使用JTAG接口来连接工具,而不是UART端口。当智能片段启动时,请选择普通UART模式(而不是UART/SPI模式)。打开OTA服务后,点击“连接按钮”,智能片段将显示“加载固件,请等待....”,之后应该显示“固件加载成功”,并将启动扫描程序。扫描过程将自动完成。
谢谢mt_dialog.
谢谢你的评论。
我用SUOTA成功下载了一个新的图像到DA14583板。
因此,我将OTA配置文件合并到DSPS项目
在那之后,我再次用合并的DSPS项目进行测试。
但我从下面的SmartSnippet获取了消息。
我做错什么了?我参考了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
[信息@ 17-03-14 18:46:37]内存信息:
0字节
[错误@ 17-03-14 18:46:37] spotar_inval_product_hdr
[INFO @17-03-14 18:46:37]固件下载失败。
[INFO @17-03-14 18:46:37]目标设备已断开连接。请尝试重新建立链接。
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
此致,
嗨Hogyunkim,
您获得的错误表明Flash中的产品标题出现了出现问题,这是您可以拥有这种错误的唯一原因。您的MultiPart图像中是否有产品标题(在地址0x1f000),如果有一个,它是否有适当的产品标题签名0x70和0x52?
谢谢mt_dialog.
亲爱的对话框,
我检查了产品标题,我收到了以下数据
[0x1f000] 70 52 00 00 00 00 80 00 00 00 00
[0x1F008] 00 30 01 00 FF FF FF
[0x1F010] FF FF FF FF FF FF FF
......
我认为多部分图像是对的。
我怀疑DA14583中的闪存的SPI通信。
我在DSPS项目的sdk_driver文件夹中包含了spi.c和spi_flash.c文件。
我在user_periph_setup.h文件中配置SPI_PORTS和SPI_PINS。
DSP项目中有任何修复点吗?
此致,
嗨Hogyunkim,
您是否申请了on_spotar_status_change()函数,以便由于您的设备是583,以便启用闪光灯,以便应用程序启用闪存?
您将能够在Prox_reporter示例中找到实现,这是函数的实现代码:
Void on_spotar_status_change(const uint8_t spotar_event)
{
#f定义(__ 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.