新闻中心

EEPW首页>嵌入式系统>设计应用> TMS320C641X系列DSP引导方法研究

TMS320C641X系列DSP引导方法研究

作者: 时间:2011-02-14 来源:网络 收藏

摘要:在进行产品化设计时,BootLoader是一项关键技术。为了更好地解决数字信号处理器应用程序的加载问题,以TI公司641X系列为例,详细论述了的两种引导方法:ROM引导和主机HPI引导,包括二次代码编写、存储器空间分配、引导表生成和.hex文件的烧写。经某星栽接收机系统实测验证,所述方法同时适用于BIOS和No-BIOS两种系统,具有可靠性高、可行性强的优点。
关键词:BootLoader;二次引导;HPI;引导表

本文引用地址://m.amcfsurvey.com/article/151038.htm

0 引言
近年来,以数字信号处理器(DSP)为基础的通用信号处理模块的研制受到人们的重视,它的研制成功满足了信号处理系统实时性和通用性的要求,被广泛应用于雷达、通信、电子测量和图像等领域。进行DSP开发,最终的目标产品要脱离仿真器运行,在上电后可自行启动程序代码,这就需要一个能在断电后保存程序的存储器。对于C641X系列的DSP,内部没有供用户使用的非易失性存储器,只能将程序代码存放在外部的非易失性存储器中。因此,通常需要在上电复位时,将存储在外部速度较慢的存储器的程序代码搬移到片内高速RAM中,这个过程被称为BootLoader。因此,在设计通用信号处理模块前,有必要研究DSP的多种引导方式。

1 C641X BootLoader方式和过程
C641X有三种Boot模式:不引导、ROM引导和主机引导。第一种方式只能用于仿真运行;第二种方式利用片内固化的BootLoader程序通过EDMA通道,从EMIF的CE1空间拷贝1 KB数据到地址0处,然后从地址0处开始执行。这种方式只需一片非易失性存储器,实现较为简单;第三种方式是在DSP内核处于复位时,由外部主机通过主机接口实现程序引导。这种方法虽然复杂度较前者高,但也被广泛应用于一些具有抗空间辐射效应的星载平台中。

2 ROM BOOT实现
前面提到这种方式是在DSP上电复位后,由片内固化的BootLoader代码采用EDMA方式从CE1空间复制1 KB代码到地址O处。但通常用户程序都远大于1 KB,这就需要编写二次BootLoader代码,将用户程序搬移到DSP内部RAM中。下面介绍具体实现过程。
2.1 二次引导程序编写
由于系统最初启动时,C语言环境还没有初始化,所以二次引导程序一般用汇编语言编写。主要完成EMIF寄存器配置,程序搬移,最后跳转到C程序入口函数。其中,程序搬移主要有两种实现方式。一种方法无需Copy Table(引导表),而采用镜像的方式将所有程序代码看成是一个连续的数据段,二次引导时将片外存储器的内容镜像到内部RAM即可。这种方法虽然实现简单,但存在占用空间资源大,引导效率低的问题。第二种方法是利用引导表实现。这种方法生成的引导文件是各段连续存放的,因而引导效率较前一种方法高。关于引导表的格式和生成参见2.4节;两种方法的二次装载汇编程序可参见CCS烧写工具FlashBurn提供的示例工程,这里不再详述。
2.2 存储空间分配
程序存储空间可分为LOAD空间和RUN空间。前者保存程序代码,物理介质一般为片外FLASH或E2PROM;后者是程序代码实际运行的空间,物理介质一般是内部RAM。通常,经常访问的程序和初始化变量的LOAD空间放在FLASH中,而RUN空间则放在内部RAM中;对于只在初始化时使用的段,其LOAD和RUN空间都放在FLASH中;而对于非初始化变量,其LOAD和RUN空间都安排在内部RAM中。当然,如果存储空间充足时,也可统一将LOAD空间放在FLASH中,而把RUN空间放在内部RAM中。根据上述内容,可以将C64X存储区作表1所示的安排。

a.JPG


其中,VECS用于存放中断向量表,BOOT存放二次引导程序。


上一页 1 2 3 下一页

关键词:DSP

评论


相关推荐

技术专区

关闭