嗨,对话!
我的型材接收器由DA14580组成,外部SPI闪光(GPIO已连接正确),16 MHz晶体(NO 32 KHz晶体)。制作这个:
SmartSippets将Product_Header.txt刻录到“Memory Header / NVDS程序员”的内存偏移(HEX):0x1f000。
product_header.txt是:
地址大小(字节)参数值
0x1f000 2签名7052
0x1f002 2版本1234
0x1f004 4 offset1 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单个fw_1.bin fw_1.h fw_1.img enc
2)创建第二个图像:mkimage.exe单个fw_2.bin fw_2.h fw_2.img eng(您也可以使用第一个图像)
3)为整个SPI内存创建图像:mkimage.exe多SPI辅助_BOOTLOODER.BIN FW_1.IMG 0x8000 fw_1.img 0x13000 0x1f000 multipart.bin
4)使用智能片段将其刻录到Flash中。
对于文件fw_1,2.h,请重命名文件\ dk_apps \ src \ dialog \ include \ ble_580_sw_version.h
请尝试一下,让我们知道。
谢谢mt_dialog.
嗨,mt_dialog!
在offset#0x00烧入闪存中的mullipart.bin吧?
谢谢你的帮助!
嗨豆
首先擦除闪存,是的,将multipart.bin刻录到地址0上,当Windows Promts您可启动时,请选择否。
之后,您应该重置您的设备,它应该开始通告。
谢谢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-1.1-Release .Apk发送其Mac为80:EA:00:00:01到拟议接收器的文件,
但是,当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。
嗨,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应用程序的版本是v1.1 for suota。设置Suota参数时,有一个需要参数是图像(内存)银行设置,它有三个值:0,1和2。
谢谢你!
嗨豆
是的,选择文件后,您希望将其下载到您的设备后,Android应用程序将让您选择将其放置图像的内存库...... 1。memory_bank_1(0x8000.),2. Mevert_Bank_2(0x13000)或默认选择0.如果新图像将替换在内存BANK_1或MEMORY BANK_2中位于的内存中的最旧图像。
谢谢mt_dialog.
嗨,mt_dialog!
我知道你说的话。
在我的练习中,在为Android应用程序设置参数时:
设置MemoryBank = 0或内存库= 1,新图像将替换内存库(0x8000)的位置。
设置MemoryBank = 2,新图像将替换内存库(0x13000)的位置。
现在我想知道上面的现象是正确的吗?
嗨豆,
是的,正常,当您下载两个图像(MultiPart.bin)设备(重新启动后)负荷第一个图像(bank1),当您使用新的一个(通tuota)更新图像时,它将使用第一个银行。然后再次更新时(通过套子)设备将知道该设备的新图像是最新的下载图像,并将使用新的旧图像替换最旧的图像。实质上,它遵循每个图像已更新。
谢谢mt_dialog.
嗨mt_dialog,
关于上面的帖子,如果我们在内存库0中有2个不同的图像,内存库中的IMG_1和内存库1中的IMG_2。有没有办法选择存储体以选择适当的IMG_2。
谢谢!
嗨Iqspring,
您可以看一下Exedute_Bootloader代码并修改它以便设置适当的条件以加载所需的图像文件。
谢谢mt_dialog.