由于14583芯片上有1024k的flash,我想这个区域可以空运更新。但是在文档中,我找不到相应的数据表来描述如何更新DA14583中的上下文。我想知道你是否有像“AN-B-003: DA14580空中软件补丁(SPotA)”这样的文件,告诉如何在ait上更新数据软件。但不仅在DA14580,也在DA14583
关键词:
设备:
由于14583芯片上有1024k的flash,我想这个区域可以空运更新。但是在文档中,我找不到相应的数据表来描述如何更新DA14583中的上下文。我想知道你是否有像“AN-B-003: DA14580空中软件补丁(SPotA)”这样的文件,告诉如何在ait上更新数据软件。但不仅在DA14580,也在DA14583
嗨shezhe9,
没有专门针对14583和SUOTA的申请文件。但是我认为你能够做那就像da14580,区别只是SPI的引脚配置。您可以尝试使用SDK5的邻近应用程序。
由于MT_dialog
谢谢,我注意到这个芯片包含1K Flash和spi总线在芯片上。这意味着它把内部flash也作为外部spi flash。
嗨Shezhe9,您可能还想读取AN-B-010,即Suota的应用程序,并以更详细的解释.As Marios提及,它引用14580,但是14583只是14580 +闪存内部),所以相同拟议方案工作(如14580年的文件),在SDK5中,它包含在14583个近距离记者项目的项目示例中。
BR JE_DIALOG.
由于我先生。还有一个问题,在14580代理端和主机端,如ios app或android app,你有任何SUOTA源代码的例子吗?
嗨shezhe9,
您可以在proximity_reporter和智能标记参考设计中找到SUOTA配置文件的实现。在主机端已经发送了一封邮件。
由于MT_dialog
你好,
suota模块似乎使用了大约5KB,这使得我的实现超过了32K。有一个最小的。实现这一点。端口选择和所有这些都是不需要的,如果这是固定的。另外,在这个例子中,proximity模块的用途是什么?我不认为这是一个定制实现所必需的?
问候
贾桑
嗨gayan_gamage,
SUOTA实现没有更小的版本。关于示例的接近模块,我不太明白你的意思,接近示例包括了SUOTA配置文件
为了通过空中更新,现有的邻近固件。如果您只需要自定义设计中的Suota配置文件,您就不必添加了邻近示例实现的接近配置文件或电池或其他配置文件。
由于MT_dialog
亲爱的MT_dialog,
我还想测试一个OAT功能DA14583和对话USB狗在窗口PC。
但是我不能理解测试环境。
1)将fw_multi_part_pi .bin文件放入DA14583中。
我应该为对话USB狗执行哪个项目?
我应该在windows电脑上执行哪个程序?
我为“SUOTA启动器”运行了一个SmartSnippets程序。但是我不能连接COM端口,因为连接按钮没有激活。
嗨hogyunkim,
2)我假设你想使用软件狗作为一个中心和583作为一个设备,没有必要下载任何fw上的软件狗,智能片段将做这个连接(当你击中智能片段连接)。
3)您应该运行智能片段和OTA应用程序,这将允许您使用加密狗作为中央,并将Suota Central FW下载到加密狗中,您必须使用UART接口,以便“连接”选项能得到的。
由于MT_dialog
亲爱的对话框,
我不能用我的狗狗激活"连接"按钮。
以前我可以连接,但现在我不能连接我的狗。
USB加密狗有固件要执行吗?
我已经使用USB Donlge端口选择了正确的COM端口。
最好的问候,
嗨Hogynkim,
如果智能代码段OTA服务中的连接按钮被停用是因为您正在使用JTAG接口,以便与工具连接而不是UART端口。当智能片段开始时,请选择普通UART模式(不是UART / SPI模式)。在开放OTA服务并点击“连接按钮”后,智能片段将指示“加载固件,请稍候......”之后它应该指示“成功加载的固件”,它将开始扫描过程。扫描过程将自动完成。
由于MT_dialog
谢谢你的评论。
我已成功将新图像与Suota下载到DA14583电路板。
所以,我把在线旅行社的资料合并到DSPS项目中
之后,我用合并的DSP项目再次测试。
但我从下面的SmartSnippets得到了消息。
我错了什么?我参考了关于“如何将Suota配置文件添加到我的SDK 5.0.3应用程序的注释?”常见问题解答的页面。
我还检查了下载图像是否正常。
==============================================================================.
[信息@ 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字节
spotar_inval_product_hdr . [error @17-03-14 18:46:37
[info @ 17-03-14 18:46:37]固件下载失败。
[信息@ 17-03-14 18:46:37]目标设备已断开连接。请尝试重新建立链接。
==============================================================================.
最好的问候,
嗨hogyunkim,
你得到的错误表明在flash中的产品标题有问题,这是你能有这种错误的唯一原因。在您的多部分映像(地址0x1F000)中是否有一个产品头,如果有,它是否具有正确的产品头签名0x70和0x52 ?
由于MT_dialog
亲爱的对话框,
我检查了产品标题,得到了下面的数据
[0x1F000] 70 52 00 00 00 80 00 00
[0x1F008] 00 30 01 00 FF FF FF FF FF
[0x1F010] FF FF FF FF FF
...
我认为多部分图像是正确的。
我怀疑在DA14583的SPI通信闪存。
我在DSP项目中包含SDK_Driver文件夹中的SPI.C和SPI_FLASH.C文件。
我在user_peripher_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)
{
#if define (__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 / / (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);
你能告诉我这个针与OTA操作有关的原因吗?
我想知道其他影响OTA运行的引脚。
我使用DA14580DEVKT-P_VB与DA14583芯片。
我使用了一个带SPI通信的闪光区。
我也没有与PIN0_3连接。
最好的问候,
嗨hogyunkim,
由于您使用的是583(并且您已经在您的DSP应用程序中定义了使用的DEV套件是583),如果583被选为运行设备,则GPIO0_3从SUOTA SW中的引脚没有使用。Suota使用的是583的闪光灯的引脚(2_0 clk / 2_3 cs / 2_4 miso / 2_9 mosi)。在580的情况下,P0_3用作外部闪光的CS。
由于MT_dialog
亲爱的对话框,
我也知道你的评论。
所以,在GPIO0_3引脚上进行了奇怪的SUOTA操作。
如果您测试以下环境,那么您可以重现此Hapamenon。
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模块的引脚)您有两个引脚同时连接到一个SPI模块。当发生这种情况时(两个引脚都有PID_SPI_DI,所以您在一个输入中有两个源),引脚的功能性将分配给具有较小GPIO索引的GPIO,因此到03端口引脚(以及拟文调原样工作)。您可以在您的情况下做些什么,因为我想在583上有一个额外的SPI设备,是申请Suota所做的(或多或少)就涉及所关注的配置,不要使用特定函数的PeripH_Init()函数在PID_GPIO中配置函数,而是将它们稍后使用它们,在完成将引脚DE-CONGINION FING THE PID_GPIO FUNCTIONS完成后立即应用相应的配置。
由于MT_dialog
亲爱的对话框,
感谢您的回复。
我理解你的看法。
你的评论是,如果我想使用OTA函数与SPI通信,那么我不使用PID_SPI_DI定义,或者我必须在完成OTA函数后使用PID_SPI_DI定义。
我还有一个问题。
然后PID_SPI_CLK,PID_SPI_EN,PID_SPI_DO定义对OTA函数没有影响?
最好的问候,
嗨hogyunkim,
不,它不会影响其他SPI引脚,因为这些引脚和被配置为输出功能,而不是作为对SPI模块的输入。
由于MT_dialog