TMS320C6000系列DSP程序固化方式分析

上传人:s****a 文档编号:158504559 上传时间:2022-10-05 格式:DOCX 页数:5 大小:15.11KB
收藏 版权申诉 举报 下载
TMS320C6000系列DSP程序固化方式分析_第1页
第1页 / 共5页
TMS320C6000系列DSP程序固化方式分析_第2页
第2页 / 共5页
TMS320C6000系列DSP程序固化方式分析_第3页
第3页 / 共5页
资源描述:

《TMS320C6000系列DSP程序固化方式分析》由会员分享,可在线阅读,更多相关《TMS320C6000系列DSP程序固化方式分析(5页珍藏版)》请在装配图网上搜索。

1、TMS320C6000 系列 DSP 程序固化方式分析引言本章内容主要针对TMS320C6000系列芯片,其他类型芯片可能会有差别,但总体思 路应该都有指导作用。随着近年来数字信号处理器(DSP)技术的迅猛发展,其中,TI公司推出的TMS320C6000 系列 DSP 器件更是在许多需要进行大量数字信号处理运算并兼顾高实时性要求的场合得以 应用。TMS320C6000系列DSP的系统设计过程中,DSP器件的程序加载是较难解决的问 题之一。C6000系列DSP的加载方式包括不加载、主机加载和EMIF加载3种。不加载No boot:方式仅限于存储器0地址不是必须映射到RAM空间的器件,否则在RAM

2、空间初始化 之前CPU会读取无效的代码而导致错误;主机加载Host boot:要求必须有一外部主机控制DSP的初始化,这将增加系统的成本和复杂度,在很多实际 场合是难以实现的;EMIF 加载EMIF boot:DSP与外部ROM / Flash接口较为自由,但片上Bootloader工具自动搬移的代码量有 限(1 KB64 KB)。本文讨论的就是在EMIF加载方式下的程序各种不同的固化方式。包括在线烧写,使 用 CCS 提供的 FlashBurn 工具,使用专有烧写工具编程器,一、DSP 加载方式的选择DSP使用哪种加载方式进行启动,是通过硬件配置的方式选择,当DSP的RESET引 脚无效后,

3、 DSP 读入外围的配置引脚信息,确定加载启动的具体方式。具体的配置管脚设 定可以参考 literature number: SPRS200二、EMIF加载方式启动过程当RESET变成高电平的时候,在CE1空间开始的1K字节的ROM代码通过EDMA 被复制到地址为0的地方(用DSP EMIF最慢的时序),在此期间DSP核一直处于“停止”状 态。数据被存储成系统所用的字节序格式。在这种情况下,EMIF自动的把要搬移的8位宽 数据拼接为32位指令字。EMDA自动地通过单帧块传输把ROM的数据搬移到地址0。完 成数据的搬移之后,DSP核从“停止”的状态切换到运行状态(从地址0开始运行)。三、在线烧写

4、固化使用自己编写的烧写代码,将项目的映像文件烧写到FLASH中,具体讲这有两种烧写 方法,一种是将烧写代码和目标代码制作到一个项目中,通过一个常量的定义决定是否执行 烧写代码的工作,好处是程序烧写固化简单,不涉及到烧写文件格式的转换,一种是将烧写 代码单独做成一个工程,将目标工程生成的输出文件.out通过仿真器下载到DSP中,之后 将烧写代码工程的输出文件.out也下载到DSP中,并且要保证这两个.out文件占有不同的 RAM区,之后运行烧写工程将RAM中下载的目标代码数据烧写到FLASH中,好处是目标 代码和烧写代码独立,烧写代码可以为其他程序公用。将烧写代码和目标代码合并成一个项目的做法见

5、我前面转载的博文,那篇文章写的很详尽,其实本篇文章中很多地方都借鉴了那篇博文的资料,虽然不知作者不能具名表示感谢 但这篇文章确实对我帮助很大,在此表示感谢。第二种烧写方式中需要注意的是目标工程应该按实际的地址使用,编写链接文件.cmd, 并且要先下载到DSP中,之后将我们自己编写的烧写代码工程下载到DSP中,注意这个 烧写工程的链接文件中的地址分配一定要与目标项目中使用的地址分开,否则会造成覆盖目 标工程代码的问题,最终烧写到FLASH中的数据就是错误的,无法运行。其实有另外一种数据下载的方式,那就是使用CCS中的Fileadataaload的装入数据功 能,这时将目标项目的代码当成了数据,将

6、之装入到DSP的RAM中,而后在烧写工程中 将该数据烧写到FLASH中,这时需要做一个文件格式转换的操作才行,就是将.out文件转 换为.dat格式的文件,.dat文件格式和.hex文件格式极为类似,可以先将.out文件转为.hex, 这可以使用ti的hex6x程序完成,当然这还需要编写一个.cmd文件,指明需要映射的地址, 注意这个地址千万不能是这个目标项目实际的装载地址,应该设置到这个目标板的RAM区, 这样使用Fileadataaload才能把数据装载进来。至于为何如此,在后面谈到的.out/.hex/.bin 文件的格式中会提到四、使用 CCS 插件 flashburnflashbur

