Tuesday 15 April 2014

Bootloader and Firmware Common Usage and Firmware Upgrade -


There are two cases while working on embedded systems Embedded systems have limited resources, such as ARM Cortex M. Microcontroller 12 with Flash .

Case 1: Normal function / module usage for bootloader and firmware: Bootloader and firmware may need to use the same modules and functions to prevent code duplication . Otherwise, the same code will be included in both firmware and bootloader. We can prevent this address by specifying the address of the function and call this function by calling the functions by address. This is one of the solutions.

Is there a smart way to provide common tasks?

Case 2: Sometimes, we need to upgrade the firmware One of the bootloader's duties is the firmware upgrade, we can easily upgrade the firmware by overwriting the old one

We noticed that two cases can be applied separately. But when we merge them, then there are some problems.

Question: Bootloaders are normally static objects but the firmware can be modified. Therefore, normal tasks are usually located on the bootloader but when we have to update a normal module / function, how can we do that?

What are general or smart approaches Which are bootloader, firmware structured embedded systems? For limited resources, additionally.

For discrete common module / functions, this problem may be solved in one or more additional areas. Firmware, bootloader and library (new area)?

I want to learn the general approach, is there a paper, book and source about advanced firmware management?

Thank you

If you share code between your bootloader and your main firmware application , Your bootloader will use this code when this app space will shine. To prevent this condition, you have to sacrifice the ability to update the normal code, otherwise your bootloader will crash.

With only 12k flash, it is very ambitious to expect to fit the bootloader and the mainline application. You may consider writing bootloaders in the assembly (gasp!) In some cortex M. parts (such as NXP LPC 11xx family), there is an additional boot ROM which stores some useful functions and helps reduce some memory constraints is.

No comments:

Post a Comment