I have installed IAR Embedded Workbench, FNET 1.2.2 and MQX 3.8. I'm using TWR-K60N512 + TWR_SER tower system.
The FNET bootloader (compiled with IAR) works great with a "barebone" application (always compiled with IAR): I can download the SREC firmware file through TFTP and launch the application from the bootloader with "go" command. It works.
Now I want to create an application with MQX RTOS. After adding the instruction (to use RAM for vector table)
#define MQX_ROM_VECTORS 0
in user_config.h file (under <MQX install path>\config\twrk60n512) and rebuilding MQX suite, I started from hello example (<MQX install path>\mqx\examples\hello). I can compile the sample application with IAR and it works (I can see "Hello world" message on OSBDM serial port).
Now I want to use this hello application with FNET bootloader, so avoiding the first 48KB of internal Flash where the bootloader stay. So I modified the linker configuration file (intflash.icf) and the result is attached to this message.
Moreover, after reading about a wrong behaviour of IAR, I changed the entry point (enabling the "Override default program entry" linker option, setting the "Entry symbol" to "__boot" that seems the first instruction of MQX for Cortex).
Even with this new linker file, I can start, run and debug the application alone (without the bootloader). It works... I can see the "Hello world" message.
The last step doesn't work.
I run the bootloader, download the SREC of hello MQX application through TFTP and launch it with "go" command. The starting address seems correct (0xC421), but the bootloader restarts itself. I think it isn't able to launch the application, but I don't know why.
Any help or suggestion?