AnsweredAssumed Answered

K60 Boot Vector

Question asked by joe hinkle on Jun 24, 2013
Latest reply on Jul 5, 2013 by Monica Arvizu

I've got a K60 Tower board with a MQX application loaded.

 

All of my experience is with Star12 micro's --- first time with ARM.

 

I'm trying to walk the execution from reset to the start of the application to see how MQX loads, etc.

 

I'm hitting a brick wall and would like some clarification ....

 

The P&E Jtag debugger breaks at main() in mqx_main.c.  I'm trying to see if THAT is really the first instruction from the reset vector.

 

Looking in Vector.c I get .....

 

#define BOOT_START __boot 


extern void __boot(void); 

 

And then the vectors .....


(vector_entry)__BOOT_STACK_ADDRESS,

BOOT_START, 

/* 0x01 0x00000004 - ivINT_Initial_Program_Counter */  DEFAULT_VECTOR, 

/* 0x02 0x00000008 - ivINT_NMI */  DEFAULT_VECTOR, 

/* 0x03 0x0000000C - ivINT_Hard_Fault */  DEFAULT_VECTOR, 

/* 0x04 0x00000010 - ivINT_Mem_Manage_Fault */  DEFAULT_VECTOR, 

/* 0x05 0x00000014 - ivINT_Bus_Fault */  DEFAULT_VECTOR, 

/* 0x06 0x00000018 - ivINT_Usage_Fault */


BOOT_START is defined above as __boot


I've done searches in all of the files in the MQX folder and can't find __boot or _boot


I can't find any association of main to __boot.


The value of the reset vector is 0x81110000 which makes no sense to me (maybe has something to do with thumb mode) --- I'm use to that address being the first executable address.


I you can tell me if main() is indeed the first instruction from the reset vector --- I would appreciate it.


Please tell me how you walk from the reset vector (0x81110000) to code.


Why can't I associate __boot or _boot with any code lable?


Thanks in advance for your insight.


Joe




Outcomes