5453|1

190

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

DSP的C语言心得记录-熟悉编写链接命令文件(.cmd) [复制链接]

链接命令文件(.cmd文件)通过段定位控制命令,分配程序代码和数据运行存储空间。
链接命令文件有两个重要的指令:MEMORY和SECTIONS。
(1)、MEMORY
指出目标系统中物理上存在的存储空间的范围,即可供程序使用的存储空间范围。在默认状态下,PAGE0代表程序空间,PAGE1代表数据空间。
(2)、SECTIONS
1)、描述输入段如何组合成输出段。
2)、定义可执行程序的输出段。
3)、指出输出段存放在存储空间中的位置。
4)、允许重命名输出段。
    .cmd文件编写的目的 确定程序和数椐的装载运行空间,校验数据和程序代码的长度,定义输入/输出文件,安排系统中可用的存储器,程序段、数据段、堆栈以及复位向量和中断向量的地址空间。
链接命令文件通过段定位控制命令,分配程序代码空间、数据代码空间、程序运行空间、堆栈空间。
u
.CMD文件命令格式
Ø
MEMORY定义目标板物理存储空间分配,默认状态下,PAGE0为程序空间, PAGE1为数据空间。
Ø
SECTIONS定义程序连接过程中各个输入段与输出段之间的关系,并给出输出段地址。① 给出输入段组合成输出段的方式; 定义可执行程序的输出段; 指出输出段存放在存储空间中的位置④ 允许重命名输出段。
点赞 关注
 

回复
举报

190

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
例如 .cmd文件应用

MEMORY

{

     PAGE 0:   PROG: origin = 0x1400, len = 0x2c00

                       ;第0页程序空间开始地址0x1400,空间长度0x2c00

                      VECT: origin = 0x0080, len = 0x80   

                       ;第0页中断向量开始地址0x0080,空间长度0x80

     PAGE 1:   REGS: origin = 0x60, len = 0x1c   

                       ;第1页寄存器空间开始地址0x60,空间长度0x1c

               IDATA: origin = 0x80, len = 0x1380

                      ;第1页数据空间开始地址0x80,空间长度0x1380

EDATA: origin = 0x1400,len = 0x8000

                       ;第1页扩展数据空间开始地址0x1400,空间长度0x8000

             EDATA1: origin = 0x9400,len = 0x4c00

                       ;第1页扩展数据空间开始地址0x9400,空间长度0x4c00

}

SECTIONS

{

    .vectors:   {}> VECT PAGE 0      ;中断向量在第0页

    .text:        {}> PROG PAGE 0      ;程序代码在第0页

    .cinit:       {}> PROG PAGE 0      ;初始化变量在第0页

    .pinit:       {} > PROG PAGE0      ;初始化参数在第0页

    .bss:         {} > IDATA PAGE1     ;非初始化变量在第1页

    .far:         {} > IDATA PAGE1     ;长调函数在第1页

    .const:     {} > IDATA PAGE1     ;常数在第1页

    .switch:   {} > IDATA PAGE1     ;数据交换空间在第1页

    .sysmem: {} > IDATA PAGE1     ;

    .cio:        {} > IDATA PAGE 1     ;C语言I/O调用在第1页

    .stack:     {} > IDATA PAGE 1    ;堆栈在第1页

    .csldata:   {} > IDATA PAGE 1    ;C语言宏调用在第1页

}
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表