AnsweredAssumed Answered

Problem of initialization of MQX after jumping to the start of MQX application ( _boot() )

Question asked by Dmitriy Magazeev on May 15, 2014
Latest reply on Oct 22, 2014 by David E Seymour

Hello!

I have a problem with my MQX application with initializing MQX after jumping to _boot(). Actualy after jumping to _boot() the applcation starts normaly, but in mqx intitialization in function in mqx_main.c:

/* Start MQX */

   _mqx( (MQX_INITIALIZATION_STRUCT_PTR) &MQX_init_struct );

the application crashes while exetuting function:

_mem_zero((pointer) kernel_data, (_mem_size) sizeof(KERNEL_DATA_STRUCT));

And I dont understand why this is happening. Actually the same jump to the start of bareboard application without MQX and BSP and PSP libraries, executes normaly.

Disabling interrupts before jumping to _boot() in MQX app have no effect, and the application crashes in the same place. I used board TWRK70F120M, Codewarrior 10.5, Mqx 4.0.2.

Application has only one task with jumping to _boot():

void Main_task(uint_32 initial_data)

{

   uint32_t pc = ((uint32_t*)(0x00000000))[1];  // get _boot() addres from PC

   ((void(*)(void))pc)();                                    //jump to _boot()

   _mqx_exit(0);

}

So what i need to do before jumping to _boot() to make it work?


Outcomes