您的位置:控制工程论坛网论坛 » 人机界面 » DSP程序设计指导

常青树

常青树   |   当前状态:在线

总积分:1421  2025年可用积分:0

注册时间: 2008-09-28

最后登录时间: 2012-05-30

空间 发短消息加为好友

DSP程序设计指导

常青树  发表于 2008/10/29 13:01:54      880 查看 0 回复  [上一主题]  [下一主题]

手机阅读

 

一.源代码书写格式
源代码的书写有一定的格式,初学者往往容易忽视。简单归纳如下:
    1
.每一行代码分为三个区:标号区、指令区和注释区。标号区必须顶格写,主要是定义变量、常量、程序标签时的名称。指令区位于标号区之后,以空格或TAB格开。如果没有标号,也必须在指令前面加上空格或TAB,不能顶格。注释区在标号区、程序区之后,以分号开始。注释区前面可以没有标号区或程序区。另外还有专门的注释行,以*打头,必须顶格开始。
    2
.一般区分大小写,除非加编译参数忽略大小写。
    3
.标点符号有时不注意会打成中文全角字符导致错误。
书写格式的要求在很多DSP书里都没有提,初学者往往只把书上的代码输入进去,编译时得到错误的提示,而不知所措。其中最容易犯的错误指令顶格写,不过一般经提示后不会犯第二次。
有些格式CCS并没有做要求,但注意养成良好的代码书写风格,增加代码的可读性。以上两个例子的书写风格可作参考,但不是硬性规定:
    1
.标号区占3TAB的间隔,即12个字符
    2
.指令中的指令码占两个TAB间隔,然后是操作数。
    3
.每一行的尾注能对齐的尽量对齐
    4
.标明一段程序功能的注释以*号打头顶格写,如果功能说明的注释较多,用分格线框起来。
此外其它编程语言的编程风格也可以借用过来,比如标示符命名规则、程序说明的要求等。如果项目组有规定,则按规定执行。
本书的代码尽量保持一定的风格,不过读者可以发现前面的代码注释较多,后面随着学习的深入,一般不会对每一条指令加注释,只注明程序段的功能。另外代码贴到word里后,格式有些错位,无法一一纠正。
二.链接配置文件
一个完整的DSP程序至少包含三个部分:程序代码、中断向量表、链接配置文件(*.cmd)。这里介绍一下链接配置文件文件,对本次试验影响不大的中断向量表将在后文介绍。
连接配置文件的确定了程序链接成最终可执行代码时的选项,其中有很多条目,实现不同方面的选项,其中最常用的也是必须的有两条:
    1.
存贮器的分配
    2.
标明程序入口。
对一个简单的实验,下面的简单的链接配置文件就够用了:
/* TestXF.cmd */
-e CodeStart /*
程序入口,必须在程序中定义相应的标号*/

MEMORY {
page 0:
PRAM: org=0100h len=0F00h /*
定义程序存贮区,起始0100H,长度0F00H*/
}

SECTIONS{
.text:>PRAM page 0 /*
.text段映射到page0param*/
}

   
由于每个程序都需要一个链接配置文件,可以编写一个满足通常需要的链接配置文件。作为本手册通用的链接配置文件如下,可以满足本书大部分程序的需要。在未特别指明的情况下使用这个通用的链接配置文件:

/* 5402.cmd */
-e CodeStart /*
程序入口,必须在程序中定义相应的标号*/
-m map.map /*
生成存储器映射报告文件 */

MEMORY {
PAGE 0:
VECT: org=0080h len=0080h /*
中断向量表*/
PARAM: org=100h len=0F00h /*
代码区*/
PAGE 1:
DARAM: org=1000h len=1000h /*
数据区*/
}

SECTIONS {
.text :> PARAM PAGE 0 /*
代码段*/
.vectors :> VECT PAGE 0 /*
中断向量表*/
STACK :> DARAM PAGE 1 /*
堆栈*/
.bss :> DARAM PAGE 1 /*
未命名段*/
.data :> DARAM PAGE 1 /*
数据段*/
}
1楼 0 0 回复