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

如何在bios工程中加载自定义cmd文件

我目前使用NDK开发c6455的网络模块,ndk里的工程调试通了,正在helloword工程的基础上编写自己的代码。我有一段很长的字符数组想存在ddr或者IRam里,然后BIOS本身会产生一个叫dsk6455cfg的cmd文件,我想自己定义一个字段如下。
#pragma SET_DATA_SECTION(x,"mydata")
char x[100];
然后自己新建了一个helloworld.cmd文件
里边的内容是
-l dsk6455cfg.cmd
SECTIONS
{
 .mydata :     {} > IRAM
}
 
如果将cmd文件放到工程的根目录下
不管有没有-l fsk6455cfg.cmd
编译时提示:
 error:
 CACHE_L1D memorry range has already been specified
 CACHE_L1D memory range overlaps existing memory range 
 CACHE_L2D memorry range has already been specified

 CACHE_L2D memory range overlaps existing memory range 
 DDR2 memorry range has already been specified

 DDR2 memory range overlaps existing memory range 
 IRAM memorry range has already been specified

 IRAM memory range overlaps existing memory range 
 
如果将cmd文件不放到工程的根目录下
编译时提示:
warning: creating output section ".mydata" without a SECTIONS specification
 (应该是没有执行自定义的helloworld.cmd文件)
 
请问怎么加载自定义的cmd文件 ,有什么需要设置的吗?
wei liu9:

回复 Gary Wu:

谢谢,您提供的连接很有帮助,问题解决了

user6323483:

回复 wei liu9:

您好,我想请教一下您是如何解决这个问题的,我尝试了上面的链接,但是没能搞定。我使用的环境是CCS5.5,因为片上内存不足需要把一部分code/data放置到DDR里面,所以需要自定义CMD文件。目前遇到了和您相似的问题,在编译过程中CCS会根据tcf文件生成***cfg.cmd,同时我需要把自己的CMD文件链接进去,导致“CACHE_L1D/CACHE_L1Pmemory range has already been”的问题。期待您的回复。

赞(0)
未经允许不得转载:TI中文支持网 » 如何在bios工程中加载自定义cmd文件
分享到: 更多 (0)