Tool/software: TI C/C++ Compiler
Hi,
Compiling to the ARM A15 on the TDA2xx , using the gnu tools
I am trying to allocate an assembly code to a specific location.
In the assembly code i wrote
.section .mysec
in the linker file i have:
MEMORY
{
MY_MEM (RWIX): org = (0x40300000) , len = (0x10000)
}
SECTIONS {
.mysec(0x40300000) :
{
KEEP(*(.mysec))
KEEP(*(.mysec.*))
}
....
.text : { *(.text) *(.text.*) } AT > MY_MEM
....
}
When looking at the resulted map file i can see that the .mysec was allocated correctly with an appropriate size but from some reason the .text is also allocated to the same location.
From the MAP file:
.mysec0x40300000 0xdc
*(.mysec)
.mysec 0x40300000 0xdc ./src/my_tda2xx_init.o
0x40300000 my_Start
0x403000a0 Jump_main
0x403000a4 Clear_Bss_Section
*(.mysec.*)
.public
*(.public.*)
.init
*(.init.*)
.text 0x40300000 0x1982c
*(.text)
.text 0x40300000 0x1f0 ./src/exceptionhandler.o
0x40300000 SVC_Handler
0x40300078 IRQHandler
0x40300118 FIQHandler
0x403001a8 AbortHandler
0x403001c8 UndefInstHandler
.text 0x403001f0 0x48 ./src/sbl_lib_tda2xx_hs_support.o
0x403001f0 SBLLibHSSecureEntryAsm
...
The assembly that has the code for the "overloaded function" (i.e. IRQHandler ,... ) only defines .text at the start
I don't understand why the linker does this - does the gnu linker do not recognize absolute addresses as part of the memory?
Please help
Thanks
Guy