Hi everyone,
I was doing some tests to develop a bootloader like application.
Of course I've been reading on the available TM4C bootloader. Unfortunately it doesn't fit the requirements. Further ahead (maybe already time to), I will try to adapt some parts into what I need.
In this test I had 2 projects. Let's call the first one the bootloader project and the second the application code.
The bootloader project had in the linker .cmd a section defined at 0x4000 and a empty function was create there in the main.
The app code would start at 0x4000 by changing the APP_BASE value in the .cmd.
I got the binary and converted it to a 32bit array.
Again in the bootloader project, I added the 32bit array in RAM and then copied into Flash starting at 0x4000 - this using FlashProgram and erasing that block first.
Running the code I can see the whole array was copied to flash. I also checked to see if the original code and the array matched. But still it goes into a fault ISR.
FAULT_STAT shows that the flag bus fault address register valid and precise data bus error are set. I will have to check better on what that means precisely.
If anyone has suggestions in what the problem is it would be appreciated. I will be trying to read more on the bootloader app notes