网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> C3000文章 >> VC33X系列 >> 文章正文
  TMS320VC33系列讲座资料 第四讲         ★★★ 【字体:
TMS320VC33系列讲座资料 第四讲
作者:Free    文章来源:本站原创    点击数:    更新时间:2007-8-16    

第四讲 VC33中CMD文件的写法

呵呵,又来了哦!前段时间忙着本科生的毕业设计,没时间写,今天我们的讲课又开始咯。做好准备了吗:-)

 

前面主要讲了一下DSP的硬件设计,让大家大致了解了一下。从今天开始,我将向大家介绍VC33的软件设计。这一讲向大家介绍VC33CMD文件的写法。

 

所谓CMD文件就是Command文件,即连接命令文件。

 

1、段

 

一般来讲,通用目标文件格式(COFF)一般有三种:*.obj*.lib*.out

 

1)汇编语言中的段

 

1>未初始化段

 

.bss——定义变量存放空间

 

.usect——用户自定义未初始化段

 

2>已初始化段

 

.text——可执行的指令码

 

.data——初始化数据或表格

 

.sect——用户自定义段

 

.asect——类上

 

2C语言中的段

 

1>未初始化段

 

.bss——定义变量存放空间、存放全局、静态变量

 

.stack——存放C中的栈

 

.system——存放C中的堆(heap

 

.const——存放特殊的常数、字符

 

2>初始化段

 

.text——指令代码

 

.cinit——存放全局/静态变量执行初始化的常数数据

 

.switch——存放Cswitch语言产生的表格

 

明白了吗?呵呵。慢慢来:-)

 

2CMD文件

 

1)输入/输出定义:-l     rts30.lib

 

                                   -o    DEMO1.out

 

这两项可由菜单设置。

 

2MEMORY命令——指令存储空间

 

格式如下:

 

MEMORY

 

          {    

 

                PAGE0 name1[atlr]Origin = C1l = C2

 

                 PAGE1 :……

 

                      ……

 

          }

 

举个例子:

 

MEMORY

 

          {

 

                 RAM0 O = 800000h l = 8000h           //片内RAM0

 

                 RAM1 O = 809800h l = 800h             //片内RAM1

 

                 RAM_EX O = A00000h l = 1000h       //片外SRAM

 

           }

 

3SECTIONS——描述“段”定义在哪个物理地址

 

格式如下:

 

SECTIONS

 

          {

 

                name [propertrypropertry,……]

 

           }

 

其中propertry属性是什么?

 

1>load——定义段存放在何处

 

    load =(或> 800100h

 

2>run——定义段在何处运行

 

    run =(或> 800300h

 

举个例子:

 

SECTIONS

 

          {

 

                 .text  >  RAM

 

                 .bss   >  RAM

 

                 .stack >  RAM_EX

 

           }

 

注意:伪指令MEMORYSECTIONS只能大写!

 

下面给出一个完整的CMD文件。

 

-w

-stack  400h

-heap   400h

-l   rts30.lib

 

 

MEMORY

   {

         RAM :   o = 800000h,   l =  8000h

         RAM1:  o = 809800h,   l =  800h

         SRAM:  o = 1000h,       l =  3efffh

         FLASH: o = 400000h,   l =  3fffffh

   }

 

SECTIONS

    {

        .text: > RAM

        .data: > RAM

         .bss : > RAM

         .cinit: > RAM

        .stack:> RAM1

        .const:> RAM

     }

 

大家会了吗?

 

总之,CMD 它是用来分配romram空间用的,告诉链接程序怎样计算地址和分配空间。

 

其实要是在支持BIOSDSP中,根本不用写CMD文件,直接利用图像配置界面自动生成的CMD文件即可。但是像2407VC33不支持BIOSDSP,只能手写CMD文件了。

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    TMS320VC33系列讲座资料 第一…
    TMS320VC33系列讲座资料 第二…
    TMS320VC33系列讲座资料 第三…
    TMS320VC33系列讲座资料 第三…
    TMS320VC33系列讲座资料 第五…
    TMS320VC33系列讲座资料 第六…
    微机保护中DSP与时钟DS12CR8…
    TMS320VC33,CPLD与DS12CR887…
    TMS320VC33汇编语言编写的SS…
    TMS320VC33进行FFT变换C源码
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号