- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CMD文件与MAP文件.pdf
CMD 文件与MAP 文件
一 CMD 文件
CMD 的专业名称叫链接器配置文件,是存放链接器的配置信息,我们简称为命令文件,
CMD 文件是用来标示实际存在目标系统中且可被使用的存储器范围,告诉链接程序怎么计
算地址和分配空间。它包括三个部分:
(1)输入、输出定义:.obj 文件——链接器要链接的目标文件;.lib 文件——链接器要链接
的库文件;.map 文件——链接器生成的交叉索引文件;.out 文件——链接器生成的可执行
代码。这部分可通过CCS 中的Build Option 菜单进行设置
(2 )MEMORY 命令描述系统实际的硬件资源
(3 )SECTIONS 命令:描述“段”如何定位。
MEMORY 用来建立目标存储器的模型, MEMORY 指令可以定义目标系统的各种类型
的存储器,及容量。MEMORY 的语法如下:
MEMORY
{
PAGE 0:
name 0 [attr] : origin = constant, length = constant
PAGE n:
name n [attr] : origin = constant, length = constant
}
PAGE n:标示存储空间,n255;PAGE 0 为程序存储空间;PAGE 1 为数据存储空
间。Name:存储空间名称。Attr 存储空间属性:只读R,只写W ,可包含可执行代码X ,
可以被初始化I。orgin:用来定义存储空间的起始地址;Lenth:用来定义存储空间的长度。
SECTIONS 指令就可以根据这个模型来安排各个段的位置。SECTIONS 指令的语法如下:
SECTIONS
{
.vectors: {}VECS PAGE0;
}
注:“.”加不加都可以;{}表示段的全部,也可以将{}省略。SECTIONS 必须用大写字母,其
后的大括号里是输出段的说明性语句,每一个输出段的说明都是从段名开始,段名之后是如
何对输入段进行组织和给段分配存储器的参数说明。
二MAP 文件
MAP 文件是CCS 软件编译后产生的有关 DSP 用到所有程序、数据及 IO 空间的一种映射
文件。
一、生成方法
MAP 文件主要有两种生成方法,一种是由系统自动生成,默认文件名为所建立的项目名
(如XXX 为项目名)加上.map 后缀xxx.map ,另一种在CMD 文件中指定生成MAP 文件,
操作方法为在MEMORY 指令前面加上“-m abc.map”,文件名可以任意。
二、文件格式
MAP 文件大概分为文件头、内存配置、段映射、全局符号四部分。内存配置与CMD 文
件中的MEMORY 指令关联,在CMD 文件中定义的程序与数据区间定义,在该部分均可以
找到对应,与CMD 文件不同的时,在MAP 文件中加入了一个实际使用的区间,即在程序
中实际用到的空间长度。段映射部分与CMD 文件中的SECTION 指令关联,在该部分程序
中所有的段实际映射的起始地址与实际长度均有详细说明。可以具体到程序中PROGMA 指
定的段和各个单独文件产生的OBJ 文件。全局符号可以是程序使用的每一个函数、程序中
定义的全局变量均可以在此找到对应的起始地址。MAP 文件中采用两种方式列举,一种为
按相应地址排列,另一种按全局符号字母排列。
三、存储地址
MAP 文件默认保存在所在项目下面,由 CMD 文件产生的 MAP 文件保存在该项目的
DEBUG 目录下面。
样例如下:
******************************************************************************
TMS320C2000 COFF Linker PC v4.1.0
******************************************************************************
Linked Tue Apr 08 17:52:23 2008
OUTPUT FILE NAME: ./Debug/F2812.out
ENTRY POINT SYMBOL: _c_int00 address: 003f8362
MEMORY CONFIGURATION
name origin length used attr fill
PAGE 0: RAMM
文档评论(0)