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

DSP/BIOS生成cmd文件和用户自定义cmd文件兼容问题

你好,我使用CCS3.3和C6701。

由于程序比较大,IPRAM放不下,所以想在外部RAM中自定义段,存放剩余的程序。这就需要给自定义的段分配存储空间。但是DSP/BIOS自动生成的cmd文件又不允许修改。请问,自定义的cmd文件应该怎样编写才能解决我的问题呢?望赐教!谢谢!

Shine:

可以在自定义cmd文件中用-l cfg.cmd添加bios cmd文件,这两个cmd文件定义的段不要overlap。请看dsp/bios user guide.
5.1.3 Defining Segments in Your Own Linker Command File
www.ti.com/…/spru423i.pdf

user5846346:

回复 Shine:

谢谢回复!

我看了下那个文档,里面有个例子,将.text和.bss都分配到了SDRAM0,如下图:

我也想这么分配,但是DSP/BIOS中也有关于.text和.bss的相关分配选择框。

这种情况该怎么处理?

Shine:

回复 user5846346:

.text段不能同时分配到两个memory。

user5846346:

回复 Shine:

那像例子里的那种情况是怎么回事呢?

Shine:

回复 user5846346:

designcfg.cmd里也分配.text段了?

user5846346:

回复 Shine:

上面第二张图中是DSP/BIOS的配置工具,designcfg.cmd是由它自动生成的,.text段必须要在下拉框中选择一个存储空间。所以designcfg.cmd中肯定也会有.text段的分配。

Tony Tang:

回复 user5846346:

user5846346上面第二张图中是DSP/BIOS的配置工具,designcfg.cmd是由它自动生成的,.text段必须要在下拉框中选择一个存储空间。所以designcfg.cmd中肯定也会有.text段的分配。

你开始的问题是说要将部分自定义段分配到外部空间,现在的问题好像变了。是要把.text段放到片外?如果是,直接在BIOS下拉选择就好了。

如果不是要安排自定义段,在BIOS里都能解决而不需要加自定义的.cmd。

user5846346:

回复 Tony Tang:

可能是我对外部空间和片外的理解有误,这俩有区别吗?下图蓝框是内部程序存储器IPRAM,那红框中的CE0,CE1,CE2,CE3属于外部空间还是片外?

我将自定义的段.idram2指向CE0的存储空间,然后在部分程序前使用了#pragma  CODE_SECTION (symbol ,.idram2)伪指令,这样是不是就把这些程序段放在了CE0中,而剩下的程序就默认放在.text段,如果在DSP/BIOS中将.text指向IPRAM,那么剩下的程序段就是放在IPRAM中的。你看我这样理解对吗?谢谢!

Shine:

回复 user5846346:

是这么理解,CODE_SECTION定义的段可以单独分配到指定的memory。

user5846346:

回复 Shine:

谢谢!那再请问两个问题:
1、IPRAM和CE0这些空间都是RAM,在功能上有什么区别呢?
2、指向CE0的程序是不是被存放在DSP外挂的RAM芯片了?

赞(0)
未经允许不得转载:TI中文支持网 » DSP/BIOS生成cmd文件和用户自定义cmd文件兼容问题
分享到: 更多 (0)