Hi,
Currently im developing a project which takes advantage of the In Application Programming feature on the ARM7 MCU. These individual projects are a Bootloader (IAP enabled) and a Main Application.
Ive found that both Apps utilise the same drivers etc but have not seen a way in which Bootloader and Main Application firmware can reference the same drivers. In doing so I can save vast amounts of code space etc. Im not sure where to start, ive seen older examples from uvision2, 8051 but nothing relevant for this MCU/Keil's Uvision4 IDE. Any ideas / keywords will be appreciated as currently ive not seen anything useful to use with the ARM7 MCU yet.
Thanking you in advance
DSP
The BIOS-style method of having library functions stored in the boot loader and accessing it through a jump table or an interrupt vector can save code space.
But there is one big issue. When the library functions are generated using C/C++, there might be use of helper functions that can potentially interfere. The library code in the boot loader will get one copy of these helper functions and the application a second copy. Normally not a problem, unless these helper functions assumes the existence of RAM variables for storing some state information.
Having two sets of the helper functions means that there will be two (probably different) assumptions about where these variables are stored.