1 / 51
文档名称:

C语言DSP开发与应用举例课件.ppt

格式:ppt   大小:11,966KB   页数:51页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言DSP开发与应用举例课件.ppt

上传人:miao19720107 2022/7/29 文件大小:11.69 MB

下载得到文件列表

C语言DSP开发与应用举例课件.ppt

相关文档

文档介绍

文档介绍:*
C语言DSP开发
使用C语言开发DSP的原因

基于DSP芯片的软件开发,用DSP芯片的汇编语言编写程序是一件比较繁杂的事情。一般来说,各个公司的DSP芯片所提供的汇编语言并不相同,即使是同一公司的芯片
交叉引用
列表器
调试工具
TMS320C54x
绝对地址
列表器
HEX代码
转换工具

*
C编译器
,编译器运行指令:
Cl500 filenames objectfiles
Filenames:一个或多个C语言源文件的名称。
Objectfiles:编译器所创建目标文件的文件名
*

(1)存储器模式
(2)C语言与汇编语言的混合编程方法
DSP的C语言程序能否正确执行,关键是所有的运行代码是否能保持一个正确的运行环境。包括:存储器模式,字符串常量,寄存器规则,函数的结构和调用规则,C语言和汇编语言混合汇编,中断处理等。本节主要介绍一下两点:
*
DSP的C编译器将存储器分成两个线性的段,分别是程序存储器和数据存储器。程 序存储器包含可执行的代码。数据存储器包含外部变量、静态变量和系统堆栈。
由C程序生成的代码段和数据段将连续地存放在存储器中。
C编译器生成的段
C编译器对C程序进行编译后生成可以重定位的代码和数据段,这些段可以用不同的方式分配到存储器以符合不同系统配置的需要。这些段可以分为两种类型,一种是已初始化段,另一种是未初始化段。
(1)存储器模式
*
已初始化段主要包括数据表和可执行代码。C编译器共创建5个已初始化段:
●.cinit段:包含初始化变量和常数。
●.const段:包含由C限定词const定义的字符串常量和数据。
●.switch段;包含switch表
●.text段:包含所有的可执行代码。
*
未初始化段用于保留存储器空间(通常是RAM),程序利用这些空间在运行时创建 和存储变量。C编译器共创建了3个未初始化段。
*
面向DSP的C语言可以直接嵌人C54xx的汇编指令或者伪指令。直接嵌入汇编指令一方面可以在C程序中实现C语言无法实现或者很难实现的一些硬件控制功能,例如修改中断控制寄存器、中断使能寄存器、读取状态寄存器和中断标志寄存器等;另一方面也可以在C程序中的关键部分用汇编语句代替C语句,以便能优化程序,从而提高整个程序的运行效益。直接嵌人汇编指令在结构上好像调用一个特殊命名为asm的且带有一个字符串常量参数的函数,其基本格式如下:
(2)C语言与汇编语言的混合编程方法
*
Asm(“汇编指令”)
汇编指令用双引号包括起来,编译器将双引号中的字符串直接复制到输出文件中。
*
ARM&DSP实验箱
DSP采用TI公司的TMS320VC5410,该芯片可以稳定工作在160MHz主频;内部具有128KB片内RAM和32KB片内ROM;该芯片内部包含有一个16位定时器,6个DMA控制器,3个McBSP串行口和1个增强型HPI控制器。对于本实验系统上的DSP模块,板上提供了512KB的Flash ROM,用于存放代码。
*
ARM&DSP实验箱结构图
*
*
*
*
*
*
*
*
JTAG接口
*
C语言DSP开发
*
DSP芯片应用举例
1、DSP芯片的C语言开发
2、实验平台介绍
3、实验内容
*
1、DSP芯片的C语言开发(P232)
C语言的数据访问方法
(1)片内寄存器的访问
通过头文件定义,指针访问;
(2)DSP内部和外部存储器的访问
采用指针方式访问;
(3)DSP I/O端口访问
通过ioport关键字访问;
*
C语言和汇编语言混合编程
(1)方法一:独立编写C和汇编
(2)方法二:在C程序中直接嵌入汇编 语句
(3)方法三:将C程序编译生成相应汇 编语句,然后对汇编程序 手工优化和修改
*
2、实验平台介绍
Data
Address
MCBPS
JTAG
I/O
MCBPS
TMS320VC5402
SRAM 模块
128K*16
LCD点阵模块
Address/Data
TLC320AIC10
直流电机模块
Logging
Interface
MCBPS
E