TI中文支持网
TI专业的中文技术问题搜集分享网站

如何避免hole的地址被再次使用

Hi:

在工程编译时,编译的map结果有如下的一段:

00897940 00000010 ti.csl.ae66 : csl_tsc.oe66 ($Tramp$S$$CSL_tscRead)
00897950 00000010 –HOLE– [fill = 0]

.switch.2* 0 00897950 00000010 00897950 00000010 HDL_PDU.obj (.switch:HDL_PushToLmacQue)

.switch和上一段的–HOLE–落在了相同的位置0x00897950,请问产生这种问题的原因?如何解决?

另外我在cfg文件中尝试通过progrma来控制.switch.2 放置的位置,也不起作用,请问这是为什么?

使用的芯片使6670,CCS版本为5.1.009,编译器版本为7.3.1

谢谢

Brighton Feng:

看起来有点奇怪, 不过.switch.2放在没用的HOLE里似乎也可以,你运行程序有什么错误吗?

另外,.switch.2是个自定义段吗?一般.switch是编译器自动生成的switch-case表,不能手工生成。

Jerry Liu1:

回复 Brighton Feng:

Brighton 你好,

.switch.2不是自定义的段,是编译器自动生成的,我们的工程编译后,没有.switch,而是分成了.switch.1,.switch.2,.switch.3等;.switch.2放在–HOLE–里面用仿真器运行的时候没有问题,但是boot时,–HOLE–的内容会覆盖.switch.2的内容,导致系统abort,所以想请教一下有没有避免Linker将.switch.2放入到–HOLE–的方法?

谢谢!

Jerry Liu1:

回复 Brighton Feng:

好的,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 如何避免hole的地址被再次使用
分享到: 更多 (0)