Hi All
My project currently has OAD update FW. (Does not contain bootloader.)
Use bim_extflash.
Can I update the bootloader through OAD??
Is there any sample code??
Thanks a lot.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi All
My project currently has OAD update FW. (Does not contain bootloader.)
Use bim_extflash.
Can I update the bootloader through OAD??
Is there any sample code??
Thanks a lot.
Hi Kuo,
It is not possible to update the ROM serial bootloader, you can review SWRA466 to determine whether the existing solution fits your needs or use the flash bootloader example to implement your own.
Regards,
Ryan
Sorry, Let me double check.
Do you mean it can't update bootloader through OTA??
But if I start the bootloader in external flash. That's ok?
If I put the bootloader in external flash first.
Can I overwrite the bootloader of the MCU ROM from the bootloader of the external flash??
Or I can't write any data into MCU ROM??
1. Yes, you cannot update bootloader through OTA.
2. You cannot start the bootloader in external flash.
3. It's not possible to overwrite MCU ROM.
Hi YiKai
I have a question.
If I make a version of OTA FW and include BIM data.
I hope that after the OTA is over, the FW will write BIM data to page 0 and page 31(BIM) after the mcu is turned on.
If the above is not allowed.
I don't know why I can write flash through nv read/write but can't write BIM data to page 0 & page 31??
Is there any reason why I can't write BIM partition??
When CC2650 starts, it would jump to BIM start address to run BIM and BIM would do NV write. Even you have FW include BIM, BIM cannot overwrite itself when BIM is running.
Hi YiKai
Do you mean that even if mcu enter FW, BIM is still executing, not free???
So I can't overwrite the BIM when BIM is running??
BIM is being executed all the time after the mcu power on??
Hi Kuo,
Here is a description of the BIM: https://dev.ti.com/tirex/content/simplelink_cc2640r2_sdk_5_10_00_02/docs/blestack/ble_user_guide/html/oad-secure/bim.html
The BIM is intended to be separate from the application. At device startup, the BIM is executed before jumping to the application. The BIM is not operating at the same time as the application. The BIM cannot be altered while running but technically the application can write to BIM flash memory space. I think the confusion in this thread is why the application is making changes to the BIM.
Regards,
Ryan
I agree with Ryan that you can overwrite BIM in your application but it’s dangerous and why the application is making changes to the BIM.
Thanks for Ryan and YiKai's reply.
Because there are a lot of devices in remote clients.
We can only update FW through OTA.
But the BIM of those devices is old version.Different from the current BIM.(have check CRC).
So we can't get it back and use JTag and don't want to branch customer FW.
So I can only update the FW and BIM to the external flash via OTA, and then overwrite the BIM.
Or do you have a better way??
Don't know other better way but you have to be careful to avoid power cycle during your overwrite BIM.
I don't have dedicate example for this but I suppose you can refer to how BIM offchip project uses Bim_copyImage in checkImagesExtFlash to know how to overwrite application code in internal flash and do similar thing to BIM.