- 1、本文档共80页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP课件解读
开发工具 调试器接口C/Assembly source debugger 为嵌入式系统的开发提供了丰富的功能与灵活性 是模拟器、评估模块、在线仿真器等的标准接口 该平台可以运行在PC等平台上,对用C或汇编语言写的程序提供完全的控制 * 开发工具 模拟器Simulator 一个软件程序,使用主机的处理器和存储器来仿真TMS320 DSP的微处理器和微计算机模式,从而进行软件开发和非实时的程序验证 在PC机上,典型的仿真速度为每秒几百条指令 * 开发工具 DSP入门套件DSK 为初学者设计和生产的,用以评价DSP平台的廉价的开发工具 在PC机上,用户可使用DSK来进行DSP的实验,进行如控制系统、语音处理等应用 可以用来编写和运行实时源代码,并对其做评估 可以用来调试用户自己的系统 * 开发工具 标准评估模块EVM 用于器件评估、标准程序检查以及有限的系统调试 EVM是一个PC插件,包括目标处理器、一个小容量的存储器和有限的外设 可用来实时运行代码,并与外部系统接口 * 开发工具 硬件仿真器Emulator 在计算机平台,基于C语言或汇编语言编译的,可模拟执行硬件平台及其程序的软件程序 * DSK开发板 TMS320C6416T: 定点DSP 基于第二代高性能的VLIW架构 VLIW:超长指令字,一种非常长的指令组合,它把许多条指令连在一起,增加了运算的速度 * DSK开发板 * C6416内部连接 * AIC23 AIC23编码器控制寄存器 * AIC23 AIC23的寄存器集合 * LED和DSP DSK包括4个软件可配置LED和DIP开关 利用CPLD的USER_REG寄存器配置。 寄存器映射到EMIFB数据地址空间,地址为0 * LED和DSP USER_REG寄存器用于读取DIP开关状态,并将LED灯开关 前4个比特用于DIP 后4个比特用于LED 引用寄存器方法,如:DSK6416_USER_REG * LED和DSP DSK6416相关函数 void DSK6416_init(); /* 初始化板子的初始函数 */ Uint8 DSK6416_rget(Int16 regnum); /* 读取CPLD寄存器的8bit值 */ void DSK6416_rset(Int16 regnum, Uint8 regval); /* 写8bit数值到CPLD寄存器 */ void DSK6416_wait(Uint32 delay); /* 插入delay次的迭代循环 */ void DSK6416_waitusec(Uint32 delay); /* 插入delay微秒的迭代循环 */ Int16 DSK6416_getVersion(); /* 获取DSK版本 */ * 程序优化 程序优化 在软件编程结束后利用软件开发工具对程序进行优化,让程序充分利用资源,提高运行速度和精简指令长度,达到高效的过程 优化原理 C6000 系列CPU 中的8个功能单元可以并行操作,并且其中两个功能单元为硬件乘法运算单元,大大地提高了乘法速度。 DSP采用了具有独立程序总线和数据总线的哈佛总线结构,仅片内程序总线宽度就可达到256 位,即每周期可并行执行8 条32位指令; 片内两套数据总线的宽度分别为32 位 流水技术 * 程序优化 优化过程大致分为三个阶段: 第一阶段:通过选定C 编译器的选项来实现优化。在这个阶段可实现程序级优化,从而部分消除多余代码。 第二阶段:针对C 源程序,进行优化。在运算中,循环经常占用大量的时钟周期, 对循环的优化成为代码优化的重点。 第三阶段:对重点段直接线性汇编。 * 程序优化 编译选项: -mv6400:使用和目标DSP相关的指令以及存储器对齐方式。此选项编译器默认执行。 -on:其中n可以取值为0、1、2和3,编译器将根据n的不同,执行不同等级的优化 -k:生成编译器输出的.asm汇编文件. -mw:生成详细的软件流水报告。使用-mw后,系统会默认使用-k选项,生成.asm汇编文件并且在其中加入软件流水报告。 * 程序优化 关键字 restrict 关键字restrict是对指针、引用或数组的一种限定。 使用restrict关键字是为了确保其限定的指针在声明的范围内,是指向一个特定对象的唯一指针,即这个指针不会和其它指针指向存储器的同一地址。 使编译器更容易确定是否有别名信息,从而更好地优化代码。 * 程序优化 _nassert语句 C6416可以在每个时钟周期加载两个64位比特数,对于shor
文档评论(0)