Hi,Dialog!
My SUOTA Receiver is composed of DA14580,external SPI Flash (GPIO has been connected correctly), and 16 MHZ crystals (no 32 KHZ crystals). Making this:
SmartSippets将product_header.txt刻录到“Memory header/NVDS Programmer”的内存偏移量(十六进制):0x1F000。
product_header.txt is :
Address Size (bytes) Parameter Value
0x1F000 2 signature 7052
0x1F002 2版本1234
0x1F004 4抵销1 00800000
0x1F008 4 offset2 00300100
Burn fw_1.img to the SPI Flash Programmer, the SPI Flash memory Offset(HEX) is 0x8000.
Burn secondary_bootloader.hex to the SPI Flash Programmer, the SPI Flash memory Offset(HEX) is 0x0000.
Now I use the SUOTA-1.1-RELEASE Android APK, don't find the Bluetooth, also is My SUOTA Receiver.
If the product_header.txt , fw_1.img and secondary_bootloader.hex are corrext , my step is right? Can you give the detail?
嗨,比恩
I cant't understand how you 've created the product_header.txt.
请按照以下说明与索塔合作。
1) 创建第一个映像:mkimage.exe single fw\u 1.bin fw\u 1.h fw\u 1.img enc
2) Create the second image: mkimage.exe single fw_2.bin fw_2.h fw_2.img enc (you can use the first image as well)
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重命名该文件
请试试这个,让我们知道。
Thanks MT_dialog
Hi,MT_dialog!
Burn the multipart.bin into flash at offset #0x00,right?
Thank you for help!
嗨,比恩
先擦除闪存,然后是,将multipart.bin刻录到地址为0的闪存中,当windows提示您可引导时,选择否。
After that you should reset your device and it should start advertise.
Thanks MT_dialog
Hi,MT_dialog!
谢谢您!Now I'm successeful.
But these is one question for help:
I have two img files, their MAC address is different,80:EA:CA:00:00:01 and 80:EA:CA:00:11:01.
A. One is 80:EA:CA:00:00:01 and it is used to make a multipart.bin for SUOTA Receiver. SUOTA-1.1-RELEASE .apk sends the file that its MAC is 80:EA:CA:00:11:01 to the SUOTA Receiver,
but when SUOTA is completed, the MAC address of SUOTA Receiver is 80:EA:CA:00:00:01. This seems to be incorrect!
B。一个是80:EA:CA:00:11:01,用于为SUOTA接收器生成multipart.bin。SUOTA-1.1-RELEASE.apk将其MAC为80:EA:CA:00:00:01的文件发送给SUOTA接收器,
but when SUOTA is completed, the MAC address of SUOTA Receiver is 80:EA:CA:00:00:01. This seems to be OK!
我想知道第一个病例的原因是什么?
期待您的回复!
嗨,比恩,
Are you changing the values of the db address from the nvds.c file?
Please try changing other credentials of the device, like name, also try to change the DA14580_SW_VERSION from the ble_580_sw_version and let us know what happens.
Thanks MT_dialog
Hi,MT_dialog!
我使用提供其他的文件rs. I don't know whether the DA14580_SW_VERSION is changed.
Before ,I compile the reporter_fh from SDK3.0.6,but does not support SUOTA.
Can you tell me how to create a suota project? If there is need to pay attention to details?
嗨,比恩,
You can take as example the proximity or the Smart Tag reference designs they both support SUOTA capabilities. The smart Tag is a little bit more agile. Make sure that the SPOTA profile in the da14580_config is enabled. See also Smart Tag reference application doc for further instructions.
谢谢你的对话。
Hi,MT_dialog!
我能行!太兴奋了!非常感谢你!
But I have another question:
According to the Smart Tag reference document UM-B-018, we know that the Image (memory) bank accepts only 3 values: 0, 1 or 2:
1:使用第一个银行,起始地址如产品标题所示。
2: Use the second bank with start address as indicated in the Product Header.
0:将图像刻录到保存最旧图像的库中。
In my practice SUOTA, the values of the Image bank is 0 or 1, the corresponding field is offset #1 0x8000. And the value is 2, the corresponding field is offset #2 0x13000.
我不知道我的唢呐,对吧?还是错了?
Hi,MT_dialog!
Can you help me about the question ?
期待您的回复!
嗨,比恩
您的示例中图像库的值为0或1是什么意思?
The choices from the smartphone app are:
1) 将新图像放入内存组1(内存组1的偏移量为0x8000)。
2) 将新图像放入内存组2(内存组2的偏移量为0x13000)。
3)Place the new image on top of the oldest image (for instance bank number 1 which hold the oldest image).
偏移量0x00000处是辅助引导加载程序,偏移量0x1F000处是产品头。
在接下来的一周内,将会有一个关于SUOTA的新的发布应用说明。
Thanks MT_dialog
Hi,MT_dialog!
该版本的android应用程序是SUOTA的v1.1版。设置SUOTA参数时,需要设置一个参数,即图像(内存)库,它有三个值:0、1和2。
谢谢您!
嗨,比恩
Yes, after you select the file, and you want to download it to your device the android application will let you choose on which memory bank the image will be placed......1. memory_bank_1(0x8000), 2. 内存组2(0x13000)或默认选项0。其中新映像将替换内存中最旧的映像,该映像位于内存库1或内存库2中。
Thanks MT_dialog
Hi,MT_dialog!
I know what you say.
在我的实践中,为android应用程序设置参数时:
设置memorybank=0或memorybank=1,新映像将替换内存库所在的位置(0x8000)。
set memorybank = 2,the new image will replace the location where is memory bank (0x13000).
Now I want to know the phenomenon above is correct or not?
嗨,比恩,
Yes its normal, when you download two images (the multipart.bin) the device (after the restart)loads第一张图片(bank1),当你用一张新图片(通过suota)更新图片时,它将使用第一张图片。然后当你再次更新时(通过索塔)a new image the device will know which is the latest downloaded image and will replace the oldest image with the new. In essence it follows the turn each image has been updated.
Thanks MT_dialog
嗨,MT\u Dialog,
Regarding to the post above, if we have 2 different images like img_1 in memory bank 0 and img_2 in memory bank 1. Is there a way to select the memory bank to select the appropriate img_2 for the type of application.
谢谢您!
Hi iqspring,
You can have a look at the secondary_bootloader code and modify it in order to set the appropriate conditions to load the image file you want.
Thanks MT_dialog