Hello,
In my current project i need to implement a bootloader for firmware update purpose. The bootlaoder is at the beginning of the flash and gets invoked after a power up or reset. If a update is necessary the bootloader updates the application otherwise starts the application at address 0x8000 (32kByte). So far the application is called by the bootloader as expected but behaves different than if programmed without bootloader at address 0x00.
The application has a couple of safety init features enabled like the ESRAM ECC Check (SAFETY INIT tab in HALCoGen) which provokes a data abort interrupt. This resolves to two issues, first the interrupt jumps to the execption vector located at address 0x00 instead of address 0x8000. This I can explain with Anthony F. Seely 's statement in this post http://e2e.ti.com/support/microcontrollers/hercules/f/312/t/124544.aspx. I have to dispatch manually to the applications exception vector. Secondly it's not the data abort interrupt (at address 0x10) which is called but the prefetch abort (at address 0x0C).
Is there anywhere an example how to deal with this matter. Even as the bootloader example http://processors.wiki.ti.com/index.php/RM48_HDK_Kit doesn't show a solution to this an won't work for applications using exception vectors or FIQs.
Thanks in advance
Joachim