TMS320C6000系列二次Bootloader的设计与实精_第1页
TMS320C6000系列二次Bootloader的设计与实精_第2页
TMS320C6000系列二次Bootloader的设计与实精_第3页
TMS320C6000系列二次Bootloader的设计与实精_第4页
TMS320C6000系列二次Bootloader的设计与实精_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、TMS320C600C系列二次 Bootloader 的设计与实(精)TMS320C600C系列二次 Bootloader 的设计与实现,DSP,二次Bootloader,Flash 存储器,中断向引言随着DSP数字信号处理器)系统的广泛应用,其程 序规模也随之不断扩大,使用芯片本身自带的 Boot-loader 通过Flash存储器来引导DSP程序,往往受到程序大小和结 构的制约,比如程序很大超过厂商固化 boot的范围,再如 中断向量表的不同位置对程序boot跳转的影响,等等,因此越来越需要更加灵活的引导方式。系统上电后,引导程序 将DSP的应用程序从该存储器引导到DSP应用板上的高速存储

2、器(如内部SRAM SDRAM等)中。于Flash存储器具有引言随着DSP(数字信号处理器)系统的广泛应用,其程序规 模也随之不断扩大,使用芯片本身自带的Boot-loader通过Flash存储器来引导DSP程序,往往受到程序大小和结构的 制约,比如程序很大超过厂商固化boot的范围,再如中断向量表的不同位置对程序boot跳转的影响,等等,因此越来越需要更加灵活的引导方式。系统上电后,引导程序将 DSP的应用程序从该存储器引导到DSP应用板上的高速存储器(如内部SRAMSDRAI等)中。 于Flash存储器具有电信号删除功能,且删除速度快,集成 度高,因此已成为此种存储器的首选。于Flash存

3、储器的存取速度较慢,写入Flash存储器的程序将在系统上电时被DSP装载到快速的存储器中运行,这个过程称为Boot loader 。不同的DSP有不同的引导方式。以TI公司TMS320C600C系列芯片为例,自举方式有 3种:无自举(No Boot),CPU直接 开始执行地址 0处的指令;主机自举(Host Boot),系统复 位后主机通过 CPU的HPI(主程序设计接口)初始化DSP的存 储空间;ROM自举(ROM Boot),DMA控制器从CEl空间复制 固定长度程序的地址 0处,然后从地址0处开始执行。对于 620x/ 670x DMA,复制64 kB数据从CEl到地址0;而对于 621

4、x/671x EDMA复制1 kB数据从 CEl地址开始到地址 0。关于TI公司的C6000芯片二次 Bootloader 在许多文献 都介绍过,包括二次 Bootloader的PLL、EMIF的设置和搬 移表的设置和Flash存储器的烧写过程,但是对于有中断向 量表的二次Bootloader实现的文献很少。以 TI公司高性能 DSP的代表作TMS320C6000系列芯片为例,介绍了一种带中 断向量表的二次 Bootloader 的新途径,从而为TMS320C6000 系列DSP的开发提供了一种新的思路。该方法在实际中得到 具体应用,系统运行稳定可靠。1二次Bootload的过程TMS320C

5、6713是TI公司推出的 TMS320C67xx系列浮点 DSP中最新的一种芯片。TMS320C6713每周期可以执行 8条 32位指令;支持32/64位数据;具有最高225MHz的运行速 度和1800 MIPs(百万次运算每秒)或1350 MFLOPS百万次浮 点运算每秒)的处理能力;同时是有强大的外设支持能力; EMIP(外部存储器接口 )可以很方便地与SDRAM SBSRAMFlash存储器、SRAM等同步和异步存储器相连,16位EHPI接口可以与各种处理器接口;另外,还有优化的多通道缓存 串口和多通道音频串口,这些外部接口使设计人员可以很容 易实现自己的应用系统。在选择 ROMBoo方

6、式时,RESET氐变高后,C6713的CPU 内核处于复位状态,而 C6713的其他部分则开始工作,此时 EMIF的CEl空间根据 ROM Boot的方式自动地配置为 8/16 /32位异步存储器接口,并且CEl空间读/写时序自动地配 置为最大,随后将 CEl空间的前1 kB复制到0x0000 0000 地址处。通过这 1 kB的数据实现对其他程序的引导。对于 中断向量表设在 0x0000 00000x0000 0400处的程序来说, 1 kB数据中处包含 EMIF设置代码和搬移程序外,必然也包 含中断向量表。重点叙述带中断向量表的Bootloader的过程,中断向量表起始地址为 0x0000

