欢迎来到天天文库
浏览记录
ID:59199637
大小:737.50 KB
页数:90页
时间:2020-09-26
《第12讲 c语言介绍 DSP芯片应用ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第12讲c语言开发12.1DSP芯片C语言开发简介(以下不讲)12.2模/数接口设计12.3存储器接口设计12.4G.726语音编解码系统12.5语音实时变速系统DSP芯片C语言开发简介TMS320C54xC/C++编译器支持的数据类型表1列出了TMS320C54xC/C++编译器支持的数据类型的大小、表示形式和表示范围,这些数据类型在float.h和limits.h中定义。在C语言开发的过程中,采用合适的数据类型对于系统的正确运行有着极为重要的意义。表1TMS320C54xC/C++编译器支持的数据类型类型bit表示形式最小值最大值signedch
2、ar16ASCII−3276832767charunsignedchar16ASCII065535short,signedshort162sComplement−3276832767unsignedshort16Binary065535int,signedint162sComplement−3276832767类型大小/bit表示形式最小值最大值unsignedint16Binary065535long,signedlong322sComplement−21474836482147483647unsignedlong32Binary042949672
3、95enum162sComplement−3276832767float32IEEE32-bit1.175494e−383.40282346e+38double32IEEE32-bit1.175494e−383.40282346e+38longdouble32IEEE32-bit1.175494e−383.40282346e+38pointers16Binary00xFFFFC语言的数据访问方法1.DSP片内寄存器的访问DSP片内寄存器在C语言中一般采用指针方式来访问,常常采用的方法是将DSP寄存器地址的列表定义在头文件中(如reg.h)。DSP寄存
4、器地址定义的形式为宏,如下所示:#defineIMR(volatileunsignedint*)0x0000#defineIFR(volatileunsignedint*)0x0001#defineST0(volatileunsignedint*)0x0006#defineST1(volatileunsignedint*)0x0007#defineAL(volatileunsignedint*)0x0008#defineAH(volatileunsignedint*)0x0009#defineAG(volatileunsignedint*)0x000
5、A#defineBL(volatileunsignedint*)0x000B#defineBH(volatileunsignedint*)0x000C#defineBG(volatileunsignedint*)0x000D#defineT(volatileunsignedint*)0x000E#defineTRN(volatileunsignedint*)0x000F#defineAR0(volatileunsignedint*)0x0010#defineAR1(volatileunsignedint*)0x0011#defineAR2(volat
6、ileunsignedint*)0x0012#defineSP(volatileunsignedint*)0x0018#defineBK(volatileunsignedint*)0x0019#defineBRC(volatileunsignedint*)0x001A#defineRSA(volatileunsignedint*)0x001B#defineREA(volatileunsignedint*)0x001C#definePMST(volatileunsignedint*)0x001D#defineXPC(volatileunsignedin
7、t*)0x001E在主程序中,若要读出或者写入一个特定的寄存器,就要对相应的指针进行操作。下例通过指针操作对SWWSR和BSCR进行初始化。#defineSWWSR(volatileunsignedint*)0x0028#defineBSCR(volatileunsignedint*)0x0029intfunc(){...*SWWSR=0x2000;*BSCR=0x0000;...}2.DSP内部和外部存储器的访问同DSP片内寄存器的访问相类似,对存储器的访问也采用指针方式来进行。下例通过指针操作对内部存储器单元0x3000和外部存储器单元0x8FF
8、F进行操作。int*data1=0x3000;/*内部存储器单元*/int*data2=0x8FFF;/*外
此文档下载收益归作者所有