- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I hope to have more information regarding the boot sequence of BCM20736
- The board is getting booted from the initial ROM boot loader. Is there any validation of the image (in DS1 or DS2 )during boot up?
- With OTA support, is it the ROM boot loader who validates the static segment of two images in DS1 and DS2?
- Is there any mechanism to boot DS2 first, other than invalidating the SS1 of DS1?
Thanks and regards
Rajesh Kumar V
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Once programmed, your App is stored in NVRAM by the minidriver and will be automatically loaded to internal RAM (bootloader not required) on boot up and initialized.
Specifically, the application runs in its own thread and the entire application framework is event driven. The main entry point of the application is APPLICATION_INIT() where it has to register its GATT database, configurations and the application create function (no other operations are allowed at this point).
Once this is done, the rest of the firmware and the BLE stack will be initialized - and once these are ready - the application create function will be invoked.
Once you return from this function, everything is event driven and callbacks for connection up/down/end of ADV interval/write to GATT handle, interrupts, timer expiry etc. are all events for the application to handle.
Also remember that When sampled on RESET only:
HCI UART Rx = High (Programming mode)
HCI UART Rx = Low (Application mode)
This is all controlled by the minidriver and cannot be reconfigured in any way by the developer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Once programmed, your App is stored in NVRAM by the minidriver and will be automatically loaded to internal RAM (bootloader not required) on boot up and initialized.
Specifically, the application runs in its own thread and the entire application framework is event driven. The main entry point of the application is APPLICATION_INIT() where it has to register its GATT database, configurations and the application create function (no other operations are allowed at this point).
Once this is done, the rest of the firmware and the BLE stack will be initialized - and once these are ready - the application create function will be invoked.
Once you return from this function, everything is event driven and callbacks for connection up/down/end of ADV interval/write to GATT handle, interrupts, timer expiry etc. are all events for the application to handle.
Also remember that When sampled on RESET only:
HCI UART Rx = High (Programming mode)
HCI UART Rx = Low (Application mode)
This is all controlled by the minidriver and cannot be reconfigured in any way by the developer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi mwf_mmfae,
Thanks for your response.
Is it the same minidriver who validates the Static segment in case of OTA update scheme?
Regards
Rajesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, it is the same minidriver.
-Lucy