cmd
C2000 系 CMD 文件的配置理解
近来群里问 CMD 问题的朋友较多,工程上因为 CMD 配置较差引起的问题确实不少,
重新学了下 CMD 的理论写了些心得与网友共享,还请批评指教。
CMD 的专业名称叫链接器配置文件,是存放链接器的配置信息的,我们简称为命令文件,
其中比较关键的就是 MEMORY 和 SECTIONS 两个伪指令的使用,常常令人困惑,
系统出现的问题也经常与它们的不当使用有关,我将重点讲解。
CCS 是从 DOS 系统下 DSP 软件继承的开发环境。
CCS 的命令文件是 DOS 命令文件经过很长时间的引申发展了,
已经变得非常了简洁(不知道 TI 文档有没有详细 CMD 配置说明)。
我学 CMD 是从 DOS 里的东西开始的,所以也从 DOS 环境下的 CMD 说起:
1 命令文件的组成
命令文件的开头部分是要链接的各个子目标文件的名字,
这样链接器就可以根据子目标文件名,将相应的目标文件链接成一个文件;
接下来就是链接器的操作指令,这些指令用来配置链接器,
接下来就是 MEMORY 和 SECTIONS 两个伪指令的相关语句,必须大写。
MEMORY,用来配置目标存储器,SECTIONS 用来指定段的存放位置。
结合下面的典型 DOS 环境的命令文件 link.cmd 来做一下说明:
file.obj //子目标文件名 1
file2.obj //子目标文件名 2
file3.obj //子目标文件名 3
- o prog.out //连接器操作指令,用来指定输出文件
- m prog.m //用来指定 MAP 文件
MEMORY
{ 略 }
SECTIONS
{ 略 }
otherlink.cmd
本命令文件 link.cmd 要调用的 otherlink.cmd 等其他命令文件,
则文件的名字要放到本命令文件最后一行,
- 1
- 2
前往页