Is there a uVision example of how to manage boot and application code?
He's what I know to do:
- Boot code generated as normal uVision project with vector table relocated to RAM. - Boot code runs then jumps to app code if app CRC flag found (typically at the end of code space to ensure the App update was complete. - App code offset to higher flash
I use the target memory areas in uVision to determine the App prog space. Then use right click options for source to ensure all code, variables show up in the correct place.
Is this the right way of doing it?
Whilst I'm developing the App code I still need the Boot code to be in the project so that I can JTAG for debugging.
Is there any example using uVision3 or 4?
Thanks a bunch.
Hi Mark,
Thanks for your information.
I took a very quick look on the link you provided.
This will cause the target board to appear on any computer platform as a removable flash drive. The user can then seamlessly transfer files to the flash drive. In the background, the LPC2148 moves the user's files onto the SD card using the FAT16 file system.
I am curious about the above description, I think it is much easier for a X86 computer to access the SD card directly?
Hi again,
The example provides two update methods.
1. Load the bin file onto the SD card via a card reader, then insert the SD card into the target to update firmware
2. Register the target SD card as a removable drive over USB. Target streams bin file from the host onto the SD card then updates from the SD card.
The LPC2148 behaves nicely as a removable drive and the USB protocol is supported by Win, Mac and Linux the same giving good compatibility.
I find it strange given the number of questions regarding bootloading that Keil dont have an app note or example project on how to achieve boot+app using uVision settings?