原创 DSP程序设计指导

2008-5-3 19:34 3168 10 10 分类: 处理器与DSP





一.源代码书写格式

   
源代码的书写有一定的格式,初学者往往容易忽视。简单归纳如下:

    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 /*
数据段*/

}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
10
关闭 站长推荐上一条 /3 下一条