第三章 寻址方式 第四章 程序编写和调试

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

  • 提供了环境配置、源程序编辑、编译、链接、程序调试以及跟踪分析等各个环节
  • 将编译、汇编、链接等工具集成在一起,用一条命令即可完成全部的汇编工作
  • 把软、硬件开发工具集成在其中,使得程序的编写 、汇编、编译、软/硬件仿真等开发工作在统一的 环境中进行

 

上一篇:访问SDRAM的低功耗优化设计方案


下一篇:DSP F28335与STM32 HAL SPI通信详解