TMS320VC5410是德州仪器公司(TI)2000年推出的一款性价比极高的16位定点数字信号处理器,其操作速率最高可达100MIPS。他采用先进的修正哈佛结构,片内有8条总线、CPU、在片存储器和在片外围电路等硬件,加上高度专业的指令系统,使其具有功耗小、高度并行等优点,可以满足电信等众多领域的实时处理要求,但是TMS320VC5410片上的只读存储器(ROM)只能采用掩模编程的方式并且必须把代码交给DSP厂家,成本较高,因此一般用户在使用
TMS320VC5410是德州仪器公司(TI)2000年推出的一款性价比极高的16位定点数字信号处理器,其操作速率最高可达100MIPS。他采用先进的修正哈佛结构,片内有8条总线、CPU、在片存储器和在片外围电路等硬件,加上高度专业的指令系统,使其具有功耗小、高度并行等优点,可以满足电信等众多领域的实时处理要求,但是TMS320VC5410片上的只读存储器(ROM)只能采用掩模编程的方式并且必须把代码交给DSP厂家,成本较高,因此一般用户在使用时需要外部扩展程序存储器,E2PROM可以在线擦写,且掉电后数据不会丢失,具有体积小、功耗低等特点,是作为TMS320VC5410外扩程序存储器的一种较好选择。通常情况下,要把CCS编译生成的COFF格式的文件通过Hex500转换成Hex格式的文件,并最终通过编程器把转换过的代码烧写进E2PROM(或FLASH等),本文提出了一种直接在CCS环境下通过在线编程来完成片外存储器烧写,实现并行引导的新方法。
1 TMS320VC5410 DSP的自举原理
DSP上电复位后从片外存储器读入程序的过程叫做自举(Bootloader)。TMS320VC54XX DSP芯片内部设置有Bootloader程序,其主要作用是在系统上电复位后,将用户程序从外部存储器装载到DSP的内部随机存储器并运行程序,有多种Bootloader方式可将外部程序装入DSP中,这些方式包括串口方式,HPI方式,并行方式和WARM方式,此外DSP还支持8位或16位数据总线的外部存储器件及多块外部存储器件的Dootloader方式,上电复位后,如其MP/MC引脚为低电平,则TMS320VC5410进入Bootloader模式,从0xff80单元开始执行片内引导装载程序,进入引导程序后,如有INT2请求中断,则进入HPI引导方式;如有INT3请求中断,则进入串口引导模式;若没有中断请求,系统进入并行引导模式,当进入并行引导模式后,TMS320VC5410首先在I/O空间Oxffff单元(若I/O为空则跳到数据存储器空间)读取一个地址,然而跳转到这一地址,根据地址单元的数据判断是16位并行引导还是8位并行引导,接着依次读入以下内容,SWWSR、BSCR寄存器所需要配置的值,程序入口地址所在的页面、程序入口地址、程序块长度、程序存放目标地址所在的页面和程序存放目标地址;最后TMS320VC54lO开始读取程序代码并将其装载到片内存贮器中。
2 TMS320VC5410自举的实现
为实现在线并行引导,即把用户程序烧进E2PROM,需要把程序代码分为两段:一段为用户代码(即被烧写部分),另一段为烧写代码。用CCS把这两部分代码编译链接成同一个0UT文件(即COFF格式的文件),然后在CCS环境下将该0UT格式的文件下载到TMS320VC5410的内存中,此时TMS320VC5410内存里的文件已经转换成相应的Hex格式,此时只要从烧写代码处在线调试执行程序,即可把用户代码烧进E2PROM,从而完成自举表的烧写。由于TMS320VC5410的数据总线是16位,而SST29LE010的数据总线为8位,因此在数据传输过程中要进行移位操作。若采用16位并行引导时,则不用进行移位操作。
具体操作步骤如下:
(1)将DSP的MP/MC引脚置高,让DSP工作在微处理器方式。
(2)将第一段代码通过仿真器下载到DSP中,但不运行该代码。
(3)将第二段代码通过仿真器下载到DSP中,运行此代码。
(4)代码2运行结束后,去掉仿真器,并将MP/MC引脚置低,让DSP工作在微型计算机方式。
(5)复位DSP,DSP独立运行。
2.1 硬件连接
SST29LE010是SST推出的一种E2PROM,他有1 MB的空间,分为8页,每页有128 kB的空间;工作电压仅为3 V。因此用SST29LE0lO来作为TMS320VC5410的外部存贮器。SST29LE010与TMS320VC5410的连接见图1。