2 years ago
SUOTA and production header
Posted byhqf20130 points 6 repliesHi Dialog,
I am following the SUOTA tutorial to update my custom DA14585 board with an external flash. It can update my firmware correctly. But I found the production header is not the same as the tutorial. The BD address always 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF. I tried to write a new value in address 0x380032. After reboot, the address of my device didn't changed. Besides the OTP method, is there any new method to update the BD address? Thanks.
2 years ago
Thank you PM_DIalog. We didn't burn the OTP header and we know that OTP header will have the highest priority. We just checked the SDK 5.0.4 for DA14583 and found follows:
/// Device BD address
struct bd_addr dev_bdaddr __attribute__((section("retention_mem_area0"), zero_init));
....
...
bool nvds_read_bdaddr_from_da14583_flash(void)
{
....
}
These function and definition have removed from the SDK 6.0.10 for DA14585. Is there any problem for the DA14585 to get the BD address from the external flash? Thanks.
2 years ago
Hi hqf2013,
If I understood correctly, you would like to store the BD address into the external SPI flash and read it from there? Did I understand correctly?
Thanks, PM_DIalog
2 years ago
Hi hqf2013,
Yes, you can store the BD address into the external SPI flash and read it from there. Although, there is not any API like nvds_read_bdaddr_from_da14583_flash(), so you should follow this procedure in the 585 in order to read the BD address from the SPI flash.
Thanks, PM_Dialog
2 years ago
Hi hqf2013,
If you would like to have SUOTA functionality and update the DB address, you can change it from the each image that you will download. So, each image will have its own BD address, and after the firmware update, the BD address will be changed. Can you please clarify your last question? What do you mean with “besides OTP method is there a method to update the bd address” ? If you have already burnt the DD address in the OTP header, the application will take the BD address from the OTP. Otherwise, the application will take the BD address from the CFG_NVDS_TAG_BD_ADDRESS definition in the da1458x_config_advanced.h header file. If the BD address is written in OTP header this value will be ignored.
Thanks, PM_DIalog