工具/软件:TI C/C++编译器
您好!
使用 GNU 工具编译到 TDA2xx 上的 ARM A15
我正在尝试将汇编代码分配到特定位置。
我编写的汇编代码中
.section .mysec
在链接器文件中、我有:
存储器
{
my_MEM (RWIX):org =(0x40300000)、len =(0x10000)
}
部分{
mysec (0x40300000):
{
Keep (*(.mysec))
Keep (*(.mysec.*))
}
…
.text :{*(.text)*(.text.*)} 位于>my_MEM
…
}
在查看结果映射文件时、我可以看到.mysec 已正确分配了适当的大小、但出于某些原因、.text 也被分配到相同的位置。
从映射文件:
mysec0x40300000 0xdc
*(.mysec)
mysec 0x40300000 0xdc /src/my_tda2xx_init.o
0x40300000 my_Start
0x403000a0 JU跳_MAIN
0x403000a4 CLEAR_BSS_Section
*(.mysec.*)
公共
*(.public.*)
初始化
*(.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
(笑声)
具有“重载函数”代码的汇编语言(即 IRQHandler ...) 仅在开始时定义.text
我不明白链接器为什么这么做- GNU 链接器是否不会将绝对地址识别为存储器的一部分?
请帮助
谢谢
家伙