CMD文件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章CMD文件
2.1、CMD文件综述
CMD文件的主要作用是沟通物理存储器和逻辑地址的桥梁。CMD文件反映了实际电路中存储单元的大小,并且通过阅读CMD文件可以得到系统中存储器的分配情况,特别是配合以MAP文件就可非常方便地得到系统资源的使用情况,有利于优化系统配置。另外,由于C28X推荐使用C语言编程,就存在程序转化分段的问题,也在CMD中得到落实。本实验系统采用的是瑞泰的CMD程序,并且是针对一个实验系统的通用CMD文件。
2.2、例解CMD文件
1、寄存器区
// 片上外设寄存器结构体与存储器分配的对应关系
MEMORY //反映存储器空间范围、描述系统实际的硬件资源
{
PAGE 0: //第0页:程序空间存储器
PAGE 1: //第1页:地址空间存储器
//芯片仿真设定用寄存器(始于0x0000880 长:0x000180)
DEV_EMU : origin = 0x000880, length = 0x000180
//中断向量表
PIE_VECT : origin = 0x000D00, length = 0x000100
//闪存寄存器组
FLASH_REGS : origin = 0x000A80, length = 0x000060
//保密位寄存器组
CSM : origin = 0x000AE0, length = 0x000010
// 外部扩展寄存器组
XINTF : origin = 0x000B20, length = 0x000020
//定时器0 寄存器组
CPU_TIMER0 : origin = 0x000C00, length = 0x000008
//PIE控制寄存器组
PIE_CTRL : origin = 0x000CE0, length = 0x000020 /
//增强型CAN模块寄存器组
ECANA : origin = 0x006000, length = 0x000040
ECANA_LAM : origin = 0x006040, length = 0x000040
ECANA_MOTS : origin = 0x006080, length = 0x000040 ECANA_MOTO : origin = 0x0060C0, length = 0x000040
ECANA_MBOX : origin = 0x006100, length = 0x000100
//系统控制寄存器组
SYSTEM : origin = 0x007010, length = 0x000020
//外设接口寄存器组
SPIA : origin = 0x007040, length = 0x000010
//异步串行通信接口寄存器组
SCIA : origin = 0x007050, length = 0x000010
//外部中断设定寄存器组
XINTRUPT : origin = 0x007070, length = 0x000010
//多功复用引脚选择寄存器组
GPIOMUX : origin = 0x0070C0, length = 0x000020
//多功能引脚数据寄存器组
GPIODAT : origin = 0x0070E0, length = 0x000020
//模拟数字转换寄存器组
ADC : origin = 0x007100, length = 0x000020
// 事件管理寄存器组
EV A : origin = 0x007400, length = 0x000040
EVB : origin = 0x007500, length = 0x000040
//异步串行通信接口B寄存器组
SCIB : origin = 0x007750, length = 0x000010
//多通道缓冲接口寄存器组
MCBSPA : origin = 0x007800, length = 0x000040
//密码保护寄存器组
CSM_PWL : origin = 0x3F7FF8, length = 0x000008
}
SECTIONS //建立与程序一一对应的关系、描述段是如何定位{
PieVectTableFile : > PIE_VECT, PAGE = 1
/*** Peripheral Frame 0 Register Structures ***/
//在头文件中可以找到DevEmuRegsFile的定义
DevEmuRegsFile : > DEV_EMU, PAGE = 1
FlashRegsFile : > FLASH_REGS, PAGE = 1
CsmRegsFile : > CSM, PAGE = 1
XintfRegsFile : > XINTF, PAGE = 1
CpuTimer0RegsFile : > CPU_TIMER0, PAGE = 1
PieCtrlRegsFile : > PIE_CTRL, PAGE = 1
/*** Peripheral Frame 1 Register Structures ***/
SysCtrlRegsFile : > SYSTEM, PAGE = 1
SpiaRegsFile : > SPIA, PAGE = 1
SciaRegsFile : > SCIA, PAGE = 1
XIntruptRegsFile : > XINTRUPT, PAGE = 1
GpioMuxRegsFile : > GPIOMUX, PAGE = 1
GpioDataRegsFile : > GPIODAT PAGE = 1