Hola Soledad,
I think that the table is relocated the problem is that the system is not using it. If I use in the beginning of my app "SCB_VTOR = (uint32_t)0x1FFF0000;" it runs but interrupts don't go. If I change the line to 0x10000 for example, the app don't run at all. I use a local modified copy of intflash.lcf with all that you comment but the problem of the interrupts have me stucked.
Some code of my app (the bootloader runs it at direction 10000h)
My .lcf file:
KEEP_SECTION { .vectortable }
MEMORY
{
vectorrom (RX): ORIGIN = 0x00010000, LENGTH = 0x0000400
#cfmprotrom (RX): ORIGIN = 0x00010400, LENGTH = 0x00000010
data14000000 (RW) : ORIGIN = 0x14000000, LENGTH = 0x00001000
rom (RX): ORIGIN = 0x00010410, LENGTH = 0x0006FBF0 # Code + Const data
vectorram (RWX) : ORIGIN = 0x1FFF0000, LENGTH = 0x0000418
ram (RW): ORIGIN = 0x1FFF0000, LENGTH = 0x0001FC00 # SRAM - RW data
# kernel space starts after RAM variables (Location of MQX Kernel data + MQX heap)
end_of_kd (RW): ORIGIN = 0x2000FFF0, LENGTH = 0x00000000
# Boot stack reused by MQX Kernel data
bstack (RW): ORIGIN = 0x2000FA00, LENGTH = 0x00000200 # Boot stack
end_bstack (RW): ORIGIN = 0x2000FBFF, LENGTH = 0x00000000
}
my .xmap file:
# .vectorrom
#>00010000 ___VECTOR_ROM (linker command file)
# .vectors
#>00010000 __VECTOR_TABLE_ROM_START (linker command file)
00010000 00000400 .vectors_rom rom_vector (bsp_twrk60n512_d.a vectors.o )
00010000 00000000 .vectors_rom .vectors_rom (bsp_twrk60n512_d.a vectors.o )
# .main_application
00010410 00000000 KERNEL _sched_start_internal (psp_twrk60n512_d.a dispatch.o )
...
# .main_application_data
#>1FFF0000 __VECTOR_TABLE_RAM_START (linker command file)
1FFF0000 00000418 .vectors_ram ram_vector (bsp_twrk60n512_d.a vectors.o )
1FFF0000 00000000 .vectors_ram .vectors_ram (bsp_twrk60n512_d.a vectors.o )
#>1FFF0600 __BDT_BASE (linker command file)
1FFF0600 00000000 .usb_bdt .usb_bdt (usb_hdk_twrk60n512_d.a khci.o )
1FFF0600 00000200 .usb_bdt bdt (usb_hdk_twrk60n512_d.a khci.o )
#>1FFF0800 __BDT_END (linker command file)
#>1FFF0800 __START_DATA (linker command file)
...
# Memory map:
v_addr p_addr size name
00010000 00010000 00000000 .vectorrom vectorrom
00010000 00010000 00000400 .vectors vectorrom
14000000 14000000 00001000 data14000000
00010410 00010410 0002363C .main_application rom
1FFF0000 1FFF0000 00000418 vectorram
1FFF0000 00033A4C 00002D40 .main_application_data ram
1FFF2D40 1FFF2D40 0000AC00 .main_application_bss ram
1FFFD940 1FFFD940 00000000 .kernel_data ram
2000FFF0 2000FFF0 00000000 .end_of_kernel_data end_of_kd
2000FA00 2000FA00 00000000 .boot_stack bstack
2000FBFF 2000FBFF 00000000 .end_of_boot_stack end_bstack
2000FBFF 0003678C 00000018 .romp end_bstack
# Link start time: Thu Feb 20 10:32:27 2014
# Link end time: Thu Feb 20 10:32:28 2014
Need to solve it as soon as posible, thanks for your attention.