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

sys/bios 内存段覆盖问题

想请问下TI的工程师,因为使用的是sys/bios系统中所带的platform文件,定义了每个段的存放位置,我在使用的过程中(IPC包)修改了里面的linkcmd.xdt,能重新将某个内存段放到其他位置例如改写.tls_tp: load >> L2SRAM将他改为DDR3是没有问题的。

现在我想不通过修改这个linkcmd.xdt去重新放置.tls_tp这个段,我尝试过两种方法都没有成功

1.新建mytest.cmd,.tls_tp > DDR3 并且加到我的工程中去。

2.通过修改cfg文件,使用Program.sectMap[".tls_tp"].loadSegment = "DDR3";

上述两种方法并没有成功,我怀疑是链接顺序的问题,导致最后还是被linkcmd.xdt所覆盖,但是我找不到所谓的顺序是在哪里定义。

Shine:

请问在程序中是否有用#pragma DATA_SECTION或者#pragma CODE_SECTION (symbol , "section name ")来定义.tls_tp?

Minister:

回复 Shine:

这一个是有的,生成的debug的cmd文件还是将他指向L2SRAM里,所以最终map文件里面也能看到.tls_tp在L2SRAM里面,就是覆盖不了

Shine:

回复 Minister:

在自定义的cmd文件添加应该可以的,自定义的cmd文件不会被sys/bios自动生成的cmd文件覆盖。自定义的cmd文件MEMORY不要和sys/bios自动生成的cmd文件的MEMORY重复定义。请看sys/bios文档关于如何自定义cmd文件。
7.3.3 Providing a Supplemental Linker Command File
www.ti.com/…/spruex3u.pdf

赞(0)
未经允许不得转载:TI中文支持网 » sys/bios 内存段覆盖问题
分享到: 更多 (0)