DSP通过外部FLASH实现自引导启动_图文(精)
Flash做为DSP程序加载和引导
Flash做为DSP程序加载和引导1 引言在现代数字信号处理系统中,采用Flash做为DSP程序加载和引导是一种常用的方法,它为用户对那些将来可能需要改变数据或代码的系统维护提供了有效手段。
利用Flash器件,能够实现在线程序编写,减少EPROM程序烧写带来的麻烦。
2 Flash AM29LV800B简介Flash存储器又称闪存,它结合了ROM和RAM的特点,不仅具备电子可擦除可编程(EEPROM)功能,而且不会断电丢失数据同时能快速读取数据,它具有在线电擦写、低功耗、大容量、擦写速度快等特点,属于EEPROM的改进产品。
2.1主要性能AM29LV800BB-90EC是AMD公司AM29LV800B系列的一种器件,其主要性能如下:访问时间:90 ns;存储容量:8Mbit;工作温度范围:-55~+125℃:在线编程电压:3.0~3.6 V;低功耗:读操作时电流为7 mA,编程/擦除时电流为15 mA。
2.2引脚功能说明A0-A18:19根地址线;DQ0-DQ14:15根数据线;DQ15/A-1:当配置为16位字模式时,该引脚为数据I/O,组成16位字的最高位DQ15;当配置为8位字节模式时,该引脚为地址输入,为地址线的最低有效位A-1;2.3工作模式2.3.1读模式为了读取数据,系统需将CE和OE设为低电平,同时将WE设为高电平。
在器件上电或硬件复位后,器件默认设置为读模式。
2.3.2写模式为了向器件写入数据或指令,系统需将CE和WE置为低电平,同时将OE 置为高电平,写操作需要4个周期,前3个周期向两个特定地址写入3个特定字符,第4个周期将所需数据写入相应地址:2.3.3复位向器件的任意地址写入特定指令,该器件复位,复位后默认为读模式。
2.3.4自动选择模式向器件两个特定地址写入3个特定的字符,该器件就进入自动选择模式。
在该模式下获取器件的厂商号和设备号,系统必须通过复位指令断开。
2.3.5擦除模式片擦除是一个6周期操作,需向两个特定地址写入4个特定字符。
TMS320C6713B DSP的外部FLASH引导系统
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 具有三种引导(启动)方式:HD[4:3]=00:HPI 引导/仿真引导HD[4:3]=01:CE1 空间8 位宽,异步。
基于FLASH的TMS320C6416DSP自加载方法实现
基于FLASH的TMS320C6416DSP自加载方法实现摘要:本文以TMS320C6416为例,介绍了一种通过编写二次引导程序和烧写FLASH程序,实现DSP上电ROM自加载的方法。
当DSP复位时,会加载位于FLASH前1KB的二次引导程序,然后从地址0x00开始执行二次引导程序。
二次引导程序的作用是将用户程序从FLASH搬移到内部RAM中,再跳转到用户程序入口地址c_int00处开始执行,从而实现DSP芯片的ROM自启动。
关键词:TMS320C6416;二次引导;FLASH1 引言TMS320C6416是TI公司C6000系列中的一款高速定点DSP芯片,采用高性能超长指令集结构内核,主频高达1GHz,片内集成1MB大容量SRAM,同时片外拥有高性能外部存储接口,在许多需要进行大量数字信号处理运算并兼顾高实时性要求的场合得以广泛应用。
基于DSP设计的系统一般都是脱机运行的嵌入式系统,上电后需要用户程序自主加载运行,因此DSP芯片的加载设计尤为重要[1]。
本文给出了该DSP芯片基于外部FLASH的ROM加载方法的设计原理和实现方法。
2 FLASH加载原理TMS320C6416DSP芯片提供了以下3种启动模式:无启动模式(No Boot)、ROM启动(EMIF加载)和主机启动加载,通过配置芯片BEA[19:18]管脚电平即可选择不同模式。
其中ROM启动模式实现简单,速度较快,在实际系统应用中也最广泛。
ROM加载,也就是把程序固化在DSP外扩的非易失类存储器中,利用DSP的引导机制自动加载存储器中的程序。
由于DSP复位后只能从EMIFB的CE1空间向地址0x00处搬移1KB的代码,而通常情况下,用户程序的大小都会超过这个限制,这时就需要二次加载。
在FLASH的前1KB范围内预先存放一小段代码,DSP复位时会把此段代码搬移至内部。
所搬移的1KB代码就是二级引导程序,该二级引导程序实质上将程序从FLASH搬移至内部RAM中,再跳转到程序入口地址c_int00处开始执行[2]。
DSP自启动实验
DSP之自启动实验姓名:王悦凯 10210720110夏晓天 10210720039陈宏达 10210720029詹璟原 10210720047黄虹 10210720031刘欢 10210720034钟官世 10210720051林鹏 10210300031实验目的1.了解 TMS320VC5416 DSP 芯片的微处理器工作方式;2.了解 TMS320VC5416 DSP 芯片的自启动方式;3.学习了解ICETEK-VC5416-A板上 Flash 的扩展方式和特点;4.掌握 ICETEK-VC5416-A板上 Flash 的烧写过程;5.学习自启动程序的设计。
实验原理A.自启动原理1.MP/MC方式TMS320VC5416 DSP芯片有两种工作方式,一种为微控制器(MC)方式,一种为微处理器方式(MP)。
两种工作方式的存储器映射有所不同:在MC方式下,程序区地址从C000-FEFFH为片内ROM空间,从FF80H开始则是位于ROM上的固定中断向量表。
而在MP方式下这一空间为片外扩展存储器。
2.ICETEK-VC5416-A板上扩展 FlasH的方式和特点-FlasH扩展在数据空间,地址从8000H开始,容量为1M字节,采用8位方式。
-如果需要访问FlasH存储器,MP/MC必须为低电平。
3.5416 自启动加载器(BootLoader)自启动加载器是一段固化在 5416 片内 ROM 中的程序,它主要完成在上电时从外部加载并执行用户的程序代码。
加载的途径有:⑴从一个外部8位或16位 EPROM加载。
⑵由主处理器通过以下途径加载即*HPI总线*8 位或 16 位并行 I/O口*任何一个串行口*从用户定义的地址热启动4.自启动加载器从 EPROM的加载过程(1) 在硬件复位其间,如果’C54x的MP/MC引脚为低电平,则从片内 ROM 的 FF80H起执行程序,选择自启动方式。
(2) 初始化:*INTM = 1,关闭可屏蔽中断。
基于C6000系列DSP片外flash自启动方法
基于C6000系列DSP片外flash自启动方法
郑欢欢;穆占杰
【期刊名称】《信息化研究》
【年(卷),期】2011()5
【摘要】通过对C6000系列DSP片外flash烧写过程的分析,提出了一种简单且方便可行的数据在线烧写方法。
不需要格式转换,也不需要flashburn软件支持,在CCS下就能完成所有工作。
实验结果表明,该方法大大简化了烧写过程,并且提高了烧写成功率。
【总页数】4页(P34-37)
【关键词】C语言;在线烧写;引导加载;C6000;DSP
【作者】郑欢欢;穆占杰
【作者单位】南京航空航天大学电子信息工程学院;大连三惠热电股份有限公司【正文语种】中文
【中图分类】TN911.72
【相关文献】
1.′C6000的片外Flash编程加载方法研究 [J], 杨尚胜;姚振东
2.一种新的基于TMS320C6000DSP的Flash引导自启动方法 [J], 刘远峰;陈志华
3.基于TMS320C6000 DSP及DSP/BIOS系统的Flash引导自启动设计 [J], 王鹏;简秦勤;范俊锋
4.C6000系列DSP Flash二次加载技术研究 [J], 左颢睿
5.基于C6000系列DSP片外Flash的IAP设计 [J], 李光学;李超;郭燕红;岳宗帅;宋茜;
因版权原因,仅展示原文概要,查看原文内容请购买。
基于DSP的片外FLASH自举引导的实现
基于DSP的片外FLASH自举引导的实现
钟磊;臧威麟
【期刊名称】《桂林航天工业学院学报》
【年(卷),期】2009(014)001
【摘要】利用多通道缓冲串口McBSPO实现了TMS320VC5509A DSP与外部串行Flash的自举引导,完成了用DSP控制Flash进行在线系统编程,重点介绍了DSP 与Flash接口电路的设计,同时对Flash的烧录过程及软件编程部分进行了详细说明.通过在实际工程中的应用验证,表明了该方案切实可行.
【总页数】3页(P43-45)
【作者】钟磊;臧威麟
【作者单位】桂林电子科技大学,信息与通信学院,广西,桂林,541004;桂林电子科技大学,信息与通信学院,广西,桂林,541004
【正文语种】中文
【中图分类】TN611.72
【相关文献】
1.TMS320VC5502外扩FLASH自举引导方法的设计与实现 [J], 张彪;方方;黄洪全;黄秋;丁卫撑
2.基于EDMA的TMS320C6713片外Flash自举引导 [J], 段鲁生;李相平;吴魏;谢勇
3.基于NOR Flash的OMAPL138双核系统自举引导启动实现 [J], 邓国荣;刘厚钦
4.TMS320C54X DSP在线烧写FLASH存储器并实现自举引导的方法 [J], 奉华成;
白净
5.基于Flash的TMS320VC5416 DSP系统自举实现 [J], 徐菲;刘同怀;黄鲁因版权原因,仅展示原文概要,查看原文内容请购买。
C6000DSP_的flash自启动
name
origin length
used attr fill
---------------------- -------- --------- -------- ---- --------
BOOT
00000000 00000400 000000c0 RWIX
L2
00000400 0000fc00 0000d76d RWIX
今天完成了 C6713 的 flash 自加载,现将个人理解记录如下: 1:原理:C6000DSP 的二级启动分如下步骤: 1.1:在上电复位之后,DSP 自动去搬移 flash 开始的 1K 字节程序,这 1K 字节程序搬移近 来之后,DSP 就按照这 1K字节的程序来运行,而通常这1K 字节程序的作用是将存储在 flash 中的要自启动的目标程序搬移到片内来,然后运行已经搬移进来的目标程序,也就达到了自 启动的目的。 那么现在要解决的问题有如下两个: (1) 怎么把目标程序写进 flash 中去? (2) 怎么在 1K字节的程序中实现把 flash 中的程序搬移进来,并且运行搬移进来的程序 下面分别介绍:
从这里看到目标文件中,BOOT用了 0xc0 字节(这里的单位是字节),而其他代码用
了 0xd76d字节。
为了保险,把 flash_burn 的代码放置在离前面目标文件很远的地方(注意:还在片内 RAM 中),比如:6713 的片内地址从 0x00000000 到 0x2fffffff,前面目标文件已经占用 了从 0x00000000 到 0x00010000 这段空间,那么我把 flash_burn 这个工程的代码放置
DSP通过外部FLASH实现自引导启动
关键 词 : 字信号 处理 ; 数 自引导 启动 ; 内存 配置 ; 内存 中图分类 号 :N T4 文献标 识码 : B 文章 编号 :02— 2 9 20 1 0 2 O 10 27 (07l — 04一 3 0
sa td a e a ay e n d ti n t e e d. t re r l s d i ea li n n h Ke r s: y wo d DSP; o to d; mo y s tp; S b o la me r eu n H
1 引 言
众所 周知 , S D P平 台在 成 为 最 后 的成 品 之前 必 须实 现脱离仿 真器 到 自引导启 动 。所谓 自引导启 动
( ot a ) B o od 就是 指 由 D P系 统 上 电 之后 , 统 可 以 l S 系
F S A L H存储 器方 式对程 序 实现 引导 。 介 绍 自启 动 方法 之前 先 说 明一 下 50 59提供 的 F S A L H直接 引 导 启 动机 制 。第 一 步 要求 确 定 启 动 模 式 为外部 存储 器模 式 ,5 9采 用 上 电之后 对通 用 50 I0 口 G I0— / PO 3的辨认 来实 现对 引导方 式的选择 。
T e Re l a in o o t a fs Th o g n—c i L h p F ASH
GUO e , HAO h W iS S i—y i
( eto o e l t nc a dEetcl re,hn h i i t g U i rt, Dp.fP w rEe ri s n l r a i sS ag a a o nv sy co ci D v J on ei mcoa dn, s rhi tuinS ag a io n n r y S ag a 0 20,hn ) i n o or e c st o ,hn h i a t U i s ,hn h i 04 C i r n ea n it J o g e t v i 2 a
关于C6713从FLASH启动的操作图文说明 精品
关于6713从FLASH启动的操作说明:需要准备两个工程文件,即是myboot.pjt与FBTC6713.pjt,其中myboot.pjt是为了启动第一次BOOT程序,这个文件的定向区是0x90000000~0x90000400区域,当将DSP的启动模式调节到从FLASH启动后,DSP上电后,会从0x90000000~0x90000400拷贝1K(不同的DSP数据量不同)的数据到内部RAM区(0x00000000~0x00000400)运行,myboot.pjt所做的工作是将从0x90000400起始的固定长度(用户设定)的程序(用户程序user_pro.pjt)拷贝到内部RAM区运行。
因此从FLASH自举的过程主要有以下几个步骤:(1)将myboot.pjt与user_pro.pjt编译,生成.out文件后,再通过hex6x.exe工具将.out文件转成.hex文件,同时将FBTC6713.pjt编译成FBTC6713.out文件。
(2)打开FLASHburn工具,如下图所示:图1将File To Burn设置为boot.hex,FBTC Program File选择为FBTC6713.out,并将其他的参数确定,之后点击Program —>Download FBTC(此时一定要将CCS与目标CPU连接),Download FBTC成功之后会显示“Connected”字样,并显示FBTC Version ID的相关信息。
选择Program —>Program Flash对FLASH进行写数据,(注意在第一次写数据之前,务必将FLASH擦除(Program—>EraseFlash)一次),完成此操作后,程序只是向0x90000000~ 0x90000400区域写入了一次引导程序(复制用户程序的功能)。
(3)完成(2)后,将File To Burn设置为user_pro.hex(使用hex6x.exe将user_pro.out文件转成.hex文件),其余项不变,如图(2)所示。
TI DSP flash烧写及自启动
问题描述:TI DSP flash烧写及自启动DSP型号:DM642所有的系统在结束了仿真器开发后,都需要解决一个问题,就是将程序烧写到外部存储芯片中,完成系统上点后的自启动和引导,大多数,就是flash的烧写和自启动。
一,系统初期,没有估计到这部分的工作量,直到与苏工结帐时仍然以为这是一个手到擒来的过程。
也许是以前在实验室,单片机和FPGA的开发过程中,没有遇到过类似的问题,所以我相当然地以为对于DSP也是同样的过程。
现在想想,单片机是用单独的编程器烧写,而FPGA因为开发板提供厂商已经把大量的底层都完善了,我们所需要做得仅仅是编译产生下载文件,下载,OK!按理说,如果我们也是采取购买开发板的途径进行开发,开发板提供厂商也应该把这部分工作做完了。
但是,我们找的是单独的小公司设计一块系统板,这部分工作,尤其是如果系统板和开发板有所不同的这部分工作,就应改在设计初期,签合同时,明确提出来是谁做,做到权责明析,很遗憾我们没有。
而且,在项目进行中和那个帮我们做板子的人有点不愉快,最要命的是我已经把项目款付给了人家,接下来的工作量,就不能不说是我们自找的了。
二,我意识到,我不得不自己去做这部分工作了,于是开始想要借力合众达。
合众达是TI的官方合作伙伴,中国TI DSP的技术支持。
一开始,合众达觉得我是它们开发板的潜在买家。
于是开始费力地给我介绍它们的VPM642。
于是我告诉它们,我的系统是自己设计的,希望能够得到它们的支持。
他们于是好奇地研究了研究我的板子,然后告诉我,它们这边只是支持合众达的VPM642开发板,而且我的板子和它们的不同,它们也不保证提供的在VPM642上work的东西在我的板子上也能正常工作。
anyway,我说给我吧,我可以作为参考。
于是我搞到两块板子的图纸,开始详细比较二者的不同。
三,根据我比较的结果,我认为,二者没有本质的不同,都是AMD的芯片,型号有差异,一个33,一个320,它们能用的我应该也能用。
TMS320C6455 DSP基于外部FLASH自动加载的设计
f o r l o a d i n g t h e u s e r p r o g r a m.v i a t h e d a t a wr i t t e n i n t h e Fl a s h wi t h o u t d a t a c o n v e r s i o n i s i n t r o d u c e d wi t h
在通信 、 图像处理 、 雷达等领域得到广泛应用 。
时, D S P将一段存储在外部 R O M 的用户代码 ( 长度 为
1 k B ) 搬 移 到 内部 的 R A M 单 元 中执行 。这 种 自动加 载
技术不仅利用 了本身有限的 R O M资源, 而且充分发挥
了D S P内部 资源 的利用 率 。 C 6 0 0 0系 类 D S P的 主 要 加 载 方 式 包 括 无 引 导 模 式、 主机 引导 模式 和 E MI F总线 引导模 式 3种 。3种 加 载模 式各 有其 优 越 点 : 无 引 导 模 式 仅 限 于存 储 器 0地
KANG Ka n g . HE Me n g
( S c h o o l o f M i e r o e l e c t r o n i e s ,X i d i a n U n i v e r s i t y ,X i ' a n 7 1 0 0 7 1 ,C h i n a )
D S P的内部 R O M空间有限 , 不能将所有的用户代
码存 储 到 内部 R O M 中。 因此 需 要通 过 二 次 搬 移 完成 用 户 程 序 的 加 载。 T MS 3 2 0 C 6 4 5 5 的 地 址 空 间 0 x l 0 0 0 0 0— 0 x l 0 7 F F F间 集 成 了 3 2 k B的 内 部 R O M, B o o t l o a d e r 是其 中的一段 引导代码 , 作 用是 在 D S P上 电
DSP通过外部FLASH实现自引导启动_图文(精)
DSP 通过外部F LAS H 实现自引导启动郭炜, 邵诗逸(上海交通大学电力电子与电力传动系, 上海交通大学微纳米研究院, 上海200240摘要:初学者在使用DSP 的时候, 或者开发人员进行软件开发的时候, 必须在连接仿真器的情况下进行开发, 然而最后的实现需要脱离仿真器运行。
首先对基于DSP 了探讨, 并介绍了两种脱离仿真器利用F LASH , 及通过F LASH 启动时F LASH 地址内容的变化。
关键词:数字信号处理; ; ; 中图分类号:T :B :1002-2279(2007 01-0024-03The R ti o f Boo tl o ad o f D S P s Th r o ugh o n -ch i p FLASHG UO W ei, SHAO Shi -yi(D ept . of Po w er Electronics and Electrical D rives, Shanghai J iaotong U niversity,m icro and nano research institution, Shanghai J iaotong U niversity, Shanghai 200240, ChinaAbstract:W hen abecedarian use DSP or devel oper devel op s oft w are, they must connect the e mula 2t or . But the ulti m ate realizati on needs t o be run without e mulat or . This paper discusses about the way of exteri or self -starting based on DSPs, then intr oduces t w o methods of running p r ogra m by using F LASH without e mulator . The p r ocess of self -starting and change of address content of F LASH when F LASH was started are analysed in detail in the end .Key words:DSP; bootl oad; me mory setup; F LASH1引言众所周知, DSP 平台在成为最后的成品之前必须实现脱离仿真器到自引导启动。
一种新的基于TMS320C6000 DSP的Flash引导自启动方法
a p i ain r g a p l t p o r m d b g i g n b r i g I t i c e , i p l s h i e t a DS c n c o e u g n a d u n . n h s h me t n s a p i t e d a h t e P a mo e 1k y e r m t e tr v b t fo h sa t a d e s o E1 o DS s t r a d e s O O t r u h MI ,t e p o l m ov d s h t Bo t a e r g a so e n F a h a d r s f C t P’ sa t d r s x 0 h o g E F h r b e s le i t a ol d r p o r m t r d i l s c n o
lat& apia o s P r 应 l t n 器 与 用p c i 件s
文章编号 :0 2 8 9 (0 )1 0 5 — 4 10 — 62 2 1 2 — 0 4 0 1
一
种新 的基于 T 3 0 6 0 S MS 2 C 0 0 D P的 Fah ls
引导 自启动方法
刘远 峰 , 志华 陈
b c p e it DS e o id no P’S R AM t r n a h e e a p i ai n r g a o u , c i v d p l t p o r m la i g r m F a h o c o o d n fo ls t DS S P’ RAM t r u h h o g B o o d r o f a e l p o r m,DS S f s o t g i c mp ee .T sig r s l s o h t t e s se i c n e in n e ib e rga P’ a h b oi s o l td e t e u t h ws t a h y t m s o v n e t a d rla l . l n n
DSP 自启动实验
实验4 :自启动实验一.实验目的1.了解TMS320VC5509A DSP芯片的自启动方式。
2.掌握TMS320VC5509A DSP扩展Flash的烧写过程。
3.学习自启动程序的设计。
二.实验设备计算机(已安装Code Composer Studio 4软件),SDUST-EEC-C55X DSP实验系统实验箱,三.实验原理1.引导方式:TMS320VC5509A DSP芯片有多种引导工作方式,由上电时系统读取GPIO0~3的状态决定,关于引导方式的选择和引导过程的实现,请参考TI文档Spra375e.pdf(文件夹中的bootloder.pdf)。
由于使用的是从外部16位FLASH启动的方式,所以设置GPIO3~GPIO0状态为0111B,对应拨码开关(SW2)1~4的状态为:ON、OFF、OFF、OFF。
2.自启动程序编制要点:⑴.将烧写程序(.out)转化成Hex格式:使用转化工具hex55.exe在转换时,编写一个包含转换选项的CMD文件,举例如下(hex5509.cmd):timer.out-o myapp.hex-map boot.mxp-m2-v5510:2-boot-parallel16-a-image-zeroROMS{PAGE 0 : ROM : o=0x404000, l=0x1000}其中第一行是准备转换的out文件名,第二行是将要生成的Hex文件名,第三行是生成的映射文件名。
-然后编写转换批处理文件out2hex.bat如下:hex55 hex5509.cmd@pause⑵.Flash的数据可直接读取,但对Flash的编程和擦除操作则需要通过一系列命令才能进行。
FLASH的写操作只能将1变成0,而0变成1必须通过擦除操作进行。
所以每次写Flash 之前必须进行片擦除,使存储单元值变成0xFFFF,才能进行编程。
⑶.值得注意的是,程序加载的内存空间不能与Flash的烧写程序重叠,否则将导致烧写失败。
TMS320VC55x系列DSP的Flash引导方法研究,T(精)
TMS320VC55x系列DSP的Flash引导方法研究,TMS320C55x,Flash,自举引导,在线编程,二1引言随着数字信号处理技术的快速发展,DSP(数字信号处理器)越来越广泛地应用于各种数字信号处理系统中。
最终开发的系统要想脱离仿真器运行,必须将程序代码存储在非易失性存储器中。
Flash存储器以其大容量和可在线编程等特点已成为DSP系统的一个基本配置。
如何将程序烧写进Flash,并在上电时加载到DSP内部的RAM是Flash在DSP系统中应用的两个基本技术问题。
本文以基于TI公司的TMS320VC5509A和Atmel公司的AT49LV1024Flash开发的系统1 引言随着数字信号处理技术的快速发展,DSP(数字信号处理器)越来越广泛地应用于各种数字信号处理系统中。
最终开发的系统要想脱离仿真器运行,必须将程序代码存储在非易失性存储器中。
Flash存储器以其大容量和可在线编程等特点已成为DSP系统的一个基本配置。
如何将程序烧写进Flash,并在上电时加载到DSP内部的RAM是Flash在DSP系统中应用的两个基本技术问题。
本文以基于TI公司的TMS320VC5509A和Atmel公司的AT49LV1024Flash开发的系统为背景,详细介绍了系统引导相关的硬件设计、烧写软件设计以及自举引导和二次引导等实现方法。
2 TMS320VC5509A的自举引导2.1 TMS320VC5509A的自举模式配置TMS320VC5509A每次上电复位后,在执行完一系列初始化(配置堆栈寄存器、关闭中断、程序临时入口、符号扩展、兼容性配置)工作后,根据预先配置的自举模式,通过固化在ROM内的Bootloader程序进行程序引导。
VC5509A的引导模式选择是通过4个模式选择引脚BOOTM[0:3]配置完成的。
BOOTM0~3引脚分别与GPIO1、2、3、0相连。
在本系统设计中,采用EMIF(外部存储接口)并行引导模式(16位数据宽度),只需将BOOTM[3:0]设置成1011即可。
基于Flash的TMS320VC5416DSP系统自举实现
Boot 表实际是将通用目标文件 ( . OU T) 按照加载引导
方式设置生成十六进制文件 ( . H EX) ,也就是生成固定格
式的数据流 。Boot 表的生成步骤如下 : (1) 编译程序代码 ,
生成目标文件 。应当注意 : 对于 TMS320VC5416 ,需加编
译选项 - V548 ,否则最后生成的将是早期 TMS320VC54X
68
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.
段搬移到内部 RAM 程序区中 ;最后 ,全部搬移完成后 ,程
序指针会跳转到程序入口处 ,DSP 进入工作状态 。
- boot
———生成一个 Boot 表
- swwsr 0x7fff
———软件等待寄存器的设置
- memwidt h 16
———DSP 数据宽度
- romwidt h 16
———Flash 数据宽度
然后再通过执行 hex500. exe 命令 ,即可以得到所需的 Boot
表文件 。
3 系统硬件设计
to realize t he p rinciple. Meanwhile it also p resent s t he design of t he DSP circuit ry and t he techniques for t he Flash memory to
be used as firmware. 关键词 :DSP ;闪烁存储器 ;自启动
CN4321258/ TP ISSN 10072130X
计算机工程与科学
COMPU TER EN GIN EERIN G & SCIENCE
TMS320VC55X系列DSP的FLASH引导方法(精)
TMS320VC55X系列DSP的FLASH引导方法
触摸屏如图1,典型触摸屏的工作部分一般由三部分组成:两层透明的阻性导体层、两层导体之间的隔离层、电极。
阻性导体层选用阻性材料,如铟锡氧化物(ITO)涂在衬底上构成,上层衬底用塑料,下层衬底用玻璃,隔离层为粘性绝缘液体材料,如聚酯薄膜。
电极选用导电性能极好的材料(如银粉墨)构成,其导电性能大约为ITO的1000倍。
触摸屏
如图1,典型触摸屏的工作部分一般由三部分组成:两层透明的阻性导体层、两层导体之间的隔离层、电极。
阻性导体层选用阻性材料,如铟锡氧化物(ITO)涂在衬底上构成,上层衬底用塑料,下层衬底用玻璃,隔离层为粘性绝缘液体材料,如聚酯薄膜。
电极选用导电性能极好的材料(如银粉墨)构成,其导电性能大约为ITO的1000倍。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DSP 通过外部F LAS H 实现自引导启动郭炜, 邵诗逸(上海交通大学电力电子与电力传动系, 上海交通大学微纳米研究院, 上海200240摘要:初学者在使用DSP 的时候, 或者开发人员进行软件开发的时候, 必须在连接仿真器的情况下进行开发, 然而最后的实现需要脱离仿真器运行。
首先对基于DSP 了探讨, 并介绍了两种脱离仿真器利用F LASH , 及通过F LASH 启动时F LASH 地址内容的变化。
关键词:数字信号处理; ; ; 中图分类号:T :B :1002-2279(2007 01-0024-03The R ti o f Boo tl o ad o f D S P s Th r o ugh o n -ch i p FLASHG UO W ei, SHAO Shi -yi(D ept . of Po w er Electronics and Electrical D rives, Shanghai J iaotong U niversity,m icro and nano research institution, Shanghai J iaotong U niversity, Shanghai 200240, ChinaAbstract:W hen abecedarian use DSP or devel oper devel op s oft w are, they must connect the e mula 2t or . But the ulti m ate realizati on needs t o be run without e mulat or . This paper discusses about the way of exteri or self -starting based on DSPs, then intr oduces t w o methods of running p r ogra m by using F LASH without e mulator . The p r ocess of self -starting and change of address content of F LASH when F LASH was started are analysed in detail in the end .Key words:DSP; bootl oad; me mory setup; F LASH1引言众所周知, DSP 平台在成为最后的成品之前必须实现脱离仿真器到自引导启动。
所谓自引导启动(Bootl oad 就是指由DSP 系统上电之后, 系统可以在脱离仿真环境之下, 通过外部设备, 将程序装入内部存储器之中, 实现程序的引导启动。
无论是哪一款DSP, 都带有从F LASH 自启动的功能。
下面以德州仪器公司(TI 的T MS320C5509(以下简称5509 为例, 介绍通过外部F LASH 自引导启动的基本原理和实现方法。
F LASH 存储器方式对程序实现引导。
介绍自启动方法之前先说明一下5509提供的F LASH 直接引导启动机制。
第一步要求确定启动模式为外部存储器模式, 5509采用上电之后对通用I/O口GP I O 0~3的辨认来实现对引导方式的选择。
因此, 如果采用F LASH 引导, 应当将GP I O 0~3设置为数据手册规定的1000, 这样在上电之后, 程序从0x400000的地址开始运行。
因此只要在0x400000的位置写入相应的程序就可以实现自启动。
这样的启动在硬件上需要通过5509的CE1来通外部映射到0x400000~0x800000的F LASH 来实现, 具体连接如图1所示。
2启动方式的选择T MS320C5509提供了丰富的引导方式, 包括直接外部存储器方式引导、主机接口(EHP I 方式引导、标准串行方式引导和US B 方式引导等多种方法。
这样的好处是:可以将程序存储于非易失的外部存储器之中, 而在运行时加载到相对高速的内部存储器之中; 同时可以为用户提供多种引导方式, 使得DSP 的应用更为灵活。
这里主要讨论的是采用图1DSP 和F LASH 硬件连接作者简介:郭炜(1981- , 男, 安徽省芜湖市人, 硕士研究生, 主研方向:数字信号处理在宽带电力线通信网络实现中的应用。
收稿日期:2005-06-02基于5509采用F LASH 的自引导方式主要有两种:一种是将程序写入F ALSH 之后在F LASH 之中直接运行, 这种方法速度较慢; 另一种方法是在上电之后, 将F LASH 中的程序写入内部的RAM 然后运行, 这种方法可以提供更高的速度, 因而得到广泛的采用。
传统的自引导启动方法需要用户根据不同的引导方式建立相应的引导表, 进而配置相应的. c md 文件, 最后通过HEX55工具烧写入F LASH 之中。
这种方法不仅不利于用户掌握, 而且也有一定的局限性, 因此这里介绍的方法是通过仿真环境F ALSH 用CCS (Code Composer Studi o 环境中自带的data save 工具将内存中的数据保留下来。
第二个需要用户编制的工程是烧写F LASH 的工程, 即建立一个真正的硬件e mulat or 工程, 先l oad 上述保存的数据进入内存, 然后烧写入F LASH 之中, 必须注意的是此时的烧写地址应当和上面的si m ulat or 所配置的地址一致, 这里就是0x400010。
, 因为上电之后, 的位置并没有有效, 必烧写工程中, 在, 将程序计数器指针( 指向F LASH 中主程序的入口地址。
跳转指令3 F LASH 先介绍直接将程序在F LASH 之中运行。
首先由用户编制主程序工程, 由于需要在0x400000的位置运行程序, 因此需要将主程序的内存配置(. c md 文件的程序地址设置在0x400000~0x800000之内。
可惜的是, 在e mulat or 模式下这样的配置将会导致链接出现问题, 因此主程序必须在软件仿真的si m u 2lat or 模式下完成。
例如将主程序装入0x400010, 编的汇编代码是B 40xxxx, 相应的机器码是6A40xxxx, 具体地讲, 就是在0x400000和0x400001的地址中烧写入6A40xxxx 的数据, 具体的40xxxx 为主程序的入口地址。
完成了上述工作之后, 自启动的工作就完成了。
上电之后的运行情况是首先检测启动顺序, 确定为外部F LASH 引导, 然后程序从0x400000执行跳转程序, 跳转到已经烧写入F LASH 的主程序的入口地址, 从而开始执行主程序本身, 如图2所示。
译并链接之后, 主程序装入虚拟的内存之中, 然后使图2从F LASH 直接运行示意图4高速片内RAM 运行这里介绍上电之后将程序从F LASH 中装入高速片内RAM 运行, 这样可以提高程序的执行速度。
首先由用户编制主程序工程, 与上面不同的是此程序为e mulat or 模式, 装入内存之后, 不断电, 执行第二个F LASH 主程序烧写程序, 将内存中的程序烧写进入F LASH 之中。
第三个程序在si m ulat or 模式下完成, 模拟上电运行后将F LASH 中的程序读回片内高速RAM , 并且在程序的最后需要加上程序计数器指针(pc 跳转指令, 跳转到主程序的入口地址。
最后需要再次编制一个si m ulat or 烧写程序, 将此程序写入F LASH 相应的位置中。
第三个si m ulat or 读程序和第四个si m ulat or 烧写程序之间通过data save /l oad 来实现数据保存。
两次烧写程序的F LASH 地址不能混叠。
同样要注意的是需要在0x400000的位置烧写入跳转指令的机器码, 跳转到si m ulat or 读程序的入口地址。
具体方法在上面已经详细描述, 这里不再赘述。
当然, 具体的实现时, 完全可以将所有的烧写代码放到一个程序里面。
除了两个烧写程序必须最后执行以外, 主程序和si m ulat or 程序的执行顺序没有强行的规定, 上述的顺序仅仅具有逻辑上的意义。
上电之后的运行情况是首先检测启动顺序, 确定为外部F LASH 引导, 然后程序从0x400000执行跳转, 跳转到保存在低速F LASH 里的程序入口地址, 接着在F LASH 中执行读出程序, 写回高速片内RAM 中, 写完之后执行跳转指令, 将程序计数器指针(pc 指向已进入内存中的主程序的入口地址, 从而最后开始执行主程序本身。
此入口地址即为第一个工程的入口地址, 如图3所示。
RAM 运行示意图5结束语除了T MS320C5509之外, 上述的方法广泛实用于多种型号的DSP 芯片之中, 并且可以按照相似的方法从片内F LASH 引导, 各种方式大同小异, 不同的只是上电复位后程序指针所处的位置(例如5402为片外0xff80, 2812为片内0x3ffc00h 以及汇编代码的不同而已, 这些都已经通过本文所论述的方法得到实现。
可以说, 本文所介绍的方法具有广泛的普遍性和实用性。
虽然实现系统自启动并非DSP 的关键技术, 但(上接第23页是却是脱离仿真环境, 实现上电系统自动运行所必需的步骤, 也是DSP 初学者的难点之一。
因此以F LASH 读写为核心, 可以较为简单地实现系统自启动, 希望可以对读者有抛砖引玉的作用。
参考文献:[1]郎岩梅, 唐文彦, 赵军. 基于DSP 的嵌入式系统中BOOT LOADER 程序的设计方法[J ].电测与仪表, 2003(4 :15-16. [2]戴明桢, 周建江. T MS320C54x DSP 结构、原理及应用[M].北京:北京航空航天大学出版社, 2001. [3]刘慧, 林海虹, 刘智. 多核DSP 的BOOT LOADER 程序的实现[J ].电子技术应用, 2003(6 :21-22.・硬件结构的优化包括能降低工作电压Vdd 的并行处理、流水线处理以及二者的混合处理。
・降低寄存电容C 的片内存储器me mory 模块划分。
・降低活动因子a 的信号门控、减少glitch (毛刺的传播长度、Glitch 活动最小化、FS M (有限状态机状态译码的优化等。
・由硬件实现的算法级的功耗优化有:流水线和并行处理、Reti m ing (时序重定、Unfolding (程序或算法的展开、Folding (程序或算法的折叠等等基本方法以及其组合。
3. 5门级设计技术既然SoC 的功耗与寄生电容的充放电有很大的关系, 作为后端综合与布线, 同样也可采取一些措施来减少寄生电容。