嗨,对话!
我的型材接收器由DA14580组成,外部SPI闪光(GPIO已连接正确),16 MHz晶体(NO 32 KHz晶体)。制作这个:
SmartSippets将product_header.txt刻录到“Memory header/NVDS Programmer”的内存偏移量(十六进制):0x1F000。
product_header.txt是:
地址大小(字节)参数值
0x1f000 2签名7052
0x1F002 2版本1234
0x1F004 4抵销1 00800000
0x1f008 4 offset2 00300100
将FW_1.IMG刻录到SPI闪存程序员,SPI闪存偏移(十六进制)为0x8000。
Buthededudy_bootloader.hex到SPI闪存程序员,SPI闪存偏移(十六进制)为0x0000。
现在我使用Suota-1.1-释放Android APK,找不到蓝牙,也是我的Suota接收器。
如果product_header.txt,fw_1.img和secondary_bootloader.hex是corrext,我的步骤是对的?你能提供细节吗?
设备:
嗨,比恩
我不明白你是如何创建的product_header.txt。
请按照以下说明与索塔合作。
1) 创建第一个映像:mkimage.exe single fw\u 1.bin fw\u 1.h fw\u 1.img enc
2)创建第二个图像:mkimage.exe单个fw_2.bin fw_2.h fw_2.img eng(您也可以使用第一个图像)
3) 为整个SPI内存创建映像:mkimage.exe multi-SPI secondary\u bootloader.bin fw\u 1.img 0x8000 fw\u 1.img 0x13000 0x1F000 multipart.bin
4) 使用智能片段将其烧录到flash中。
对于文件fw\u 1,2.h,请从\dk\u apps\src\dialog\include\ble\u 580\u sw\u version.h重命名该文件
请试试这个,让我们知道。
谢谢mt_dialog.
嗨,mt_dialog!
在offset#0x00烧入闪存中的mullipart.bin吧?
谢谢你的帮助!
嗨,比恩
先擦除闪存,然后是,将multipart.bin刻录到地址为0的闪存中,当windows提示您可引导时,选择否。
之后,您应该重置您的设备,它应该开始通告。
谢谢mt_dialog.
嗨,mt_dialog!
谢谢!现在我正在成功。
但这些是帮助的一个问题:
我有两个IMG文件,他们的MAC地址不同,80:EA:CA:00:00:01和80:EA:CA:00:00:11:01。
答:一个是80:EA:CA:00:00:01,它用于制作用于型话的多部分。Suota-1.1-Release .Apk发送其Mac为80:EA:00:00:11:01到Suota接收器的文件,
但是,当Suota完成时,Suota接收器的MAC地址为80:EA:CA:00:00:01。这似乎是不正确的!
B。一个是80:EA:CA:00:11:01,用于为SUOTA接收器生成multipart.bin。SUOTA-1.1-RELEASE.apk将其MAC为80:EA:CA:00:00:01的文件发送给SUOTA接收器,
但是,当Suota完成时,Suota接收器的MAC地址为80:EA:CA:00:00:01。这似乎没问题!
我想知道第一个病例的原因是什么?
期待您的回复!
嗨,比恩,
您是否从nvds.c文件更改DB地址的值?
请尝试更改设备的其他凭据,如名称,也尝试从BLE_580_SW_VERSION更改DA14580_SW_VERSVERS,让我们知道会发生什么。
谢谢mt_dialog.
嗨,mt_dialog!
我使用的文件是为其他文件提供的。我不知道da14580_sw_version是否已更改。
之前,我从SDK3.0.6编译了Reporter_FH,但不支持Suota。
你能告诉我如何创建一个苏达项目吗?如果需要注意细节?
嗨,比恩,
您可以用作邻近或智能标签参考设计的示例,它们都支持型话能力。智能标记有点敏捷。确保已启用DA14580_Config中的Spota配置文件。另请参阅智能标记参考应用程序DOC以获取更多说明。
谢谢你的对话。
嗨,mt_dialog!
我能行!太兴奋了!非常感谢你!
但我有另一个问题:
根据智能标签参考文档UM-B-018,我们知道图像(内存)银行仅接受3个值:0,1或2:
1:使用第一个银行,起始地址如产品标题所示。
2:使用产品标题中所示的启动地址使用第二个存储器。
0:将图像刻录到保存最旧图像的库中。
在我的实践中,图像库的值为0或1,相应的字段偏移#1 0x8000。值为2,相应的字段是偏移#2 0x13000。
我不知道我的唢呐,对吧?还是错了?
嗨,mt_dialog!
你能帮我解决这个问题吗?
期待您的回复!
嗨,比恩
您的示例中图像库的值为0或1是什么意思?
智能手机应用程序的选择是:
1) 将新图像放入内存组1(内存组1的偏移量为0x8000)。
2) 将新图像放入内存组2(内存组2的偏移量为0x13000)。
3)将新图像放在最旧的图像的顶部(例如包含最旧图像的银行号码1)。
偏移量0x00000处是辅助引导加载程序,偏移量0x1F000处是产品头。
在接下来的一周内,将会有一个关于SUOTA的新的发布应用说明。
谢谢mt_dialog.
嗨,mt_dialog!
该版本的android应用程序是SUOTA的v1.1版。设置SUOTA参数时,需要设置一个参数,即图像(内存)库,它有三个值:0、1和2。
谢谢您!
嗨,比恩
是的,选择文件后,您希望将其下载到您的设备后,Android应用程序将让您选择将其放置图像的内存库...... 1。memory_bank_1(0x8000), 2. 内存组2(0x13000)或默认选项0。其中新映像将替换内存中最旧的映像,该映像位于内存库1或内存库2中。
谢谢mt_dialog.
嗨,mt_dialog!
我知道你说的话。
在我的实践中,为android应用程序设置参数时:
设置memorybank=0或memorybank=1,新映像将替换内存库所在的位置(0x8000)。
设置MemoryBank = 2,新图像将替换内存库(0x13000)的位置。
现在我想知道上面的现象是正确的吗?
嗨,比恩,
是的,正常,当您下载两个图像(MultiPart.bin)设备(重新启动后)负荷第一张图片(bank1),当你用一张新图片(通过suota)更新图片时,它将使用第一张图片。然后当你再次更新时(通过索塔)设备将知道该设备的新图像是最新的下载图像,并将使用新的旧图像替换最旧的图像。实质上,它遵循每个图像已更新。
谢谢mt_dialog.
嗨,MT\u Dialog,
关于上面的帖子,如果我们在内存库0中有2个不同的图像,内存库中的IMG_1和内存库1中的IMG_2。有没有办法选择存储体以选择适当的IMG_2。
谢谢!
嗨Iqspring,
您可以看一下Exedute_Bootloader代码并修改它以便设置适当的条件以加载所需的图像文件。
谢谢mt_dialog.