DSP

DSP28335使用心得

2019-07-13 11:50发布

板子烧写

烧写步骤

  • 将28335供电,连接JTAG仿真器
  • 打开setup CCS软件,选择XDS100USB DSP Emulator,即下载的仿真器
  • 打开CCS 3.3软件
  • 如果没有连接上,则点击debug-->connect,连接成功的话左下角会有提示
  • 打开工程,后缀名是pjt
  • 进行编译链接
  • 点击file-->load program,在一个debug的文件夹里选择后缀名是.out的文件,打开之后就开始擦除并下载了
  • 完成后,可以点击debug-->run,即可观察单片机按照程序的指令运行了
  • 如果不想运行了,首先要debug-->disconnect,然后退出CCS,最后再拔出JTAG和电源线,否则很容易出现类似地址错误的问题等等。。。

#

注意事项

  • 以上所有,按照步骤来!!!

常用模块

GPIO

初始哈步骤

  • EALLOW
  • 配置GPIO是否上拉、出入输出使能、相应初始状态以及相应的mux寄存器需要设置为0(仅适用GPIO功能时)
  • EDIS

基本代码

  • 设置为输入 EALLOW; GpioCtrlRegs.GPBPUD.bit.GPIO51 = 0; // Enable pullup on GPIO51 GpioCtrlRegs.GPBMUX2.bit.GPIO51 = 0; // 设置为一般IO口 GpioCtrlRegs.GPBDIR.bit.GPIO51 = 0; // IO口方向为输入 EDIS;
  • 设置为输出 EALLOW; GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0; GpioDataRegs.GPASET.bit.GPIO0 = 1; //设置初始状态为1 //GpioDataRegs.GPACLEAR.bit.GPIO0 = 1; //设置初始状态为0 GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0; GpioCtrlRegs.GPADIR.bit.GPIO0 = 1; EDIS;

#

注意

  • GPIO分组,不同的号

PIE(peripheral interrupt expansion)

  • 外部中断(GPIO0~GPIO63)

中断的使用方法

  • 初始化PIE控制寄存器
  • 使能所有中断
  • 初始化中断向量表
  • 开中断

ePWM

  • 基本功能
    • 时间基准子模块
    • 计数比较子模块
    • 动作限定子模块
    • 死区控制子模块
    • pWM斩波子模块
    • 错误控制子模块
    • 事件触发子模块

外扩RAM读写

步骤

  • 写入0xAA
  • 写入0x55
  • 写入需要写入的内容

示例代码

for(i = 0; i < 0x4FFFF; i++) { *(ExRamStart + i) = 0x5555; //ExRamStart是RAM的起始地址,可以是0x200000之类的 if(*(ExRamStart + i) != 0x5555) { asm (" ESTOP0");//error } } for(i = 0; i < 0x4FFFF; i++) { *(ExRamStart + i) = 0xAAAA; if(*(ExRamStart + i) != 0xAAAA) { asm (" ESTOP0");//error } } for(i = 0; i< 0xFFFF; i++) { *(ExRamStart + i) = i; if(*(ExRamStart + i) != i) { asm (" ESTOP0");//error } } asm (" ESTOP0");//ok }

外扩Flash读写实验

步骤

  • 初始化外部接口扩展(Xintf)
  • 初始化DSP内部Ram区
  • 清除DSP外扩FLASH(SST39VF800)内容
  • 写数据到SST39VF800(外扩Flash)
  • 清除RAM的数据
  • 将Flash中的数据读到另一块RAM中

基本代码

按照示例程序操作即可

外部中断