基于TMS320C6678的多核DSP上电加载技术

时间:2024-02-17 点赞:49150 浏览:99001 作者原创标记本站原创

关于数据及地址及文件方面的免费优秀学术论文范文,数据方面期刊论文格式,关于基于TMS320C6678的多核DSP上电加载技术相关论文范本,对写作数据论文范文课题研究的大学硕士、本科毕业论文开题报告范文和文献综述及职称论文参考文献资料下载有帮助。

摘 要: 对于多核DSP应用技术来说,BootLoad技术是一个关键点,也是应用难点之一.针对8核高性能DSP——TMS320C6678的根配置问题进行了研究,包括上电加载过程,单核和多核的emif NORFLASH存储器的映像文件的产生,二级加载器的编写和FLASH编程器的构成等.其中,关键是在多核映像文件中,将辅助核的入口地址作为特殊数据来处理,使其他核触发更容易,这也是其他文献未涉及的.该项技术已经用在某图像处理系统中.

关 键 词 : 多核DSP; TMS320C6678; BootLoad; 映像文件

中图分类号: TN96434 文献标识码: A 文章编号: 1004373X(2013)18011104

0 引 言

在视频检测、医疗影像及红外图像快速跟瞄系统应用中,越来越复杂的二维、三维甚至四维的图像处理,需要并行化的处理系统,并能够运行复杂的算法[18].要实现这些复杂的系统,高端FPGA+高性能DSP是目前普遍采用的方案[56,8],而单个DSP的性能已发展至极限,所以解决复杂的并行算法,多核DSP是现在发展的全新方向,其中多核DSP的根加载技术是其难点之一[7,910].

TI公司推出的DSP芯片TMS320C6678(C6678)具有8个内核的高性能DSP,每个内核工作频率均达1 GHz.其支持的Boot模式有SPI、I2C、EMAC、SRIO和并口Emif16 NORFLASH.其中Emif16 NORFLASH模式是不用上位机参与、比较简单、独立成系统的一种,大多独立DSP系统采用该方式.

关于多核的加载,也有相关的文献报道[9],而文献[9]是DSP+ARM的双核.网上也能搜索到关于C6472和C6678零星一些加载资料,都是借助于第三方转换工具,太过于笼统.下面是针对C6678的并口Emif16 NORFLASH的上电加载作详细的探讨.

1.C6678的上电加载过程

所谓上电加载(上电自举),即是当DSP复位后,正常运行用户程序之前运行的一段小程序,就像PC机的BIOS一样.多核加载同单核加载区别很大,不但要负责主核的加载而且还有其他核的加载与激活.C6678的Emif16 NORFLASH可以直接执行程序(XIP)(这与C641x系列DSP不同),其上电加载过程示于图1.

上电复位后,DSP首先运行固化在片上ROM位于地址0x20b00000的程序,称为片上Loader,片上Loader根据DSP硬件管脚状态,判断用户采用的Boot模式以跳转到相应模式的二级加载程序.如图1的Emif16 NORFLASH模式中,运行片上Loader后, PC指针直接指向NORFLASH首地址0x70000000并开始执行FLASH上的二级Loader程序,二级Loader存储在FLASH开始地址0x70000000~0x70000400的范围内.从0x70000400开始保存应用程序的根表数据(即被烧烧写到FLASH中的应用程序的数据).二级Loader的功能是将保存在FLASH中的Core0~Core7的根表数据搬移到DSP相应的地址段内,搬移完后,二级Loader程序PC指针跳到Core0的主程序入口地址_c_int00处,开始执行Core0的应用程序.在Core0的应用程序开始加有使其他核激活运行的代码(这也是有别于单核的特殊之处),至此整个多核加载就此完成.事实上,如果你的应用程序很小,且运行速度要求不高,图1中的2、3和4过程都可以不要,只要把应用程序的原始代码数据烧写到FLASH从0x70000000开始的位置,上电正常运行即可(这在C641x上是不行的),如此DSP的许多高性能就体现不出来,且多核工程大多采用嵌入式sysbios工程,占用存储器比较大,所以正常的Boot过程必须采用图1所示的二级加载过程.


