I have a CCS TI-RTOS project built for a TM4C129X MCU. In my map file I have the following:
SEGMENT ALLOCATION MAP
run origin load origin length init length attrs members
---------- ----------- ---------- ----------- ----- -------
00000000 00000000 000258e8 000258e8 r-x
00000000 00000000 0000003c 0000003c r-- .resetVecs
0000003c 0000003c 0001136a 0001136a r-x *
...
20000000 20000000 000075d4 00000000 rw-
20000000 20000000 00000360 00000000 rw- .vecs
...
SECTION ALLOCATION MAP
output attributes/
section page origin length input sections
-------- ---- ---------- ---------- ----------------
...
* 0 0000003c 0001136a
00004c74 00000200 startup_ccs.obj (.intvecs)
...
I assume that the .resetVecs section is the typical interrupt vector table that is stored in flash, is that correct? What is the .vecs section? What is the .intvecs section?
I looked in the MCU's datasheet and I see that there is a VTABLE register which can be used to relocate the base address of the interrupt vector table. Is the .vecs section where the interrupt vector table's base address is relocated to?
How about the .intvecs section? Is this a second flash-based interrupt vector table?
I looked at the following posts but did not find the answer:
http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/109389/389931
http://e2e.ti.com/support/embedded/tirtos/f/355/t/110251
http://e2e.ti.com/support/microcontrollers/stellaris_arm/f/471/t/236361
http://e2e.ti.com/support/embedded/tirtos/f/355/t/108165
Thanks,
Samuel