7、0000。如果程序长度小于 1 kB,那么就不需要二次bootloader,但是往往程序长度都会大于1 kB,所以二次bootloader 是必然的过程二次Bootloader的实现需要引入 EMIF设置和搬移的程 序,即编写boot_c671x_、c6713_,和个文件。以实现多通道缓冲串口的程序进行说明, 实现二次Bootload的过程框图如图1 所示。首先调入调试好的用户程序工程文件MeBSP工程作为例程,然后在此工程文件中引入3个文件。程序编写好后,要引入3个很重要的文件;EMIF的值定 义文件(c6713_);关于EMIF的设置和数据搬移的程序 (boot_c67lx_) ; cmd

8、配置文件 。同时,其原来的文件要去 掉。图2做了一个对比。图 2(a)为原程序,图2(b)为生成 要烧写的数据的程序,图 2(b)中加入了 3个文件,原有的去掉了。其中boot_c67lx_是通用的,c6713_要根据具体实际的芯片配置EMIF的参数。其中boot_c671x_包含了 .boot_load 的函数,这个函数 包含几个过程,如图 3所示。c6713_文件包括EMIF的几个 参数配置。文件位 COFF的配置。其次,就是把生成的*.out文件首先使用CCS开发环境 自带的工具把工程生成的*.out文件转化成hex格式,在DOS 环境下指令为。最后根据Flash存储器芯片的要求把 he

9、x文件烧写到 Flash 存储器中指定的地址即可。本例采用的 AM29LV800BB-70ecFlash存储器芯片,采用 V供电,完全兼 容JEDEC标准,并支持在系统编程,用户只需向其内部的命 令寄存器写入命令序列即可实现部分擦除、全部擦除、数据 写人等功能;同时可提供硬件和软件方法来检查Flash存储器的操作执行情况。首先需要对芯片进行擦除全部变为 OxFFFF,然后再进行烧写。于Flash存储器是以16位进行访问的,所以对 Flash存储器而言其物理地址以16位为单位进行编址,而程序中使用的逻辑地址是以字节为单位进行 编址的,二者之间的关系如下:逻辑地址=物理地址<<1,所以

10、程序中有地址偏移。下面给出烧写的程序。2带有中断向量表的二次Bootloader的实现第1节介绍了一般的二次 Bootload过程,但当需要boot 带中断向量表的程序时,需要仔细考虑3个重要文件的编程, 否则将会遇到意想不到的后果。配置文件有了细微差别,此时有中断向量表,所以在分配时要考 虑vectors 的分配空间。在配置文件中差异主要在Memory中,section 的部分如下:SECTIONSMEMOR差别具体如下:a)没有考虑中断向量表配置的部分程序:b)考虑中断向量表配置的部分程序:.vectors 为中断向量表,其有0x200的长度的数据,必 须放在0x90000000的地址处,

11、.boot_load 紧接着放置。 中 断向量表文件还有一个很重要的一点是图 2中文件的变化。在调试程 序时,中断向量表开始会直接跳到 c_int00处,但是待烧写 的前1 kB数据,首先要进行 EMIF设置和搬移过程,所以其 指向要发生变化。 部分程序如下:a)原程序的部分程序:b)产生Bootload数据的程序的部分程序:以上程序中,程序a)开始是指向c_int00,程序b)为指 向 _boot。即.boot_load的人口。这是因为在1 kB的程序复制完成后,程序即开始执行。首先应执行二次boot程序,即入口点_boot,完成二次boot后,再执行正常的初始化C语言环境代码,进而跳转到用

12、户main函数。此时生成的.out的文件,通过转化成可烧写的数据。转换数据的配置文件通过可以把文件转化成形式,方便烧写到 Flash存储器 中。此时的也要做相应的变化,把中断向量表的程序 同.boot_load 程序,程序段,数据段一样转化过来。 配置 程序如下:a)没有考虑中断向量表的配置:b)考虑中断向量表配置:以上程序中len可以根据实际程序的长度进行修改,如果用进行转化,程序长度过短时,会产生警告提示。此时可 以查看map文件,看看程序和数据占用的空间来定len的大小,只要len大于实际的程序长度即可。Romwidth根据所用的Flash存储器的位数来定,如果是 8位的就写8,如果是 16位的就换成16。以上程序中,程序 b)与程序a)不同的是 加入了 .vectors ,使得生成的文件中0x0000 0000地址就为vectors的程序。此时生成的*.hex的文件可以烧写到 Flash 中。3结束语以TI公司高性能 DSP TMS320C600C系列芯片为例,介 绍了从Flash存储 器进行引导,带中断向量表的二次 Bootloader的新途径,其中对 Bootloader的程序需要改写 的部分详细叙述了具体的差别,从而为TMS320C600系列DSP 的开发提供了一种

温馨提示

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

最新文档

评论

0/150

提交评论