




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TMS320C6711的FLASH引导装载系统研究与设计摘要:引导装载是DSP系统设计中必不可少的重要环节。文章对TI公司TMS320C6711中FLASH引导装载的概念、方法及特点做了详细阐述,同时以SST公司的FLASH器(SST39VF040)为例,设计了一个利用FLASH进行引导装载的系统方案,并给出相应的自加载程序源代码。关键词:数字信号处理器 FLASH存储器 引导装载 TMS320C67111 概述在一些脱机运行的DSP系统中,用户代码需要在加电后自动装载运行。DSP系统的引导装载(Bootload)是指在系统加电时,由DSP将一段存储在外部非易失性存储器中的代码移植到高速存储器单元中去执行。这样既可利用外部存储单元来扩展DSP本身有限的ROM资源,又能充分发挥DSP内部资源的效能。因此,在装载系统中,外部非易失性存储器和DSP的性能显得尤为重要。FLASH是一种高密度、非易失性的电可擦写存储器,而且单位存储比特的价格比传统EPROM要低,十分适合用于低功耗、小尺寸和高性能的便携式系统。本文介绍了TI公司TMS320C6711浮点DSP芯片和SST公司SST39VF040 FLASH存储器的基本特点,同时给出了一具完整的用FLASH来实现系统引导装载的实现方案。2 硬件设计21 器件介绍整个系统由DSP(TMS320C6711),外部FLASH存储器(SST39VF040)以及电源管理单元等构成。下面主要介绍前面两个模块。TMS320C6711数字信号处理器是美国TI公司推出的TMS320C6000系列浮点DSP的一种,它采用256管脚的BGA封装,3.3V的I/O电压和1.8V的内核电压供电方式,并具有两级cache缓存结构和高达900MFLOPS的峰值运算能力,可广泛应用于图像处理等系统中。SST39VF040是SST公司推出的FLASH存储器,该器件十分适合用作外扩存储器,它的存储容量为4MB,采用3.3V单电源供电,无需额外提供高电压即可通过一些特殊的命令字序列实现对各个子模块的读写和擦除,并且可以重复十万次以上,因而可通过DSP软件编程来实现对它的读写操作,十分适合于系统的调试和开发。22 硬件连接DSP访问片外存储器主要通过外部存储器接口(EMIF),它不仅具有很强的接口能力,可以和各种存储器直接接口,而且还具有很高的数据吞吐能力,最高可达1200MB/s。TMS320C6711的EMIF支持8位、16位和32位宽的所有存储器,当从这些窄位宽的存储空间读写数据时,EMIF会将多个数据打包成一个32位的值,而不必增加额外电路。TMS320C6711与SST39VF040的连接电路如图1所示。 该电路主要通过DSP的相关输出管脚来控制FLASH的擦除和读写。其中,A0A18为地址线,DQ0DQ7为数据线,OE和WE分别为输出使能和写使能,CE1为片使能。由于TMS320C6711默认的引导模式是从外部CE1空间的8位FLASH来引导装载,所以,TMS320C6711的CE1和FLASH的片选CE相连。如果是从16位或32位FLASH引导,则只需将HD4:3设置成相应的值即可。23 EMIF寄存器的配置由于TMS320C6000在异步接口上更加方便,因此,用户可以灵活地设置读写周期以实现与不同速度、不同类型的异步器件的直接接口。EMIF接口由一组存储器映射的寄存器进行 控制与维护,包括配置各个空间存储器类型和设置读写时序等。和异步器件接口时需配置CE空间控制寄存器,由它来控制存储器的读写周期,本系统用到了CE1空间,故需要设置CE1空间控制寄存器的值。在设置CE1空间控制寄存器时,应满足以下条件:(1)异步读时:SETUP+STROBE(tacc(m)+tsu+tdmax)/tcycSETUP+STROBE+HOLD(trc(m)/tcyeHOLD(th-tdmin-toh(m)/tcyeHOLD(th-tdmin-toh(m)/tcye(2)异步写时:STROBE(twp(m)/tcyeSETUP+STROBE(txw(m)/tcyeHOLD(Max(tih(m),twr(m)/tcyeSETUP+STROBE+HOLD(twc(m)/tcye(3)附加参数TA:TA(tohz(m))/tcye以上参数可以从芯片手册里查到,并可据此得以满足上述条件的CE1值:CE1=1161C901h。3 软件设计引导装载系统主要由实现自加载功能的定制代码和用户程序两部分构成,最后都存储在外扩SST39VF040的指定地址中。其中如何写定制代码是设计的重点,它负责将中断向量表和用户代码段从片外FLASH移植到其它高速存储器中,并且将程序指针指向用户 代码段的起始地址。31 FLASH引导过程对于许多DSP应用 系统,常常需要从FLASH装载程序到DSP以便使它能够脱机运行。设置完芯片装载方式后,FLASH引导装载的具体过程如下:首先将位于外部CE1空间的FLASH(即图1中的SST39VF040)中的程序通过EDMA自动搬入内部RAM的地址0处(参见图2),实际上,尽管加载过程RAM的地址0处(参见图2),实际上,尽管加载过程是在芯片复位信号被释放后才开始的,但是当芯片开始复位时,就开始准备上述传输了。用EDMA进行 的加载过程是一个单帧数据块的传输过程,数据块的大小为1kB,当然这1kB的数据必须包括用于实现自加载功能的定制代码,1kB的数据传输完成后,CPU退出复位状态,开始执行地址0处的自加载功能的定制代码,同时把其它的初始化段从FLASH拷贝到相应的高速存储器处,之后初始化C变量以换行用户程序。32 链接在链接自加载功能的定制代码和其它代码时,需要特别注意该程序COFF(公共目标文件格式)段的放置。因为有时候需要对某些段制定两个不同的地址:一个导入地址,一个运行地址。导入地址用来决定装载器把段的原始数据放在何处,而运行地址就是该段代码运行的地方。任何对段的引用都是指它的运行地址。因此,如果给某个段指定不同的导入地址和运行地址,在程序访问该段之前,都需要把它从导入地址拷贝到运行地址处,当然这个拷贝过程有时是自动进行的,有时需要人工介入,即由自加载功能的定制代码来完成。如前面提到的1kB数据拷贝就是EDMA自动完成的。显然,制定两个不同地址的目的是为了加快代码的执行速度。链接可由*.cmd文件来实现。代码在链接在应遵循以下原则:(1)所有代码和初始化数据都必须有一个FLASH的导入地址;(2)所有非常数数据据都有一个RAM运行 地址;(3)未初始化的数据无需独立的导入地址;(4)从FLASH拷贝到RAM的代码要有一个FLASH导入地址和RAM运行 地址。33 写自加载功能的定制代码通常1kB的定制代码需要包括以下三个部分:(1)配置EMIF寄存器。只有正确配置了EMIF的值,它才有可能访问外部存储器FLASH和SDRAM;(2)拷贝初始化段。对于既有导入地址,又有运行地址的初始化段,需要把它从导入地址拷贝到它的运行地址处,处时还必须参考.map文件来确定要搬移的数据块的大小,这些段代码的搬移可以用汇编指令MOV来实现,也可以用TMS320C6711的EDMA来实现。由于用EDMA搬移数据要对EDMA参数进行设置,所以通常采用MOV指令来实现;(3)转向C程序的入口_c_int00,即跳转到main()函数的入口处。 该自加载功能的代码如下:BOOT_SIZE .equ 0x9800 ;待装载代码的大小FLASH_START .equ 0x90000000 ;FLASH起始地址BOOT_START .equ 0x0000000 ;L2 sram起始地址EMIF_GCR .equ 0x01800000 ;EMIF全局控制寄存器的地址EMIF_CE1 .equ 0x01800004 ;CE1空间控制寄存器的地址EMIF_CE1-8 .equ 0x1161C901 ;CE1空间控制寄存器的值.sect .boot_load.global_boot.ref_c_int00_boot:mvkl EMIF_GCR,A4mvkl 0x3300,B4mvkh EMIF_GCR,A4mvkh 0x3300,B4stw B4,*A4 ;配置EMF全局控制寄存器mvk1 EMIF_CE1,A4mvk1 EMIF_CE1-8,B4mvkh EMIF_CE1,A4mvkh EMIF_CE1-8,B4stw B4,*A4 ;配置CE1空间控制寄存器mvkl BOOT_START+1024,A4 ;待搬移数据的目标地址mvkl FLASH_START+1024,B4 ;待搬移数据的源地址mvkh BOOT_START+1024,A4mvkh FLASH_START+1024,B4zer0 A1_boot_loop1: 数据搬移ldb *B4+,B5mvkl BOOT_SIZE,B6add 1,A1,A1mvkh BOOT_SIZE,B6 ;B6为待搬移数据块大小,可根据实际情况来修改cmplt A1,B6,B0nopstb B5,*A4+B0b_boot_loop1nop 5mvk1 .S2_c_init00,B0mvkh .S2_c_int00,B0B .S2 B0 ;转向C程序的入口nop 534 FLASH编程建立好了上述定制代码段、用户程序段、中断向量表和链接命令文件后,便可利用TI公司的DSP集成开发环境CCS进行编译、调试及链接,之后生成的目标文件*.out就是DSP能够识别的COFF格式。为了使系统能够脱机运行,需要把该目标文件的代码写入FLASH中,往FLASH中写入目标代码可以采用以下两种方法:(1)用硬件仿真器XDS510/560通过JTAG口对FLASH进行在线编程。此时需要把*.out文件数据放入缓冲存储器,然后按照FLASH芯片手册提供的编程格式把缓冲存储器里的数据写入FLASH。(3) 利用编程器进行编程。由于编程器不支持*.out文件模式,不能直接写入FLASH中,所以必须将*.out文件转换成编程器可读入的*.hex格式,这可以通过CCS软件中的转换工具hex6x来实现,转换时要注意hex.cmd文件的写法,而且整个文件转换过程是在DOS提示符下完成的。4 结论利用上述方法可使系统在脱
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB11T 2471.2-2025 智能网联汽车封闭试验场地测试技术规范 第2部分:无人配送车
- 经济开发区排水管网提升改造工程环境影响报告书
- 难点解析人教版八年级上册物理声现象《声音的产生与传播》专题练习试题(含详细解析)
- 城市公园绿地多功能利用方案
- 土石方工程施工技术优化方案
- 基于BIM的建筑项目团队协同管理
- 考点攻克人教版八年级上册物理声现象《声音的产生与传播》同步测试试题(解析版)
- 近代东北水稻的种植及影响(1901-1931)
- 龙牙楤木基因组测序及三萜皂苷合成的调控机制研究
- 第2课 羊城的变迁一初识Windows说课稿-2025-2026学年小学信息技术(信息科技)第一册粤教版(李师贤主编)
- 美业服务能力提升培训课件
- 基孔肯雅热科普宣传学习课件
- 2025年北京市专业技术人员公需科目培训答案
- 2025年北京市房屋租赁合同(自行成交版)模板
- 2025年幼儿园教师教育部门政策法规试题(含答案)
- 2025至2030年中国湖南省中等职业教育市场需求情况分析报告
- 道路养护以及维修方案(3篇)
- 基孔肯雅热医疗机构门诊应急处置演练方案
- 2025年中级群众文化面试题及答案
- 【供水管网改造】技术方案、施工组织设计(完整版)
- 小儿肺炎合并心力衰竭诊疗要点
评论
0/150
提交评论