DSP通过外部FLASH实现自引导启动_图文(精)

上传人:shi****01 文档编号:114627808 上传时间:2022-06-29 格式:DOCX 页数:8 大小:67.12KB
收藏 版权申诉 举报 下载
DSP通过外部FLASH实现自引导启动_图文(精)_第1页
第1页 / 共8页
DSP通过外部FLASH实现自引导启动_图文(精)_第2页
第2页 / 共8页
DSP通过外部FLASH实现自引导启动_图文(精)_第3页
第3页 / 共8页
资源描述:

《DSP通过外部FLASH实现自引导启动_图文(精)》由会员分享,可在线阅读,更多相关《DSP通过外部FLASH实现自引导启动_图文(精)(8页珍藏版)》请在装配图网上搜索。

1、DSP通过外部FLASH实现自引导启动郭炜,邵诗逸(上海交通大学电力电子与电力传动系,上海交通大学微纳米研究院,上海200240摘要:初学者在使用DSP的时候,或者开发人员进行软件开发的时候,必须在连接仿真器的情况下进行开发,然而最后的实现需要脱离仿真器运行。首先对基于DSP了探讨,并介绍了两种脱离仿真器利用FLASH,及通过FLASH启动时FLASH地址内容的变化。关键词:数字信号处理;中图分类号:T:B:1002-2279(200701-0024-03TheRtiofBootloadofDSPsThroughon-chipFLASHGUOWei,SHAOShi-yi(Dept.ofPowe

2、rElectronicsandElectricalDrives,ShanghaiJiaotongUniversity,microandnanoresearchinstitution,ShanghaiJiaotongUniversity,Shanghai200240,ChinaAbstract:WhenabecedarianuseDSPordeveloperdevelopsoftware,theymustconnecttheemula2tor.Buttheultimaterealizationneedstoberunwithoutemulator.Thispaperdiscussesaboutt

3、hewayofexteriorself-startingbasedonDSPs,thenintroducestwomethodsofrunningprogrambyusingFLASHwithoutemulator.Theprocessofself-startingandchangeofaddresscontentofFLASHwhenFLASHwasstartedareanalysedindetailintheend.Keywords:DSP;bootload;memorysetup;FLASH1引言众所周知,DSP平台在成为最后的成品之前必须实现脱离仿真器到自引导启动。所谓自引导启动(Bo

4、otload就是指由DSP系统上电之后,系统可以在脱离仿真环境之下,通过外部设备,将程序装入内部存储器之中,实现程序的引导启动。无论是哪一款DSP,都带有从FLASH自启动的功能。下面以德州仪器公司(TI的TMS320C5509(以下简称5509为例,介绍通过外部FLASH自引导启动的基本原理和实现方法。FLASH存储器方式对程序实现引导。介绍自启动方法之前先说明一下5509提供的FLASH直接引导启动机制。第一步要求确定启动模式为外部存储器模式,5509采用上电之后对通用I/O口GPIO03的辨认来实现对引导方式的选择。因此,如果采用FLASH引导,应当将GPIO03设置为数据手册规定的10

5、00,这样在上电之后,程序从0x400000的地址开始运行。因此只要在0x400000的位置写入相应的程序就可以实现自启动。这样的启动在硬件上需要通过5509的CE1来通外部映射到0x4000000x800000的FLASH来实现,具体连接如图1所示2启动方式的选择TMS320C5509提供了丰富的引导方式,包括直接外部存储器方式引导、主机接口(EHPI方式引导、标准串行方式引导和USB方式引导等多种方法。这样的好处是:可以将程序存储于非易失的外部存储器之中,而在运行时加载到相对高速的内部存储器之中;同时可以为用户提供多种引导方式,使得DSP的应用更为灵活。这里主要讨论的是采用图1DSP和FL

6、ASH硬件连接作者简介:郭炜(1981-,男,安徽省芜湖市人,硕士研究生,主研方向:数字信号处理在宽带电力线通信网络实现中的应用。收稿日期:2005-06-02基于5509采用FLASH的自引导方式主要有两种:一种是将程序写入FALSH之后在FLASH之中直接运行,这种方法速度较慢;另一种方法是在上电之后,将FLASH中的程序写入内部的RAM然后运行,这种方法可以提供更高的速度,因而得到广泛的采用。传统的自引导启动方法需要用户根据不同的引导方式建立相应的引导表,进而配置相应的.cmd文件,最后通过HEX55工具烧写入FLASH之中。这种方法不仅不利于用户掌握,而且也有一定的局限性,因此这里介绍

7、的方法是通过仿真环境FALSH用CCS(CodeComposerStudio环境中自带的datasave工具将内存中的数据保留下来。第二个需要用户编制的工程是烧写FLASH的工程,即建立一个真正的硬件emulator工程,先load上述保存的数据进入内存,然后烧写入FLASH之中,必须注意的是此时的烧写地址应当和上面的simulator所配置的地址一致,这里就是0x400010。,因为上电之后,的位置并没有有效,必烧写工程中,在,将程序计数器指针(指向FLASH中主程序的入口地址。跳转指令3FLASH先介绍直接将程序在FLASH之中运行。首先由用户编制主程序工程,由于需要在0x400000的位

8、置运行程序,因此需要将主程序的内存配置(.cmd文件的程序地址设置在0x4000000x800000之内。可惜的是,在emulator模式下这样的配置将会导致链接出现问题,因此主程序必须在软件仿真的simu2lator模式下完成。例如将主程序装入0x400010,编的汇编代码是B40xxxx,相应的机器码是6A40xxxx,具体地讲,就是在0x400000和0x400001的地址中烧写入6A40xxxx的数据,具体的40xxxx为主程序的入口地址。完成了上述工作之后,自启动的工作就完成了。上电之后的运行情况是首先检测启动顺序,确定为外部FLASH引导,然后程序从0x400000执行跳转程序,跳

9、转到已经烧写入FLASH的主程序的入口地址,从而开始执行主程序本身,如图2所示译并链接之后,主程序装入虚拟的内存之中,然后使图2从FLASH直接运行示意图4高速片内RAM运行这里介绍上电之后将程序从FLASH中装入高速片内RAM运行,这样可以提高程序的执行速度。首先由用户编制主程序工程,与上面不同的是此程序为emulator模式,装入内存之后,不断电,执行第二个FLASH主程序烧写程序,将内存中的程序烧写进入FLASH之中。第三个程序在simulator模式下完成,模拟上电运行后将FLASH中的程序读回片内高速RAM,并且在程序的最后需要加上程序计数器指针(pc跳转指令,跳转到主程序的入口地址

10、。最后需要再次编制一个simulator烧写程序,将此程序写入FLASH相应的位置中。第三个simulator读程序和第四个simulator烧写程序之间通过datasave/load来实现数据保存。两次烧写程序的FLASH地址不能混叠。同样要注意的是需要在0x400000的位置烧写入跳转指令的机器码,跳转到simulator读程序的入口地址。具体方法在上面已经详细描述,这里不再赘述。当然,具体的实现时,完全可以将所有的烧写代码放到一个程序里面。除了两个烧写程序必须最后执行以外,主程序和simulator程序的执行顺序没有强行的规定,上述的顺序仅仅具有逻辑上的意义。上电之后的运行情况是首先检测

11、启动顺序,确定为外部FLASH引导,然后程序从0x400000执行跳转,跳转到保存在低速FLASH里的程序入口地址,接着在FLASH中执行读出程序,写回高速片内RAM中,写完之后执行跳转指令,将程序计数器指针(pc指向已进入内存中的主程序的入口地址,从而最后开始执行主程序本身。此入口地址即为第一个工程的入口地址,如图3所示。RAM运行示意图5结束语除了TMS320C5509之外,上述的方法广泛实用于多种型号的DSP芯片之中,并且可以按照相似的方法从片内FLASH引导,各种方式大同小异,不同的只是上电复位后程序指针所处的位置(例如5402为片外Oxff8O,2812为片内Ox3ffcOOh以及汇

12、编代码的不同而已,这些都已经通过本文所论述的方法得到实现。可以说,本文所介绍的方法具有广泛的普遍性和实用性。虽然实现系统自启动并非DSP的关键技术,但(上接第23页是却是脱离仿真环境,实现上电系统自动运行所必需的步骤,也是DSP初学者的难点之一。因此以FLASH读写为核心,可以较为简单地实现系统自启动,希望可以对读者有抛砖引玉的作用。参考文献:1郎岩梅,唐文彦,赵军基于DSP的嵌入式系统中BOOTLOADER程序的设计方法J.电测与仪表,2003(4:15-16.2戴明桢,周建江.TMS320C54xDSP结构、原理及应用M.北京:北京航空航天大学出版社,2001.3刘慧,林海虹,刘智.多核D

13、SP的BOOTLOADER程序的实现J.电子技术应用,2003(6:21-22.硬件结构的优化包括能降低工作电压Vdd的并行处理、流水线处理以及二者的混合处理。降低寄存电容C的片内存储器memory模块划分。降低活动因子a的信号门控、减少glitch(毛刺的传播长度、Glitch活动最小化、FSM(有限状态机状态译码的优化等。由硬件实现的算法级的功耗优化有:流水线和并行处理、Retiming(时序重定、Unfolding(程序或算法的展开、Folding(程序或算法的折叠等等基本方法以及其组合。3.5门级设计技术既然SoC的功耗与寄生电容的充放电有很大的关系,作为后端综合与布线,同样也可采取一

14、些措施来减少寄生电容。综合工具可以自动地完成电路的优化,在满足电路时序要求的条件下,减少门电路的驱动强度,而不需要对RTL代码进行任何改动。综合工具还可以通过重新组织结构,减少中间逻辑和多余晶体管,达到提高性能减少面积的目的。4结束语设计者可以通过低功耗体系结构、RTL级设计、门级设计、晶体管电路级设计到流片工艺选择等各个层次的优化来实现可重用的低功耗设计方法,同时,EDA厂商是低功耗领域的有力推动者,它们把科研工作者提出的低功耗设计技术和评估技术应用到自己的工具中,极大地方便了设计者对SoC的低功耗设计。可重用IP低功耗设计技术的应用,使得整个SoC设计的功耗分析与设计变得更为容易,在缩短设计周期和缩短产品上市时间方面的优势更加明显。参考文献:1张天骐等.SoC系统的低功耗设计EB/OL.http:/.2SoC低功耗设计与评估技术EB/OL.http:/www.3吴志勇,IC系统结构级低功耗设计技术EB/OL.4MichaelKeating,PierreBricaud.片上系统可重用设计方法学(第三版M.北京:电子工业出版社,2004.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!