7、n是TI提供的一个在线烧写工具,安装后可以作为CCS的一个插件使用,提 供图形界面可以方便地对Flash执行擦除、编程和查看内容等操作。FlashBurn工具运行时 需要下载一个.out 镜像(FBTC,FlashBurn Target Component)到 DSP 系统中,这个 FBTC 就是一个执行程序,它与FlashBurn交互,接收FlashBurn的指令,实际完成对FLASH的 擦写工作。由于FlashBurn和FBTC的定制特性使得它的应用只能局限在一些特定的场所, 例如:如果用户自己的电路板上使用的是与DSK同品牌的Flash芯片,接口为16位数据宽 度,那么,使用FlashB

8、ur工具烧写将最多只有一半的Flash容量能够被使用,要想正确实现 EMIF加载就必须选择8位加载方式。这就造成了 Flash存储器资源的浪费,同时限制了用户 开发的灵活性。虽然TI公司提供了 FBTC的源代码供有需要的用户修改,但这样用户需要去了解FBTC 的运行机制及其与上位机的通信协议,并对Flash烧写函数进行修改。用户可能需要修改的 几个地方如下:对Flash编程的关键字和地址,BurnFlash函数中的数据指针和EMIF 口的配 置(针对1.0版本FBTC)。这就给用户开发带来了不便。把开发时间浪费在了解一个并不算 简单的 Flash 烧写工具上并不是一个好的选择。五、使用专门的编

9、程工具可以使用专用的编程工具将目标工程代码烧写到Flash中,由于编程器使用的输入文 件主要是.hex/.bin文件,所以需要进行目标工程文件.out到.hex/.bin文件格式的转化,其次 flash现在需要使用插座式的安装方式,用于安装烧写后的Flash0较为麻烦,而且可靠性 不好。六、烧写文件格式解析在上面提到的文件烧写中常常提到使用不同的文件格式,下面就上面提到的各种文件格 式做一个比较剖析,这样我们就会从更深层次上理解为何会使用这种或那种烧写的方式,知 其所以然。COFF格式,文件扩展名.out,全名是通用目标文件格式(Comm onO bject File Format),文件格式

10、包括段头,可执行代码和初始化数据,可重定位信息,行号入口,符号表,字符串 表等HEX格式,Hex文件的INTEL格式:这是In tel公司提出的按地址排列的数据信息,数 据宽度为字节,所有数据使用 16 进制数字表示,由一条条记录组成,每一行为一个记录, 格式如下:llaaaattdd.cc: 起始符ll 长度aaaa 地址dd.数据HEX文件是用ASCII来表示数据,例如0x22需要两个字节0x3232表示cc 校验和BIN 文件对二进制文件而言,其实没有“格式”。文件只是包括了纯粹的二进制数据。在使用CCS的fileaload program装入文件的时候,装入的是.out文件,这并不是说

11、 将.out文件中的内容以二进制的方式下载到DSP的RAM中,而是对.out文件进行解析, 哪个段装入哪段地址,之后将对应段的数据代码装入到对应的RAM中,所以在使用烧写代 码烧写另一个装入的.out文件的时候,烧写代码的cmd文件必须将它的程序存放地址与目 标文件的cmd文件中指定的地址区分开,同时目标文件的cmc必须制定的就是目标文件最 终工作的地址,这样烧写后经过二次bootloader,程序才能正确运行。在使用CCS的fileadataaload装入文件的时候,装入的.dat文件格式与.hex文件格式 类似,它提取.dat文件中的地址信息,将其中的数据写到提取出的地址处,所以使用这个方

12、 式装入待烧写的文件时在进行.outa.hex.dat文件格式转换时,cmd文件中设定的参数地址 一定是DSP中的一段RAM区,如果该地址参数设定的为FLASH区,则转换后的数据中的 地址指向了 FLASH区,而该区是无法通过fileadataaload装入文件的,至于写转入的数据 到 FLASH 的这个地址可以在烧写代码中指定.hex文件应用于专用烧写工具的时候其运行的原理与load的方式一致,但此时进 行.outa.hex转换使用的.cmd文件中的地址应该设定为0。至于使用flashburn工具烧写代码的时候还是需要进行.outa.hex的转换,推测这是由 于flashburn通过仿真器传

13、输的数据就是.hex格式,下载到DSP中的FBTC解析该格式数 据进而将之写入到Flash中,而对于.out格式的数据的解析由FBTC来做显然太麻烦了。这 其中进行.outa.hex转换的时候,cmd文件指定的地址应该是flash地址,因为在进行 flashburn时,这个.hex文件并没有下载到目标DSP中,它只是存储在PC的特定位置,它 的数据是通过通讯协议一个字节一个字节传输到目标DSP中的,这与通过fileadataaload 的方式有本质的不同。本文讨论了 TI C6000系列DSP的启动模式及程序固话方式,并对程序的固化方式中 为何采用不同的文件格式做了比较深入的分析,希望对于从事DSP开发的同行有一定的帮 组。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!