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 .....



/* 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.