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程序员”的内存偏移(HEX):0x1f000。
product_header.txt is :
Address Size (bytes) Parameter Value
0x1F000 2 signature 7052
0x1f002 2版本1234
0x1f004 4 offset1 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单个fw_1.bin fw_1.h fw_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多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
请尝试一下,让我们知道。
Thanks MT_dialog
Hi,MT_dialog!
Burn the multipart.bin into flash at offset #0x00,right?
Thank you for help!
嗨豆
首先擦除闪存,是的,将multipart.bin刻录到地址0上,当Windows Promts您可启动时,请选择否。
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-1.1-Release .Apk发送其Mac为80:EA:00:00:01到拟议接收器的文件,
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.
谢谢mt_dialog。
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应用程序的版本是v1.1 for suota。设置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. Mevert_Bank_2(0x13000)或默认选择0.如果新图像将替换在内存BANK_1或MEMORY BANK_2中位于的内存中的最旧图像。
Thanks MT_dialog
Hi,MT_dialog!
I know what you say.
在我的练习中,在为Android应用程序设置参数时:
设置MemoryBank = 0或内存库= 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),当您使用新的一个(通tuota)更新图像时,它将使用第一个银行。然后再次更新时(通过套子)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_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