DSP的cmd文件浅谈

 当初说要在博客上有技术讨论在其中,但是不知什么原因迟迟没有添加,今天就开先例吧,谈谈DSP芯片的cmd文件的考虑吧.因为本人觉得在DSP变成中,cmd文件是很重要的,它是工程链接命令文件,是联系软件和硬件的文件,主要是在存储器映像中分配块.
     TI公司的汇编器和链接器所创建的目标文件采用公共目标文件格式,也就是常见的COFF格式.COFF格式鼓励程序员在编程时机遇代码块和数据块的概念,而不是一条条命令或者一个个数据,这样可以增加程序的可读性和移植性.这种块叫section.
     目标文件中的最小单位为块,一个块就是最终在存储器映像中中占据连续的空间的一块代码或数据.一般,COFF文件包含三个默认块:
           .text 块     包含可执行代码
           .data 块     包含以初始化的数据
            .bss    块     包含未初始化的数据保留空间
链接器对块的处理具有两个功能.首先,它将COFF目标文件中的块用来建立程序块或者数据块,她将输入块组合起来,以建立可执行的COFF输出模块;其次,链接器为输出块选择存储器地址.链接器提供两个命令来完成上述功能:MEMORY和SECTION.
   MEMORY命令定义目标系统的存储器,程序员可定义每一块存储器,指定起始地址和长度.
   SECTION命令告诉链接器如何组合输入块以及在存储器何处存放输出块.若不用这两个命令,则链接器采用默认的分配算法;若用的话则一般须在链接器命令文件.cmd
     DSP硬件系统中可能包含很多类型的存储器,想把某一跨二分亿年磅亿毫到一个特定的存储器,就不能用默认分配方法.
     .cmd文件格式如下:
MEMORY
{
     PAGE 0:   PROG:       origin =   2000h, length = 2000h
     PAGE 1:   DATA:       origin =   0c00h, length = 100h
     PAGE 2:   DATA:       origin =   0d00h, length = 200h           
     PAGE 3:   DATA:       origin =   0f00h, length = 100h     
}
SECTIONS
{
     .text     > PROG PAGE 0
     .bss       > DATA   PAGE 1
     .data     > DATA   PAGE 2           
}
主要难点在如何合理安排存储空间,如何设计合适的空间大小,所生成的.out文件必须完全能装进所在空间内,vectors块分配至VECS中,.text块分配到ROM中,.data块分配至ROM 中,.bss块分配至RAM中,等.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值