background image

比如:#define IMR ((PORT)0x0004)

#define XINT1_CR ((PORT)0x07070)

IMR 、XINT1_CR 就对应两个寄存器,实际是寄存器的地址,用高级语言的说法是指针。

我们也在程序的开始部分用#include“c240.h”语句将该文件包含进来。这样,在 DSP 的 C 语

言中使用它们只需在前面加一个星号(*),例如,

*IMR=0X1010;/* 将 16 进制数 1010H 赋给 IMR

 

寄存器 */

*XINT1_CR=0X0A0B0;/*将 16 进制数 A0B0H 赋给 XINT1_CR

 

寄存器 */

        开发者最好将 c240.h 这个文件打印出来,弄清楚各个寄存器的定义名称。至于不涉

及硬件的语法和 ANSI 语法一样,需要注意的是,有些 ANSI 标准中的函数在 DSP 的编译

器中不提供,读者可以参考 DSP 编译器的 C 语言手册。搞清楚了这些特殊性,由汇编语

言转到 C 语言开发是很容易的事,当然,没有汇编语言编程基础的人同样可以用 C 语言

开发 DSP 应用系统。

        有关嵌入式系统的 C 语言编程可参考《单片机与嵌入式系统应用》2001 年 1 到 6 期上

马忠梅的 嵌入式 C

编程技术 ,本文不做讨论。下面只针对以 TMS320F240 芯片为处理器

的嵌入式 C 语言编程进行阐述,希望能够指导读者进行具体操作。

2、TMS320F240 芯片的 C 语言开发过程

简单地说,整个过程包括以下五个步骤:

编辑 C

 

语言源程序

 

编译源程序(注意编译参数)

链接目标文件(注意用 CMD

 

文件)

 

在线仿真

 

固化程序

下面分别进行阐述。

 

一 源程序的编辑

     可以用任何一个编辑器书写源程序,如 EDIT、NOTEPAD 等,最后以.C 为后缀存盘。

源代码可以写在一个 C 文件中,也可写在多个 C 文件中,有些预定义变量和函数原型声

明可以集中放在一个头文件中。

注意事项:不要忘记在 C

 

程序的前面用 #include “c240.h”将寄存器定义文件包括进来。