打印

dsp2812 cmd配置指南

[复制链接]
3221|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fg79|  楼主 | 2011-11-14 19:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DSP芯片以其极高的精度,性能及运算速度等无与伦比的优点使它得到了十分广泛的应用,TMS320F2812TI公司生产的到目前为止用于数字控制领域的最好的DSP芯片,在对它的仿真开发过程中,编译器生成的代码和数据要由链接器分配到合适的存储空间,通常链接器的命令文件.cmd文件是由用户自己编写的,编写不当,就会使仿真开发不能进行,TI公司虽然在《TMS320C28xOptimizing C/C++ Compiler User’s Guide 6》和《TMS320C28x AssemblyLanguage Tools User’s Guide6》做了介绍,但内容却比较散乱而且要求读者对整个开发系统要有较全面的认识,这对于初学者来说是比较困难的。下面以TMS320F2812芯片为例,结合具体的仿真调试实例加以说明使大家能够既快速又准确的掌握.cmd文件的分配方法。

1
存储空间的配置

TMS320F2812
DSP存储器分为三个独立选择的空间-程序空间、数据空间和I/O空间,其中程序存储器存放待执行的指令和执行中所用的系数(常数),可使用片内或片外的RAMROMEPROM等来构成;数据存储器存放指令执行中产生的数据,可使用片内或片外
RAMROM来构成;I/O存储器存放与映象外围接口相关的数据,也可以作为附加的数据存储空间使用。表1TMS320F2812的存储空间分布。

2CMD
文件的分配方法
TI
公司新的汇编器和链接器创建的目标文件采用一种COFF(通用目标文件格式),该目标文件格式更利于模块化编程,为管理代码段和目标系统存储器提供了强有力和灵活的编程方法。用户可以通过编写链接命令文件(.cmd文件)将链接信息放在一个文件中,以便在多次使用同样的链接信息时调用。在命令文件中使用两个十分有用的伪指令MEMORYSECTIONS,来指定实际应用中的存储器结构和进行地址的映射。Memory用来指定目标存储器结构,Memory下可以通过PAGE选项配置地址空间,链接器把每一页都当作一个独立的存储空间。通常情况下,PAGE0代表程序存储器用来存放程序,PAGE1代表数据存储器,用来存放数据。由编译器生成的可重定位的代码和数据块叫做“SECTIONS”()SECTIONS用来控制段的构成与地址分配。对于不同的系统配置,“SECTION”的分配方式也不相同,链接器通过“SECTIONS”来控制地址的分配,所以“SECTIONS”的分配就成了配置.cmd文件的重要环节。以下是对“SECTIONS”的定义及分配的详细介绍。
1
被初始化的“SECTIONS”(包括数据表和可执行代码)
.text
它包括所有的可执行代码和常数,必须放在程序页;

.cinit
它包括初始化的变量和常量表,要求放在程序页;
.pinit
它包括全局构造器(C++)初始化的变量和常量表,要求放在程序页;
.const
它包括字符串、声明、以及被明确初始化过的全局和静态变量,要求放在低地址的数据页;
.econst
它是在使用大存储器模式时使用的,包括字符串、声明、以及被明确初始化过的全局变量和静态变量,可以放在数据页的任何地方。
.switch
它包括为转换声明设置的表格,可以放在程序页也可以放在低地址的数据页。
2)未被初始化的“SECTIONS”(为程序运行中创建和存放的变量在存储器中保留空间)
.bss
它为全局变量和静态变量保留空间。在程序开始运行时,C导入路径把数据从.cinit节复制出去然后存在.bss节中,要求放在低地址的数据页;

.ebss
它是在远(far)访问(只用于C)和大存储模式下使用,它为全局变量和静态变量保留空间。在程序开始运行时,C导入路径把数据从.cinit段复制出去然后存在.ebss节中,可以放在数据页的任何地方;
.stack
C系统堆栈保留空间,这部分存储器为用来将声明传给函数及为局部变量留出空间,要求放在低地址的数据页;
.system
动态存储器分配保留空间。这个空间用于malloc函数,如果不使用malloc函数,这个段的大小就是0,要求放在低地址的数据页;
.esystem
动态存储器分配保留空间,这个空间用于外部malloc函数,如果不使用外部malloc函数,这个段的大小就是0,可以放在数据页的任何地方

相关帖子

沙发
全才太多| | 2011-11-27 13:47 | 只看该作者
还是学习了!

使用特权

评论回复
板凳
icaning| | 2011-11-27 22:46 | 只看该作者
BD:victory:

使用特权

评论回复
地板
nwttjpu| | 2012-3-12 18:27 | 只看该作者
学习了[img][/img]

使用特权

评论回复
5
u880| | 2012-3-19 16:42 | 只看该作者
有点用

使用特权

评论回复
6
huigoushang| | 2012-3-19 16:52 | 只看该作者
有收获啊

使用特权

评论回复
7
griffe| | 2013-5-10 21:55 | 只看该作者
谢楼主,学习了

使用特权

评论回复
8
拿起书本| | 2013-5-12 15:32 | 只看该作者
不同的DSP芯片内集成的存储器大小各异,但其配置方式是类似的。

使用特权

评论回复
9
SparMan| | 2014-3-6 18:03 | 只看该作者
xiexie,学习中。。。。

使用特权

评论回复
10
meng219902| | 2014-12-15 14:50 | 只看该作者
标记

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名: 这辈子只有两件事不会:这也不会,那也不会。。

75

主题

102

帖子

0

粉丝