Hi everybody!!
I´m using a MQX program with SD driver and a simple shell as a bootloader in a kinetis K60 tower. The idea is to copy firmware from SD to internal flash and run it. To test bootloader I have built two projects, first one a "Hello world" example from kinetis software examples (without mqx) and the second one the MQX "Hello World" example. I change the ICF (IAR linker files) in accordance to "Ethernet Bootloader for MCU" application note. Both examples runs OK when debug.
When I try to jump from (MQX) bootloader to non MQX "hello world" application everything starts OK until the startup code arrives to "Flash_Identify" function where code access to internal flash. Then the processor resets and the bootloader is executed again. Something similar happends when I trying to jump to a MQX application.
I thougth that maybe is necesary to realese some resources in the bootloader before jump. I disbled all interrupts and release some peripherals before jump but the problem remain.
Some ideas?. All advices are wellcome.
Did you disable the watchdog timer?
Is the VTOR (vector table) being updated in baremetal and MQX app?
Regards,
David