【原创】TI C2833x编程环境介绍---(9) cmd文件解释
0赞
发表于 2012/2/19 18:21:55
阅读(2165)
- 上次提到了C程序的不同段在目标系统中被放置在不同的存储区域中,这次解释一下各个段的具体含义
- 程序代码(.text)
- DSP中的程序代码由指令序列组成来进行数据操作、初始化系统设置等操作。在系统复位(上电)之前,程序代码就需要已经被定义好。在这个基本的系统限制前提下,一般我们需要把代码预先保存在非易失性的存储器(non-volatile memory,)中,例如FLASH或者EPROM,当然ROM也可以,但是代码就无法修订了。
- 常量(.cinit –被初始化的数据)
- 初始化数据I存储在系统复位之后的预定义区域中,包含了常量或者变量的初始值。与程序带啊类似,常量一般也存储在非易失性的存储器之中,这样系统复位、上电之前所设置的常量和初值就已经是有效数据了。
- 变量(.ebss –未初始化的数据)
- 未初始化的数据存储单元可以在程序的执行过程中被改变和操作。与程序代码或者常量不同的是,未初始化的数据或者变量必须位于易失性的存储器之中,例如RAM。易失性的存储单元可以被修改和更新,这样它们所存储的变量就可以用数学表达式、高级语言的方法来描述。每一个变量都需要被提前声明,这样才能为它们预先保留一定的存储空间。根据变量的这种性质,变量只有在它们被程序调用时才会分配响应的值。
图1 链接代码与存储单元
链接代码与存储单元的3个步骤为:
- 定义存储单元的不同区域(片上SARAM、FLASH或者外部存储器)。需要注意的是,在使用外部存储器的时候,需要使用外部存储器接口Xintf,细节以后提到。
- 定义段与存储器区域的关联关系。
- 进行obj文件与cmd文件的链接。