从图1中看出,一个完整多核加载过程,开发者需要做的是二级加载器Loader的编写、FLASH中映像文件的产生、FLASH烧写器的编写,主核对各辅助核的触发代码的编写(被加载的应用程序不在本范围内).

2.多核映像文件的组成与产生

映像文件就是用户要烧写到外部FLASH上的全部数据文件,它是由二级加载器Loader的代码数据(在文件前部)和应用程序的根表(Boot Table)数据(文件后部)的合成数据文件.单核和多核的二级Loader都一样,区别就是后部的根表数据.根表是应用程序的所有代码和数据以在片上占用的地址来分段存储的数据包,包的第一个4 B是main()函数的入口地址_C_int00,后面由若干数据段组成,每个段前4 B为该段数据的字节长度Byte_count_x(x为段序号),接着4 B Address_x为该段在片上的存储地址,后面是Byte_count_x个字节的具体数据Data_x.所有数据段结束后是4个字节0作为根表的结束标记.该根表格式如表1所示.每一个段的数据字节数可能不是4的整数倍,根表中数据区就在后面添0按4 B的整数倍向上取整,故整个根表文件字节数必是4的整数倍.

4.辅助核的触发

多核的加载,如果图1中仅仅只是进入Core0的_C_int00地址运行而其他核还未激活,加载仍然是失败的.辅助核的触发,必须两个条件,一是将各核工程的入口地址_C_int00写到各核的Boot Magic Address处;二是向各核的核间中断触发寄存器IPCx (1

5.结 语

多核DSP加载是一项比较复杂但又很重要的过程[7,910],也是多核技术的应用难点之一,一个多核DSP开发人员,如果要成功走向应用,上电加载这一关是必须要过的.各核的应用工程可以是输出elf格式sysbios工程,也可以不是sysbios工程.上面的多核Emif16 NORFLASH加载方法,在自研的C6678图像信号处理系统中已成功加载.

相关论文

电力系统调度电控的技术和应用

本文关于电力系统及自动化及管理系统方面的免费优秀学术论文范文,电力系统方面有关论文范本,与电力系统调度电控的技术和应用相关函授毕业。

电商转战技术路线

本论文为电子商务网站方面电子商务销售论文,关于电商转战技术路线相关本科毕业论文范文,可用于电子商务网站论文写作研究的大学硕士与本科。

电力系统变电设备检修技术

本文是一篇电力系统论文范文,关于电力系统相关学年毕业论文,关于电力系统变电设备检修技术相关硕士毕业论文范文。适合电力系统及设备及计算。

基于汽车电控新技术、维修的

本文是一篇汽车维修论文范文,关于汽车维修相关毕业论文开题报告范文,关于基于汽车电控新技术、维修的相关研究生毕业论文开题报告范文。适合。

电力系统变电状态检修技术

本文是一篇可靠性论文范文,关于可靠性相关电大毕业论文,关于电力系统变电状态检修技术相关毕业论文开题报告范文。适合可靠性及电气设备及设。

电商企业生鲜产品物流模式

本文是一篇生鲜论文范文,关于生鲜相关毕业论文,关于电商企业生鲜产品物流模式相关电大毕业论文范文。适合生鲜及物流及第三方物流方面的的大。

移动电商下O2O现状

本文是一篇移动商务论文范文,关于移动商务本科论文开题报告,关于移动电商下O2O现状相关毕业论文模板范文。适合移动商务及电子商务及互联网。

我国跨境电商物流现状

本文是一篇电子商务论文范文,关于电子商务在职研究生毕业论文,关于我国跨境电商物流现状相关毕业论文模板范文。适合电子商务及国际运输及仓。

零售业与电商:“痛并快乐着”

本文关于电子商务及互联网及供应链管理方面的免费优秀学术论文范文,电子商务类论文范文集,与零售业与电商:“痛并快乐着”相关硕士论文范文。