基于tms320c6678的多核dsp加载模式研究

基于tms320c6678的多核dsp加载模式研究

ID:1023696

大小:125.34 KB

页数:6页

时间:2017-11-06

基于tms320c6678的多核dsp加载模式研究_第1页
基于tms320c6678的多核dsp加载模式研究_第2页
基于tms320c6678的多核dsp加载模式研究_第3页
基于tms320c6678的多核dsp加载模式研究_第4页
基于tms320c6678的多核dsp加载模式研究_第5页
资源描述:

《基于tms320c6678的多核dsp加载模式研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于TMS320C6678的多核DSP加载模式研究摘要:德州仪器TI推出的八核DSP芯片TMS320C6678是目前基于Keystone架构的最高性能的DSP器件,是市场上应用广泛的C6455高端处理平台升级的理想选择。本文主要研究了C6678DSP程序的各种单核加栽和多核加载的几种模式,主要用到多核boot技术,对EMIF16FLASHboot引导模式、主机(PCIe接口)引导模式、I2C引导模式、SRIO引导模式、网络引导boot引导模式的方法做了研究,对TI的高性能多核架构DSP芯片的程序加载提供了有效的参考帮助。近年来,以数字信号处理器(DSP)为基础的通用信号处理模块的研制

2、受到人们的重视,DSP技术广泛应用于雷达、通信、图像处理等领域。随着声纳、雷达、高清视频以及嵌入式机器视觉等需求不断攀升,多核DSP的应用已成为满足发展的重要途径。由于DSP系统稳定运行起来后,在实际的应用中都要脱离仿真器件,实现系统的自动加载,尤其是多核DSP加载过程中,不同于多芯片间的加载方式,需要实现核间的调度,数据协同处理,因此多核启动的加载方式需要做具体研究。TMS320C6678DSP是TI最新发布的一款基于KeyStone架构高性能的超长指令字(VLIW)架构芯片,片内有8个内核,每个核频率为1.25GHz,单核每秒高达40GBMAC定点运算和20GBFLOP浮点运算能

3、力,工作速度可达10GHz。与目前应用较为广泛的TMS320C6455 DSP,为单核1.2GHz工作,定点处理能力为9600MMAC。可见C6678的处理能力要远强于C6455。针对C6678多核协同处理特性,本文以自定义的双6678板卡平台为基础,深入研究C6678的多种加载方式,对EMIF16FLASHboot引导模式、I2C引导模式、SRIO引导模式、网络引导boot模式做了分析和说明,主机(PCIe接口)引导模式、HYPERLINK引导模式和SPI引导模式的使用,本文不做说明。1多核加载方式论述在C6678的片内地址空间0x20800000到0x20B1FFFF间集成了一块

4、128K的内部ROM程序,又叫做RBL(ROMBootLoader),Romcode是C6678出厂时固化在Rom中的,用户不能改变,在DSP复位或上电时实现将DSP代码从外部接口读入到内部高速ram。启动过程可以大致分为主机引导和内存引导启动,在内存引导启动过程代码从一个外部内存的加载初始应用程序到内部的内存来执行。如果主机模式,启动程序配置DSP在被动状态,等待代码将DSP应用程序程序由外部主机写入ram开始执行。为适应不同的系统要求,RBL提供了几种启动的执行方式。不同的引导方式如表1所示。2多核boot预处理C6678有8个核,采用基于KeyStone架构的中断控制器、核间通

5、信寄存器以及合适的通信拓扑结构实现多核间的通信,core0为主核,其它7个核可以统一执行相同的Romcode代码,也可以不同,或者根据核号(即DNUM)进行不同程序的分支。对于core0来说,它主要是读取DEVSTAT寄存器的加载模式,并根据当前加载模式进行一些接口的初始化和PLL的配置,还要根据加载模式决定是否搬移数据。对于其它的7个核来说,它们主要是挂载IPC中断,然后进入IDLE状态等待core0发过来的中断。中断一到,就跳到入口地址开始执行程序,待加载工程总体流程如图1所示。代码读入前要根据不同的boot方式进行转换格式,转换工具是将各核的.out文件转换成.dat或.bin

6、文件,也有网络boot时要转换成.eth格式的文件来传送,不同的转化方式在各自的boot说明中详细阐述。无论哪一种启动方式,首先要boot起来core0之后再引导其他的从核,重点是从核在boot启动时通过host向DSP写了MAGIC_ADDRESS并触发IPC中断,DSP跳转到BOOT_MAIGC_ADDRESS所指向的地址执行程序。3C6678EMIFflashboot3.1core0加载C6678的EMIF16加载是一种直接从NorFlash(必须挂在CE2空间:0x70000000)加载core0的模式,不需要I2CEEPROM的参与,由Romcode初始化EMIF16接口,

7、由于EMIF16外接NorFlash是一种XIP器件,因此直接跳到NorFlash的起始地址处开始执行。为了将NorFlash中的代码搬移到C6678的core0的L2SRAM中,需要在core0的待加载工程中编写引导代码,此引导代码的作用就是将core0的代码按段加载到内存中,最后跳到入口地址处开始执行。引导代码放在L2SRAM的前1KB空间,并烧写到NorFlash的前1KB空间,应用代码放到1KB后面,生成.out文件编写转化工具生成.dat文件,如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。