1. 初次接触TMS320F28x DSP,感觉与STM32单片机学起来还是有区别。 首先长期使用Keil 和STM32CubeMx,软件比较熟悉,初次接触CCS软件,摸起来没有头脑。
2.TMS320F28379D? DSP 使用的是哈佛结构,数据空间和存储空间分开;通过地理的数据总线在程序和数据空间同时访问。 常用的STM32 等MCU 采用冯·诺依曼结构, 数据空间与存储空间共用一个存储空间,通过一组总线(地址总线与数据总线)连接。
3.首先都是从点亮开发板上的LED灯开始。
4.开发板使用的LaunchPad?TMS320F28379D, 其中有Led_Blue 连接GPIO31; Led_Red 连接GPIO34.
5.在RAM模式中,F2837xD_usDelay.asm中的微秒延时宏 DELAY_US(A)很容易使用,直接DELAY_US(1000*500);即可。 但若将程序下载到Flash 中,如需使用DELAY_US, 需要将Flash中的程序加载到RAM中来运行。网上给出了一种方法连接如下:
(33条消息) 细读DSP延时函数DSP28x_usDelay()及解决烧录至FLASH出错的方法_嵌入式开发分享的博客-CSDN博客
第二种方法:?
查看F2837xD_SysCtrl.c文件。在文件的define区域 添加 #define _FLASH? 即可在flash模式下使用DELAY_US。
- void main(void)
- {
- ? ? int FlushedCount = 30;
- ? ? InitSysCtrl();
- ? ? GPIO_SetupPinMux(31,GPIO_MUX_CPU1,0);
- ? ? GPIO_SetupPinMux(34,GPIO_MUX_CPU1,0);
- ? ? GPIO_SetupPinOptions(31, GPIO_OUTPUT, GPIO_PUSHPULL);
- ? ? GPIO_SetupPinOptions(34, GPIO_OUTPUT, GPIO_PUSHPULL);
- ? ? GpioDataRegs.GPBDAT.bit.GPIO34 = 0;
- ? ? GpioDataRegs.GPADAT.bit.GPIO31 = 1;
- ? ? while(FlushedCount--)
- ? ? {
- ? ? ? ? //Turn on LED_BLUE
- ? ? ? ? GpioDataRegs.GPADAT.bit.GPIO31 = 0;
- ? ? ? ? GpioDataRegs.GPBDAT.bit.GPIO34 = 1;
- ? ? ? ? DELAY_US(1000*500);
- // ? ? ? ?for(delay =0; delay<1000000;delay++)
- // ? ? ? ?{
- //
- // ? ? ? ?}
- ? ? ? ? //Turn off LED_BLUE
- ? ? ? ? GpioDataRegs.GPADAT.bit.GPIO31 = 1;
- ? ? ? ? GpioDataRegs.GPBDAT.bit.GPIO34 = 0;
- ? ? ? ? DELAY_US(1000*500);
- // ? ? ? ?for(delay =0; delay<1000000;delay++)
- // ? ? ? ?{
- //
- // ? ? ? ?}
- ? ? }
- }
|