- Silicon Labs Community
- Welcome and Announcements
- Silicon Labs Knowledge Base
- 8-bit MCU
- 32-bit MCU
- Bluetooth / Wi-Fi
- Other Products Category
- Optical/RH/Temp Sensor
- Other Products
- Hardware and Software Tools
- Simplicity Studio and Software
- General Discussions and Suggestions
- Chinese Forum
- Software Libraries
- Development Kits
- Reference Designs
- Third Party Tools
- White Papers
- Official Blog of Silicon Labs
- Chinese Blog
07-13-2017 03:32 PM
I'd like to implement application bootloading using local storage on an EM3587, as described in AN772 and UG103-6. I'm having trouble figuring out how to implement the local storage side - specifically how to write the new image into the top half of local flash. I believe that it's a matter of setting up a halBootloaderAddressTable, then calling the appropriate hal API's in bootloader-interface-app, but the specifics are escaping me...
Any hints, documentation, or example code would be greatly appreciated!
Solved! Go to Solution.
07-17-2017 03:09 PM
By "top half of local flash" you mean the higher-addressed half, right? With the local storage bootloader, the application is already configured to use the upper half as download space, and you don't need to do anything additional. Just make sure you select the local storage bootloader as the bootloader type when you build the application at the OTA client side, and have these plugins enabled:
OTA Bootloader Cluster Client
OTA Bootloader Cluster Client Policy
OTA Bootloader Cluster Common Code
OTA Bootloader Cluster Storage Common
OTA Cluster Platform Bootloader
OTA Simple Storage EEPROM Driver
- Check SOC Bootloading Support. You can leave other configurations as defaults.
OTA Simple Storage Module
07-18-2017 12:36 PM
Thanks Yuping! The concept I was missing is that the application (via bootloader-interface) uses the halBootloaderAddressTable (and thus all the storage access functions) directly out of the bootloader, and you don't need to provide it separately. I have it working now with no problems - simple once I understood how it all fits together!