C28xCPU支持寻址方式:
- 直接寻址方式:16位的DP寄存器被当做一个固定的页指针,将指令中提供的6位地址偏移量与DP寄存器中的值组合起来就构成完整的地址
- 堆栈寻址方式:16位的SP指针被用来访问软件堆栈的内容。堆栈是从低端地址向高端地址生长的,SP总是指向下一个空的存储单元。SP 的值减去指令中提供的6位偏移量作为被访问数据的地址,而堆栈指针将在压栈后加1,出栈前减 1.
- 间接寻址方式:32位的XARn寄存器被当作一般的数据指针来使用。通过相应的指令可以实现操作后XARn增 1、 操作前/后减1,还可以配合3 位偏移量或者其它 16 位寄存器实现变址寻址
-
寄存器寻址方式:另一个寄存器可以是该次访问的源或者目的操作数。这样在C28x中就能实现寄存器到寄存器的操作。
-
数据/地址/10空间立即寻址方式:存储器中操作数的地址被包含在指令中
-
程序空间间接寻址方式:某些指令可以通过间接指针来访问位于程序空间中的存储器操作数。由于在 C28xCPU 中存储器是统一寻址的,所以单周期内可以读取两个操作数。
软件模拟器:脱离硬件的纯软件仿真工具。模拟运行DSP程序,同时对程序进行单步执行、设置断点,对寄存器/存储器进行观察、修改,以及统计某段程序的执行时间等。
硬件仿真器:在线仿真器ICE,是用来调试DSP软件的硬件设备,用JTAG接口电缆和USB2.0接口分别连接DSP硬件目标系统与PC机。通过在线仿真器,可以让软件在真正将要运行的硬件上运行和调试
DSP开发系统:
一个包含DSP、存储器及常用接口电路的通用电路板与相应软件的硬软件系统。
- DSK(DSP Starter Kit) eZdsp
- EVM(Evaluation Module)
- DSP实验箱
程序的编写
三种基本文件:
- C语言文件或者汇编语言文件,后缀为.c或.asm,实现DSP要完成的功能
- 头文件,后缀为.h,定义寄存器映射地址、用户用到的常量和自定义的寄存器
- 命令文件,后缀为.cmd,对程序和数据存储器空间进行分配
文件常用的伪指令有Memory和Sections伪指令
Memory:用来标示实际存在目标系统中且可被使用的存储器范围,每个存储器范围具有名字,起始地址和长度。
Sections:描述输入段怎样被组合到输出段内;可在执行程序内定义输出段;规定在存储器内何处放置输出段;允许重命名输出段。
常用伪指令
.cinit,.const,.swich,.text,.ebss,.stack
主要工具
- 归档器:用来对文档或者库中的文件进行分离和合并
- 助记符到代数汇编语言转换公用程序
- 库创建应用程序
- 运行支持库
- 十六进制转换器
- 交叉引用列表器
- 绝对列表器
集成开发环境CCS
- 提供了环境配置、源程序编辑、编译、链接、程序调试以及跟踪分析等各个环节
- 将编译、汇编、链接等工具集成在一起,用一条命令即可完成全部的汇编工作
- 把软、硬件开发工具集成在其中,使得程序的编写 、汇编、编译、软/硬件仿真等开发工作在统一的 环境中进行