TMS320VC5402外部并行引导装载方法的研究

2007-03-09 19:03:27来源: 互联网
[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信号译码获得。图2b所示系统上电后,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,它具有节约开发成本、减小器件尺寸、编程灵活的特点。 对于图2a所示的系统,在仿真器仿真状态下,将引导装载表读入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]
编辑: 引用地址:http://www.eeworld.com.cn/designarticles/dsp/200703/11449.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved