[b] 摘要:分析了TMS320VC5402 DSP的引导装载过程,给出了两个外部并行引导装载的典型电路。针对这两个电路设计了可脱离Flash烧写器的仿真器在线编程装载方法,并得到了实验验证。
关键词:DSP引导装载 在线编程装载 虚拟扩展程序空间 DSP
所谓引导方式就是指单片机(MCU)系统复位时,其系统软件代码所取得的方式。对于单片机来说,它使用复位矢量方式从程序空间的固定地址处开始取得指令代码。如果所需代码来自程序空间外部,则引导过程无法进行。TMS320VC5402 DSP内部ROM中的引导装载程序Bootloader使系统上电后能自动将程序代码从外部如Flash、Eprom、主机引导装载到DSP内部或者外部程序存储器中脱机运行。这样的设计有三个突出点:一是程序代码可以存储在片外相对慢速、非易失性器件中,而装载运行于高速器件;二是提供多种装载方式,使得DSP可以灵活应用到不同系统;三是省去对DSP片内ROM进行掩膜编程操作,节省大量费用。
引导装载程序根据不同的系统要求提供了多种装载模式,主要包括并行I/O口引导装载、串行口引导装载、HPI引导装载、外部并行引导装载等模式,并且兼容8位和16位字引导装载方式。
1 引导装载程序分析
TMS320VC5402内部4K字的ROM程序位于0xF000~0xFFFF程序空间,包括引导装载程序、μ律和A律扩充表、正弦对照表、工厂测试码和中断向量表。其中,引导装载程序位于0xF800~0xFBFF空间。复位时,如果TMS320VC5402处在微计算机方式MP/MC=0,则片内ROM中的引导装载程序就会被执行。引导装载程序在决定采用何种装载模式之前,首先对CPU状态寄存器进行初始化。初始化工作包括:禁止可屏蔽中断INTM=1,内部DARAM映射到程序/数据区OVLY=1,对程序和数据区均设置为7个等待状态。初始化完成后,引导装载程序执行装载模式判断。判断的顺序是:HPI模式、SPI模式、外部并行模式、标准串口模式、并行I/O模式。图1说明了整个装载模式的判断流程。
图1 引导装载模式选择流程
2 外部并行装载电路的设计
由图1可知,外部并行装载时引导装载程序先读I/O空间FFFFh,判断是否是有效的并行装载模式;如果FFFFh处为非有效值,则读数据空间FFFFh,判断是否是有效的并行装载模式。对于外部并行装载,要求装载时Flash位于数据空间。下面给出两种实际应用过的并行装载电路,如图2所示。
图2(a)适用于程序运行时不要求大数据空间的系统。若对DS(数据空间选择)信号与A15地址线译码,Flash占用数据空间的8000h~FFFFh共32K空间,因此程序代码的存储区大小不能超过32K。当然,若对A15、A14与DS译码,Flash也可将整个片外48K的数据空间作为程序代码的存放区。
图2(b)将Flash分为16页,每页64K,Flash的片选信号CE利用DSP的A16~A19、通用I/O引脚XF以及程序/数据空间选择DS/PS信号译码获得。图2b所示系统上电后,XF=1,译码后Flash的0页映射到数据空间,此时引导装载程序可利用它正确装载;装载完毕后,DSP从程序代码的入口地址开始执行,此时DSP设置XF=1,DSP利用内部DARAM或者外部SRAM作为程序和数据空间存储器,Flash的0页被屏蔽而无法再操作,Flash的1~15页作为DSP扩展程序存储器使用。这样设计系统电路有如下好处:由于装载时与系统程序运行时数据空间的物理存储器分离,系统程序可利用全部64K的数据空间;程序运行时程序代码存储器被屏蔽,保证了装载程序的安全性;扩展程序空间可作为数据暂存或永久存储空间,满足了数据处理系统的要求。当然,也可使用单片64K的Flash作为程序代码存储器,以SRAM作为程序扩展空间存储器。
图2 外部并行装载典型电路
3 外部并行装载的仿真器在线编程
DSP引导装载程序从外部数据存储器(Flash)中读取引导装载表,并且装载程序代码到DSP片内或片外程序存储器。Flash中存储的是引导装载表。它的结构如表1所示。要使用TMS320VC5402的引导装载功能,必须利用Hex转换工具生成一个如表1所示结构的包含引导装载操作所需的全部数据项的引导装载表。表中第一个字08AAh/10AAh代表8/16位并行装载模式。
表1 引导装载表结构
08AAh或者10AAh
SWWSR寄存器初始化值
BSCR寄存初始化值
程序入口地址XPC
程序入口地址指(PC)
第一程序块大小
第一个程序块目标地址XPC
第一个程序块目标地址指针
程序代码1
……
程序代码N
最后程序块大小
最后程序块目标地址XPC
最后程序块目标地址指针
程序代码1
……
程序代码N
代码结束标志0000h
通常的DSP独立系统都需要利用Flash烧写器将引导装载表写入Flash中,对于采用表贴封装的Flash器件,烧写器无法写入数据。为了解决这个问题,采用仿真器在线编程方式将引导装载表数据写入Flash,它具有节约开发成本、减小器件尺寸、编程灵活的特点。
对于图2a所示的系统,在仿真器仿真状态下,将引导装载表读入DSP数据区的0000h~7FFFh空间,然后使用Flash在线编程方法将数据写入Flash中,最后在Flash的FFFFh处写入引导装载表在Flash中的起始地址。编程完毕,复位系统即可实现装载过程。
对于图2(b)所示的系统,仿真器在线编程则要复杂得多。由于在仿真状态下,程序空间与Flash的0页空间重叠,Flash的0页被屏蔽,程序无法操作到Flash的存储空间。为此,程序将Flash的0页空间作为“虚拟扩展程序空间”,以便程序写入引导装载表。具体实现过程是:设置外部控制信号=1,此时译码电路将A18地址线信号取反,虚拟扩展程序空间开放。Flash的0页空间虚拟成为扩展程序空间的040000h~04FFFFh空间。这样,仿真器在线编程040000h~04FFFFh空间即相当于对Flash的0页编程。编程完毕后,设置外部控制信号=0,复位系统后即可实现装载过程。
本文分析了TMS320VC5402的引导装载程序的装载过程,给出了两个经常使用的外部并行装载典型电路。针对两个典型电路设计了仿真器在线编程装载方法。利用此方法实现了一个以128K%26;#215;16bit的SRAM作为程序和数据空间,以1M%26;#215;16bit的Flash作为扩展程序空间和系统程序代码存储器的系统。该系统无需Flash烧写器进行Flash数据写入,并且完全利用了TMS320VC5402的全部存储空间,充分发挥了DSP的效能。 [/b]
引用地址:TMS320VC5402外部并行引导装载方法的研究
上一篇:多制式语音编码及其DSP实现
下一篇:TMS320C2812在无刷直流电动机控制中的应用
- 热门资源推荐
- 热门放大器推荐
小广播
热门活动
换一批
更多
最新应用文章
更多精选电路图
更多热门文章
更多每日新闻
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
更多往期活动
- 免费测评| TDK-Lambda 电源降压模块
- Digi-Key KOL视频来袭~欢迎进入MicroPython的奇妙世界
- 有奖直播|安森美全新 ADAS 电源 IC 提升 ADAS 系统的清晰度及安全性
- 直播已结束|富士通铁电随机存储器无加密算法真赝验证解决方案
- e络盟e选第三期:热门产品5折起,价格锁定更安心
- TE有奖直播:未来感知 由我先知-传感器在物联网中的最新应用
- 了解泰克新品P7700探头,答题赢好礼!
- 是德科技服务日研讨会|武汉站——邀请函
- 有奖活动|登陆泰克高精度电源测试知识星球,揭开噪声的迷雾,发现真实的信号!
- Littelfuse第2期 | 符合AEC-Q200 车规的保险丝/熔断器
11月16日历史上的今天
厂商技术中心