DSP的botload.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DSP的botload

DSP的bootload TMS320F2812的CMD文件配置详解 KMplayer播放RMVB没有声音的解决方案。 DSP的bootload默认分类 2009-10-20 17:16:02 阅读410 评论1 字号:大中小 订阅 初学DSP时最头疼的事就是DSP的bootload问题,以前学51时只要把程序写好编译通过后就可以用烧写器直接将*.hex文件烧进单片机运行。但DSP内部不带FLASH RAM,它必须在复位期间将外部的程序加载到内部RAM之后才能运行。这有点像PC 的体系结构,PC 机中的引导加载程序由 BIOS(其本质就是一段固件程序)和位于硬盘 MBR 中的 OS Boot Loader(比如,LILO 和 GRUB 等)一起组成。BIOS 在完成硬件检测和资源分配后,将硬盘 MBR 中的 Boot Loader 读到系统的RAM 中,然后将控制权交给 OS Boot Loader。Boot Loader 的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统。我刚开始时就被这bootload搞的心焦如焚,仿真好的程序却不能脱机运行,最好还是老老实实看TI的DSP datasheet,经过一番周折总算搞定!为此我想把我的调试心得写出来与大家共享,一方面是避免初学者走弯路,另一方面是借此抛砖引玉望方家多斧正^_^。 简单地说,bootloader就是在用户程序运行之前的一段小程序,通过这段小程序初始化硬件设备、建立内存空间的映射图,最终调用用户程序。这段小程序其实已固化在DSP芯片TMS320VC33内部ROM中,在TMS320C3X datasheet中有源码及功能流程图,我们只需知道它的功能流程即可。从流程图我们可以知道在DSP上电复位时只要DSP芯片引脚MCBL/MP为高电平,TMS320VC33就开始自动执行固化在内部ROM中的bootloader程序,然后根据外部中断引脚INT3~INT0判断用户程序的加载起始地址。 管脚 电平 存储空间 INT0 0 0x001000 INT1 0 0x400000 INT2 0 0xfff000 INT3 0 串口 在我的系统应用中,我将程序存储在外部FLASH芯片39VF040中,它在系统中的起始地址为:0X400000,所以只要DSP复位时外部中断引脚INT1为低电平,bootloader程序就开始读取外部FLASH芯片39VF040中的用户程序并加载到DSP内部RAM中,加载完毕后就自动跳到用户程序的入口地址开始运行用户程序。从bootloader的流程图还可以知道,bootloadr加载用户程序时是有一定格式要求的,即存储在用户外部FLASH程序空间的数据结构的格式要求如下: WORD 0 : 用户外部FLASH芯片数据宽度,如8,16,32位等 WORD 1 : 控制字,用来写入TMS320VC33的总线控制寄存器 WORD 2 : 数据块大小 WORD 3 :当前上载数据块将要装载到DSP内部RAM中的目标地址 WORD 4~N :用户程序内容 用户的程序分为多个数据块(因为DSP开发软件生成的目标文件是COFF格式),每块数据块起始都包含一个程序头,每个又包含两个内容:1、当前数据块大小,即32位格式的数据量。2、当前数据块在DSP内部RAM存储的起始地址。程序头之后就是用户的程序内容。 讲到这里问题的关键就出来了:怎样产生这样的程序块呢?程序内容应该为哪种格式*.hex、*.bin、*.out?这也是我当初最头疼的问题。 用TI公司的DSP开发软件Code Composer建立一个项目文件后,要做的第一件事就是编写*.cmd命令文件,命令文件有两个:一个是链接命令文件,另一个是boot引导表格式生成命令文件。 链接命令文件作用是分配各个程序段在DSP内部RAM中的存储位置,链接命令文件必须和项目文件名相同。例如项目online.mak的链接命令文件online.cmd如下所示: -c //ROM初始化 -o online.out //产生online.out可执行文件 -m onl

文档评论(0)

word.ppt文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档