cancel
Showing results for 
Search instead for 
Did you mean: 

Interrupt Vector Table

Alex_reynold
Associate III

Hello,
As per CM4 guide and TRM of Nucleo f446re,interruot vector table is array of function pointers and each pointer holds the entry address(initial address) of each IRQ_handler, Where interrupt IRQ_number is used for indexing.

While debugging I failed to observe the intial address of teh reset handler and USART2_Handler at location 0x0000 0004 and 0x0000 00DC respectively.Please find the samething in attachments.Address fo the IRQ_handlers are available in expressions window snapshot and actuall value stored at location 0x0000 0004 and 0x0000 00DC is not matching.
Am I missing something here?
I am just verifying my understanding -->"At each location in IVTable,address oif IRQ handlers should be ther (&<IRQ_Handler_Name>Screenshot 2025-05-14 222309.png

 

Screenshot 2025-05-14 222359.png

 

Screenshot 2025-05-14 222411.png

 

"

12 REPLIES 12
Alex_reynold
Associate III

Hi,

I got it.as youa re asking to use same function names declared in startup file.I tried it si working .But  I am looking for soltion where I have define some function funcHandler() and It need to attach this on interruptVectorTable.for example at 0x000000DC(Loc at IVT) i,e, &funcHandler needs to be placed at 0x000000DC.
How to Achive this.
I tried to use pointer also.
uint32_t *p;

p=(uint32_t *)(0x000000DC);

*p=(uint32_t)&funcHandler;

while debugging,value didnt change

 

this area is flash memory and you cannot write to it like writing to RAM. You may however relocate the entire vector table to SRAM using SCB->VTOR.

 

Alex_reynold
Associate III

Thanks knarfb, I git the answer.thanks for the support an precise answer.

You may close this ticket