基于TMS320C67系列DSP的FLASH烧写和程序加载研究
- 格式:pdf
- 大小:201.21 KB
- 文档页数:7
TMS320C6x DSP的FLASH引导方法研究与实现关键词:摘要:介绍了TMS320C6x DSP的几种FLASH引导方法,比较了引导过程中基于软件流水的数据搬移方法和QDMA方式的数据搬移方法,并介绍了如何利用在系统编程(ISP)对上电引导程序进行FLASH编程。
通过对实际的TMS32C6711 DSP电路调试实验,证明了以上方法简单易行。
关键词: FLASH存储器上电引导 COFF文件格式 DSPFLASH存储器是在EPROM和EEPROM的基础上发展起来的一种非易失性存储器,在掉电情况下仍能保证数据不丢失,并能够在不离开电路板或所在设备的情况下实施擦除和再编程操作。
由于其具有结构简单、维护便利、存取速度快、对环境适应能力强、抗振性能好等优点十分适合于嵌入式系统的设计和开发,并且已成为目前流行的数字信号处理系统的一个基本配置。
在许多DSP的应用中,系统上电后需要将用户程序从FLASH存储器引导到高速数据存储器中运行。
这就需要给用JTAG接口调试通过的应用程序添加启动代码,将生成的目标文件进行格式转换使其能在线烧写,将转换过的文件利用FLASH烧写程序在线烧写到FLASH中。
本文将介绍引导过程中数据搬移的几种方法,包括QDMA方式的数据搬移方法、CPU直接数据搬移方法以及基于软件流水的数据搬移方法。
经过比较测试,证明了QDMA方式和基于软件流水的数据搬移方法具有优越性。
并且,根据COFF文件格式,编写了比TI公司的HEX60更为直接的转换工具,从而简化了文件的转换步骤。
1 应用程序的FLASH ROM引导当DSP的应用程序从FLASH ROM引导时,目标板都有一个自动的引导程序。
例如,对于TMS320C6x1x系列,目标板的自动引导程序会在系统上电时将FLASH ROM的前1K空间的内容复制到片内内存自0x00开始的地址空间,并从0x00地址处开始运行。
因为需要搬到内存中运行的应用程序的向量表、初始化段等往往超过1K大小,为了能在系统上电时自动引导应用程序运行,就需要在引导的1K代码中包括自定义的引导代码,以将额外需要的初始化代码段和数据段复制到内存中运行。
DSP自动加载过程及程序烧写的简化设计TMS320C6701(以下简称C6701)是一款浮点运算DSP,适用于需要大量运算且实时性要求高的场合,如导航解算等。
在浮点DSP 芯片中,C6701 是一款可应用于恶劣环境并具有高可靠性的产品,因此该型DSP 芯片虽然推出较早,却依然在某些领域具有重要应用价值。
DSP 应用程序需脱离开发系统独立工作,在实时DSP 应用系统中,通常将应用程序存储在外部非易失性存储器(如FLASH、EEPROM、PROM 等)中。
系统上电后,DSP 将外部程序存储器的程序代码加载到可高速存取的RAM 中,加载完成后自动跳转到零地址开始运行。
因此DSP 程序烧写及自动加载是实时DSP 系统设计的重要部分。
本文采用的烧写方法不需要格式转换到外部辅助设备,同时DSP 程序不再进行二次加载,简化了烧写及程序自动加载的过程。
1 加载方案及电路设计1.1 外围电路设计C6701 有三种加载模式:不加载(No Boot)、ROM 加载(Rom Boot)、主机加载(Host Boot)。
这三种加载模式由C6701 的BOOTMODE[4:0]引脚电平设定,由这5 个引脚的设置共同决定使用何种存储空间映射模式。
在恶劣环境及高可靠应用场合中,可使用不加载方式,也可使用程序从ROM 中加载到DSP 片外高可靠RAM 存储器中的运行方式。
FLASH、EEPROM、PROM 等程序存储芯片多为8 位或16 位,在高可靠应用环境中8 位比较常见。
本文中设置BOOTMODE[4:0]为01010B,即程序由外部8 位程序存储器加载到外部32 位SRAM 中,LENDIAN 引脚接高电平。
外部程序存储器选用FLASH 芯片AM29LV160,32 位SRAM 芯片选用ACTS512K32V.FLASH 和SRAM 芯片与C6701 的硬件连接如。
TMS320C6701自动加载及程序烧写的简化设计夏金桥;周文涛;曾勇超【期刊名称】《单片机与嵌入式系统应用》【年(卷),期】2014(14)10【摘要】对TMS320 C6701加载过程进行分析后,外围硬件电路、cmd 文件、中断向量表等,采用一次加载的方法实现了DSP系统自动加载过程,并用自己建立的烧写工程实现了DSP程序烧写。
本文的实现方法简化了DSP程序烧写及加载过程。
%After analzing the loading process of TMS320C6701,peripheral hardware circuits,cmd file and interrupt vector table are de-signed.The autoloading process of DSP system is realized by loading at a time,and DSP program writing is realized by designed program writing proj ect.The method simplifies DSP program writing and loading.【总页数】4页(P18-21)【作者】夏金桥;周文涛;曾勇超【作者单位】北京航天时代光电科技有限公司,北京 100094;北京航天时代光电科技有限公司,北京 100094;北京航天时代光电科技有限公司,北京 100094【正文语种】中文【中图分类】TP274【相关文献】1.TMS320C6701 DSP自动加载研究 [J], 王硕果;肖强2.基于TMS320C6455 DSP自动加载及Flash烧写程序的设计 [J], 卫菊红3.AutoCAD 自动加载 VBA 程序研究 [J], 魏磊;田磊4.华中818A数控系统自动加载程序的方式 [J], 薛庆鑫;卢鹏5.TMS320C6701 DSP的程序引导方法及编程实现 [J], 崔旭涛;杨日杰;何友因版权原因,仅展示原文概要,查看原文内容请购买。
基于TMS320C67xx DSP的软件开发及优化
高学强;王玉晶;康锡章
【期刊名称】《现代计算机(专业版)》
【年(卷),期】2003(000)011
【摘要】本文介绍了TMS320C67xx的性能特点,给出了其程序开发流程,并详细讨论了常用的软件优化方法,这些方法有一定的工程应用价值.
【总页数】4页(P22-25)
【作者】高学强;王玉晶;康锡章
【作者单位】海军航空工程学院学员旅,烟台,264001;海军航空工程学院学员旅,烟台,264001;海军航空工程学院电子工程系,烟台,264001
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于TMS320C64XXDSP的软件开发及优化 [J], 郝建伟;芮国胜;倪保航
2.TMS320C64x系列DSP的软件开发和程序优化 [J], 武林伟;郑耀锋
3.TMS320C62x DSP的软件开发与优化编程 [J], 李小红
4.基于MATLAB/Simulink及dSPACE/TargetLink的AMT控制软件开发 [J], 李萍;兰海龙
5.基于GCC的TMS320C67xx汇编代码的优化 [J], 王浩
因版权原因,仅展示原文概要,查看原文内容请购买。
TMS320系列DSP芯片用户程序加载方法的探讨
刘高平;顾伟康
【期刊名称】《微处理机》
【年(卷),期】1996(000)004
【摘要】用户程序加载是开发应用TMS320系列DSP芯片过程中的一个重要环节,本文探讨了实现这项关键技术的各种方法。
【总页数】3页(P52-54)
【作者】刘高平;顾伟康
【作者单位】浙江大学信息与电子工程系;浙江大学信息与电子工程系
【正文语种】中文
【中图分类】TN911.72
【相关文献】
1.DDZ—S系列可编程仪表用户程序的编译,反编译及试运行的设计方法 [J], 吉志海
2.DSP芯片TMS320VC5402的并行自举加载方法 [J], 孙军英;刘波粒
3.TLC32040模拟接口电路与TMS320系列数字信号处理器的接口方法 [J], 王正洪
4.TMS320VC33用户程序加载的四种方法比较研究 [J], 黄杨明;车国轮;吴美平
5.TMS320VC33 DSP用户程序加载方法 [J], 王超;张桂林;杜峥
因版权原因,仅展示原文概要,查看原文内容请购买。
这段时间一直在调试DSP6713的Flash烧写,现在对Flash的烧写也算心中了如。
那天,非常Happy的发现将闪烁LED烧写到Flash成功了,然后,就以为一切都OK了……那天,成功烧写了一个300KB以上的程序,又认为,这次应该OK了……那天,写了个Timer中断程序,烧写到Flash,却死机了……那天,在RAM上运行很流畅的一个算法(算法中调用了CCS的atan函数),在烧写到Flash 后算法却死机了……那天,我开始思考:是什么情况导致RAM中跑得很Happy的程序烧写到Flash就运行得如此的不堪——众多的囧相。
“且行且珍惜”,珍惜这些次发现Bug的机会,因此,我要总结:在RAM中能正常运行,而烧写到Flash后无法正常运行的一些情况讨论。
中断向量表包含了所有中断的入口,在烧写Flash的时候,有两种方式可以保证中断能正常工作。
具体可参见TMS320C6713烧写Flash的通用方法的第5小节。
很多情况下,当出现数组越界时,在RAM中的程序都能正常运行,但在烧写Flash后运行就会出现死机或程序跑飞的现象。
比如定义一个数组,你使用x[5]=10这样的语句在RAM程序中是某些时候能正确运行的,在PC上应该也可以。
但将这种程序烧写到Flash之后运行,DSP果断和你说拜拜!因此,请谨慎地检查程序代码中的数组越界和指针操作。
在DSP程序中,坚决不使用C库函数中的malloc函数。
如果需要动态分配内存的操作,可以自己写一个,或使用uCOS II或DSP/BIOS 等嵌入式操作系统。
也不知道是什么原因,也可能是我对atan函数的使用方法不正确造成的吧。
在我的一个最初的程序中,我是直接这样计算atan(x)的,在RAM中以及在PC中都多次测试过没有任何问题。
烧写Flash之后,也不是死机,但程序运行到atan这个函数的时候会卡上很长一段时间,再接着往下运行。
难道是math.h中的atan运算效率太低?但为什么RAM中就能运行呢?这个还不清楚。
TMS320C6713B DSP 的外部FLASH 引导1 引言目前,TI 公司的TMS320C6713B 已经在生化分析仪器中广泛实用。
其运算速度快、精度高。
使其在牛化分析仪中具有独特的优势。
其改进的哈佛结构、先进的多总线和多级流水线机制、专用的硬件乘法器、高效的指令集,使其易于嵌入信号滤波、信息融合算法,而不会牺牲其实时性。
TMS320C6713B 的速度快、精度高、体积小、成本低、开发周期短、可靠性高以及抗干扰能力强等优点,可以满足生化分析仪对硬件系统的要求。
TMS320C6000 系列数字信号处理器(DSP)是TMS320 DSP 家族的重要系列。
该系列DSP 芯片具有定点和浮点两种,其中,TMS320C62x 和TMS320C64x 为定点系列,而TMS320C67x 为浮点系列。
目前,TMs320c6000 系列数字信号处理器均无程序存储器,必须进行扩展,才能用于生化分析仪。
2 DSP 芯片TMS320C6713BTMS320C6713B 是r11 公司推出的高性能浮点数字信号处理器,采用先进的超长指令字(VLIW)结构,最高时钟频率可达300MHz,每个时钟周期可以执行8 条32 位指令。
该芯片可以方便地与SDRAM,SBSRAM,SRMA,ROM 和FLASH 相连接。
由于该DSP 速度快,精度高,所以该DSP 广泛用于分析仪器、语音信号处理、各种计算模块等。
TMS320C6713B 还具有两个12C 接口、主机并行接口(HPI)、两个多通道音频串行口(MeASPs)、两个多通道缓冲串行口等。
可以方便的与外部器件接口。
由于其内部RAM(256K)空问较大,所以作为一般的应用,不必外扩RAM。
TMS320C6713B 具有三种引导(启动)方式:。
/data/html/2007-6-15/41753.html引言随着近年来数字信号处理器(DSP)技术的迅猛发展,其越来越广泛地应用于国民经济的各个领域中。
其中,TI公司推出的TMS320C6000系列DSP器件更是在许多需要进行大量数字信号处理运算并兼顾高实时性要求的场合得以应用。
TMS320C6000系列DSP的系统设计过程中,DSP器件的启动加载设计是较难解决的问题之一。
C6000系列DSP的启动加载方式包括不加载、主机加载和EMIF加载3种。
3种加载方式的比较:不加载方式仅限于存储器0地址不是必须映射到RAM空间的器件,否则在RAM空间初始化之前CPU会读取无效的代码而导致错误;主机加载方式则要求必须有一外部主机控制DSP的初始化,这将增加系统的成本和复杂度,在很多实际场合是难以实现的;EMIF加载方式的DSP与外部ROM /Flash接口较为自由,但片上Bootloader工具自动搬移的代码量有限(1 KB/64 KB)。
本文主要讨论常用的EMIF加载方式。
1 EMIF加载分析实际应用中,通常采用的是EMIF加载方式,把代码和数据表存放在外部的非易失性存储器里(常采用Flash 器件)。
下面以TMS320C6000系列中最新的浮点CPU——TMS320C6713(简称“C6713”)为例,详细分析其EMIF 加载的软硬件实现。
硬件方面,其与16位宽度的Flash器件的接口如图1所示。
对于不同的DSP器件,加载方式的配置引脚稍有不同。
C6713的配置引脚及其定义如表1所列。
应用程序的大小决定了片上的Bootloadet工具是否足够把所有的代码都搬移到内部RAM里。
对于C6713,片上的Bootloader工具只能将1 KB的代码搬入内部RAM。
通常情况下,用户应用程序的大小都会超过这个限制。
所以,需要在外部Flash的前1 KB范围内预先存放一小段程序,待片上Bootloader工具把此段代码搬移入内部并开始执行后,由这段代码实现将Flash中剩余的用户应用程序搬移入内部RAM中。
TI TMS320C6713 DSP板FlashBurn程序设计王凤臣2,1,乔卫民1,李庆瑞2,1(1.中国科学院近代物理研究所,甘肃兰州 730000;2. 中国科学院研究生院,北京 1000039)摘要:分析了将程序代码写入FLASH的两种方法,并在基于T I TMS320C6713的DSP系统设计中,以28F128J3A为例,讨论了用FlashBurn软件和FBTC目标组件程序烧写FLASH的具体实现过程,给出了主要程序代码。
关键字:TMS320C6713;FLASH烧写;Flash Burn软件;FBTC目标组件程序中图分类号:TP303 文献标识码:BDesign of FLASH program for TI TMS320C6713 DSP boardWang Feng-chen2,1, Qiao Wei-min1, Li Qing-rui2,1(1. Institute of Modern Physics, Chinese Academy of Sciences, Lanzhou 730000 , China ;2. Graduate School, Chinese Academy of Sciences, Beijing 100039, China)Abstract: Analyze two methods of program FLASH, and in the system design based on T I TMS320C6713, taking 28F128J3A as an example, discuss how to program FLASH by FlashBurn program and FlashBurn Target Component, the main program code is also presented.Keywords:TMS320C6713; FLASH program; Flash Burn software; FlashBurn Target Component0.引言TMS320C6713是TI公司推出的TMS320C67xx系列浮点DSP中最新的一款芯片,每周期可以执行8条32位指令;支持32/64位数据;具有300MHz、3.3ns指令周期的运行速度和2400MIPS 或1800MFLOPS的处理能力。
基于TMS320C6678的多核DSP上电加载技术作者:刘章文刘七华谢川林袁学文来源:《现代电子技术》2013年第18期摘要:对于多核DSP应用技术来说,BootLoad技术是一个关键点,也是应用难点之一。
针对8核高性能DSP——TMS320C6678的根配置问题进行了研究,包括上电加载过程,单核和多核的emif NOR⁃FLASH存储器的映像文件的产生,二级加载器的编写和FLASH编程器的构成等。
其中,关键是在多核映像文件中,将辅助核的入口地址作为特殊数据来处理,使其他核触发更容易,这也是其他文献未涉及的。
该项技术已经用在某图像处理系统中。
关键词:多核DSP; TMS320C6678; BootLoad;映像文件中图分类号: TN964⁃34 文献标识码: A 文章编号: 1004⁃373X(2013)18⁃0111⁃040 引言在视频检测、医疗影像及红外图像快速跟瞄系统应用中,越来越复杂的二维、三维甚至四维的图像处理,需要并行化的处理系统,并能够运行复杂的算法[1⁃8]。
要实现这些复杂的系统,高端FPGA+高性能DSP是目前普遍采用的方案[5⁃6,8],而单个DSP的性能已发展至极限,所以解决复杂的并行算法,多核DSP是现在发展的全新方向,其中多核DSP的根加载技术是其难点之一[7,9⁃10]。
TI公司推出的DSP芯片TMS320C6678(C6678)具有8个内核的高性能DSP,每个内核工作频率均达1 GHz。
其支持的Boot模式有SPI、I2C、EMAC、SRIO和并口Emif16NOR⁃FLASH。
其中Emif16 NOR⁃FLASH模式是不用上位机参与、比较简单、独立成系统的一种,大多独立DSP系统采用该方式。
关于多核的加载,也有相关的文献报道[9],而文献[9]是DSP+ARM的双核。
网上也能搜索到关于C6472和C6678零星一些加载资料,都是借助于第三方转换工具,太过于笼统。
下面是针对C6678的并口Emif16 NOR⁃FLASH的上电加载作详细的探讨。
TMS320C6701 DSP自动加载研究0引言在许多DSP应用系统中,都需要DSP芯片能够在加电后自动从外部设备加载程序,也就是引导(Boot-load) o TI公司的TMS320C6000系列芯片有三种引导方式可供选择,分别是不加载、ROM 加载和主机加载,详细工作流程如下:不加载:CPU直接从地址0处开始执行代码。
如果该处内存是SDRAM,那么CPU会先挂起,等待SDRAM的初始化完成。
ROM加载:位于外部CE1空间的ROM中的代码首先通过DMA/EDMA被搬入地址0处。
加载过程在复位信号撤销后开始,此时CPU 内部保持复位状态,由DMA / EDMA执行一个单帧的数据块传输。
对于C620x / C670x, DMA从CE1空间中拷贝64 KB数据到地址0处。
传输完成后,CPU退出复位状态,开始执行地址0处的指令。
对于C62x /C67x,用户还可以指定外部加载ROM的存储宽度,EMIF会自动把相邻的8 b/16 b数据合成32 b的指令。
主机加载:也就是HPI加载。
CPU停留在复位状态,芯片其余部分保持正常状态。
引导过程中,外部主机通过主机接口初始化CPU的存储空间。
主机完成所有的初始化工作后,向接口控制寄存器的DSPIXT位写1,结束引导过程。
此时CPU退出复位状态,开始执行地址0处的指令。
1 ROM加载的实现究竟使用哪种引导方式取决于芯片引导模式设置,而引导模式由BOOTMODE[4: 0]管脚确定。
系统加电后,RESET信号有效,DSP 芯片复位,在RESET信号上升沿处锁存BOOTMODE[4: 0]管脚上的设置值,以此决定DSP芯片内存映射方式、地址0处的内存类型以及复位后芯片的引导模式。
本例中C6701的BOOTMODE值设为01101,即8 b ROM加载。
ROM加载是工程中最常见的加载方式,这种方式可以把程序代码段和数据段保存在ROM, FLASH等非易失存储器中,加载过程完全由DSP自动完成,在实际应用中十分方便。
TMS320C6711的FLASH引导装载系统研究与设计摘要引导装载是系统设计中必不可少的重要环节。
文章对公司3206711中引导装载的概念、方法及特点做了详细阐述,同时以公司的器39040为例,设计了一个利用进行引导装载的系统方案,并给出相应的自加载程序源代码。
关键词数字信号处理器存储器引导装载32067111概述在一些脱机运行的系统中,用户代码需要在加电后自动装载运行。
系统的引导装载是指在系统加电时,由将一段存储在外部非易失性存储器中的代码移植到高速存储器单元中去执行。
这样既可利用外部存储单元来扩展本身有限的资源,又能充分发挥内部资源的效能。
因此,在装载系统中,外部非易失性存储器和的性能显得尤为重要。
是一种高密度、非易失性的电可擦写存储器,而且单位存储比特的价格比传统要低,十分适合用于低功耗、小尺寸和高性能的便携式系统。
本文介绍了公司3206711浮点芯片和公司39040存储器的基本特点,同时给出了一具完整的用来实现系统引导装载的实现方案。
2硬件设计2.1器件介绍整个系统由3206711,外部存储器39040以及电源管理单元等构成。
下面主要介绍前面两个模块。
3206711数字信号处理器是美国公司推出的3206000系列浮点的一种,它采用256管脚的封装,33的电压和18的内核电压供电方式,并具有两级缓存结构和高达900的峰值运算能力,可广泛应用于图像处理等系统中。
39040是公司推出的存储器,该器件十分适合用作外扩存储器,它的存储容量为4,采用33单电源供电,无需额外提供高电压即可通过一些特殊的命令字序列实现对各个子模块的读写和擦除,并且可以重复十万次以上,因而可通过软件编程来实现对它的读写操作,十分适合于系统的调试和开发。
2.2硬件连接。
基于TMS320C6713的Flash烧写及BootLoad程序设计刘家兵;刘涛;王宗义;韩宏克【期刊名称】《应用科技》【年(卷),期】2008(035)008【摘要】在一些脱机运行的DSP应用中,通常需要在系统加电后自行将代码从外扩存储器中装载到内部DSP中去执行,实现此种功能的系统称为引导装载系统.这是DSP开发中的重点和难点之一,关系到系统的可靠性和处理速度.在分析T1公司TMS320C6713 DSP的引导加载过程及原理基础上,设计并实现了主机利用仿真器通过JTAG口实现对DSP外部配置的FLASH存储器的在线编程,并以TI公司的DSP结合ST公司的FLASH存储器(SST39VFSOOA)为例,叙述了从FLASH引导程序的实现方法,并针对其中重要的命令文件和用户引导程序,给出了相应的示例文件和部分源代码.【总页数】4页(P48-51)【作者】刘家兵;刘涛;王宗义;韩宏克【作者单位】哈尔滨工程大学,自动化学院,黑龙江,哈尔滨,150001;哈尔滨工程大学,自动化学院,黑龙江,哈尔滨,150001;哈尔滨工程大学,自动化学院,黑龙江,哈尔滨,150001;哈尔滨工程大学,自动化学院,黑龙江,哈尔滨,150001【正文语种】中文【中图分类】TP368【相关文献】1.基于EDMA的TMS320C6713片外Flash自举引导 [J], 段鲁生;李相平;吴魏;谢勇2.TMS320C6713 DSP的FLASH自引导及一种另类的烧写方法 [J], 张亮;刘延海3.TI TMS320C6713 DSP板FlashBurn程序设计 [J], 王凤臣;乔卫民;李庆瑞4.TI TMS320C6713 DSP板FlashBurn程序设计 [J], 王凤臣;乔卫民;李庆瑞5.基于SHA-1身份认证的Flash程序烧写系统 [J], 张铆;洪泽;蒋炯炜因版权原因,仅展示原文概要,查看原文内容请购买。