I'm trying to convert the enet_s2e to be my bootloader. I'm doing this because I would like to use telnet for the bootloader instead of using the bootp from the bootloader example. I've modified the enet_s2e example to remove all the serial code since I'm actually not converting serial to Ethernet so basically I have a telnet server application. Within the application I have a command interpreter so when a command is received from the telnet connection, I would jump to the application portion. To test this, I program the DK-TM4C129x with application code starting at 0x10000 and I program the modified enet_s2e at 0x0. I'm then able to open a telnet session and send the command to jump to the application. In my testing, if my application has no interrupts such as the hello example, then this works just fine, it jumps to the application and displays hello on the display. However, if the application contains interrupt such as the freertos_demo, then this doesn't work. It looks like the issue is with the interrupts. So my question is there something that needs to be done with the vector table? I do set the NVIC_VTABLE to the application starting address before the jump. So that's not the issue, my guess is that it's when an interrupt occurs, the application faults so I'm trying to figure out what else I need to do with the interrupts? Is there something that needs to be done with regards to the interrupt handler besides setting the NVIC_VTABLE such as copying the actual vector table of the application to overwrite the bootloader vector table?
Any insight is greatly appreciated.
Thanks.