TMS320VC5402外部并行引导装载方法的研究
发布时间:2008/5/26 0:00:00 访问次数:493
    
    
    来源:电子技术应用 作者:陈 斌 施克仁 郭大勇摘要:分析了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说明了整个装载模式的判断流程。
    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作为程序扩展空间存储器。
    3 外部并行装载的仿真器在线编程
    
    dsp引导装载程序从外部数据存储器(flash)中读取引导装载表,并且装载程序
    
    
    来源:电子技术应用 作者:陈 斌 施克仁 郭大勇摘要:分析了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说明了整个装载模式的判断流程。
    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作为程序扩展空间存储器。
    3 外部并行装载的仿真器在线编程
    
    dsp引导装载程序从外部数据存储器(flash)中读取引导装载表,并且装载程序