- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TMS320C613 DSP的Flash启动设计
/data/html/2007-6-15/41753.html
引 言
随着近年来数字信号 HYPERLINK /product/searchfile/8213.html \t _blank 处理器( HYPERLINK /product/searchfile/3007.html \t _blank DSP)技术的迅猛发展,其越来越广泛地应用于国民经济的各个领域中。其中, HYPERLINK /data/iccompany/detail2.html \t _blank TI公司推出的TMS320C6000系列DSP器件更是在许多需要进行大量 HYPERLINK /product/searchfile/19196.html \t _blank 数字信号处理运算并兼顾高实时性要求的场合得以应用。TMS320C6000系列DSP的系统设计过程中,DSP器件的启动加载设计是较难解决的问题之一。
C6000系列DSP的启动加载方式包括不加载、主机加载和 HYPERLINK /icstock/260/EMIF.html \t _blank EMIF加载3种。
3种加载方式的比较:不加载方式仅限于 HYPERLINK /product/searchfile/310.html \t _blank 存储器0地址不是必须映射到RAM空间的器件,否则在RAM空间初始化之前 HYPERLINK /product/searchfile/5590.html \t _blank CPU会读取无效的代码而导致错误;主机加载方式则要求必须有一外部主机控制DSP的初始化,这将增加系统的成本和复杂度,在很多实际场合是难以实现的;EMIF加载方式的DSP与外部ROM/ HYPERLINK /stock-ic/FLASH.html \t _blank Flash HYPERLINK /product/searchfile/5540.html \t _blank 接口较为自由,但片上Bootloader工具自动搬移的代码量有限(1 KB/64 KB)。本文主要讨论常用的EMIF加载方式。
1 EMIF加载分析
实际应用中,通常采用的是EMIF加载方式,把代码和数据表存放在外部的非易失性存储器里(常采用Flash器件)。
下面以TMS320C6000系列中必威体育精装版的浮点CPU—— HYPERLINK /icstock/225/TMS320C6713.html \t _blank TMS320C6713(简称“C6713”)为例,详细分析其EMIF加载的软硬件实现。
硬件方面,其与16位宽度的Flash器件的接口如图1所示。
对于不同的DSP器件,加载方式的配置 HYPERLINK /product/searchfile/10231.html \t _blank 引脚稍有不同。C6713的配置引脚及其定义如表1所列。
应用程序的大小决定了片上的Bootloadet工具是否足够把所有的代码都搬移到内部RAM里。对于C6713,片上的Bootloader工具只能将1 KB的代码搬入内部RAM。通常情况下,用户应用程序的大小都会超过这个限制。所以,需要在外部Flash的前1 KB范围内预先存放一小段程序,待片上Bootloader工具把此段代码搬移入内部并开始执行后,由这段代码实现将Flash中剩余的用户应用程序搬移入内部RAM中。此段代码可以被称作一个简单的二级Bootloader。
图2所示为使用二级Bootloader时的CPU运行流程。
使用二级Bootloader需要考虑以下几个事项:
◇需要烧写的COFF(公共目标文件格式)段的选择;
◇编写二级Bootloader;
◇将选择的COFF段烧入Flash。
一个COFF段就是占据一段连续存储空间的程序或数据块。COFF段分为3种类型:代码段、初始化数据段和未初始化数据段。
对于EMIF加载方式,需要加载的镜像由代码段(如.vectors和. HYPERLINK /product/searchfile/10366.html \t _blank text等)和初始化数据段(如.cinit,.const,. HYPERLINK /icstock/659/SWITCH.html \t _blank switch,.data等)构成。另外,可以单独定义一个.boot-load段存放二级Bootloader。此段也需要写入Flash。
所有未初始化的数据段(如.bss等)都不需要烧入到Flash中。
2 二级Bootloader的编写
由于执行二级Bootloader时C的运行环境还未建立起来,所以必须用汇编语言编写。二级Bootloader可参照其他类似文献及TI相关文档。此处不再赘述。
CCS中用户工程编译链接后产生的.map
文档评论(0)