比如:#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”将寄存器定义文件包括进来。