双核DSP片TMS320VC5421的并行引导方案
发布时间:2008/5/26 0:00:00 访问次数:552
来源:国外电子元器件 作者:田立峰 崔 健 陈 伟 陈远知
摘要:介绍了利用双核dsp芯片tms320vc5421的片内bootloader程序实现并行引导的设计方案,给出了其软件及硬件的具体实现方法。
关键词:tms320vc5421;bootloader;并行引导;boot表;flash;cpld
1 引言tms320vc54211、2(以下简称vc5421)是ti公司推出的一款双核定点dsp芯片,它拥有两个dsp子系统,每个子系统都有一个dsp核,并且均有独立的数据和程序存储空间,可以进行两核之间的通信,并且两个子系统共享一套片外总线。此外,每个子系统各自拥有2k 16bit字的片内rom,并存储有bootloader程序。当dsp芯片上电或复位时,两个dsp核可分别启动自身独立的bootloader程序,以实现用户程序的上电自举。
双核dsp自启动和单核dsp自启动的实现方法有较大的差别,这一点在dsp系统设计中需要特别注意。本文对双核dsp芯片vc5421的引导模式进行了深入的分析和研究,给出了使用16位并行引导模式进行双核dsp引导的实现方案。
2 tms320vc5421的boot模式vc5421可提供16位并行引导、8位并行引导和串行eeprom引导等三种boot模式来实现用户程序的上电自举。
其中16位并行引导模式是通过片外存储器接口(emif)以dma方式将代码从16-bit字宽的片外数据存储器搬移到片内程序存储空间;
8位并行引导模式则是通过片外存储器接口(emif)以dma方式将代码从8-bit字宽的片外数据存储器搬移到片内的程序存储空间;
而串行eeprom引导模式主要是通过多通道缓冲串口2(mcbsp 2)从主设备中搬移代码并实现上电自举。
和54系列中其它芯片不同的是,vc5421片内rom中的bootloader程序并不支持hpi、并行i/o和标准串口模式的自启动方式。在其所支持的三种boot模式中,16位并行引导模式是最常用的。本文对这种模式进行了深入分析,给出了使用该模式进行双核dsp程序引导的方案,并通过实验验证了该方案的正确性。
2.1 并行引导模式的选择
vc5421的两个dsp核在dsp芯片上电或复位时,到底以哪种模式实现上电自举,主要由两个核的公共引脚xio和各自的gpio0/romen、gpio1引脚决定。当xio为0(低电平)时,将不从rom引导,也就是说,将不使用vc5421片内rom中的bootloader程序实现上电引导,而是用hpi模式实现上电自举;当xio为1(高电平),gpio0/romen为0时,将使用片外存储器中用户自己编写的bootloader程序实现上电自举;当xio为1 gpio/romen为1 gpio1为0或1时,将分别使用并行或者串行引导模式实现上电自举。因此,在实施相应的上电自举前,必须将引脚状态设置正确,以保证bootloader程序按预定的模式执行。bootloader模式的选择流程见图1。
当bootloader程序检测到并行引导模式时,程序将以dma方式从片外数据存储区的0000h单元取出模式选择字(bsw)来进一步决定是8位还是16位的并行引导模式。10aah意味着选择了16位并行引导模式,而如果选择8位并行引导模式,取出的两个字节将是08h和aah。之后,程序将按照boot表进行加载。图2是并行引导模式的选择流程。
2.2 16位并行引导模式的boot表
bootloader程序要搬移的代码必须组织成一定的格式,这就是boot表。16位并行引导模式的boot表如表1所列。
表1 16位并行导模式boot表
dma外部数据存储地址
数 据 内 容
含 义
0000h
10aah
16位并行引导标志
0001h
7fffh
swwsr
0002h
f000h
bscr
0003h
0000h
程序入门xpc
0004h
5000h
程序入口地址
0005h
002ch
代码长度
0006h
0000h
目的xpc
0007h
5000h
目的地址
0008h
7761h
程序代码
……
……
程序代码
……
……
程序代码
0034h
来源:国外电子元器件 作者:田立峰 崔 健 陈 伟 陈远知
摘要:介绍了利用双核dsp芯片tms320vc5421的片内bootloader程序实现并行引导的设计方案,给出了其软件及硬件的具体实现方法。
关键词:tms320vc5421;bootloader;并行引导;boot表;flash;cpld
1 引言tms320vc54211、2(以下简称vc5421)是ti公司推出的一款双核定点dsp芯片,它拥有两个dsp子系统,每个子系统都有一个dsp核,并且均有独立的数据和程序存储空间,可以进行两核之间的通信,并且两个子系统共享一套片外总线。此外,每个子系统各自拥有2k 16bit字的片内rom,并存储有bootloader程序。当dsp芯片上电或复位时,两个dsp核可分别启动自身独立的bootloader程序,以实现用户程序的上电自举。
双核dsp自启动和单核dsp自启动的实现方法有较大的差别,这一点在dsp系统设计中需要特别注意。本文对双核dsp芯片vc5421的引导模式进行了深入的分析和研究,给出了使用16位并行引导模式进行双核dsp引导的实现方案。
2 tms320vc5421的boot模式vc5421可提供16位并行引导、8位并行引导和串行eeprom引导等三种boot模式来实现用户程序的上电自举。
其中16位并行引导模式是通过片外存储器接口(emif)以dma方式将代码从16-bit字宽的片外数据存储器搬移到片内程序存储空间;
8位并行引导模式则是通过片外存储器接口(emif)以dma方式将代码从8-bit字宽的片外数据存储器搬移到片内的程序存储空间;
而串行eeprom引导模式主要是通过多通道缓冲串口2(mcbsp 2)从主设备中搬移代码并实现上电自举。
和54系列中其它芯片不同的是,vc5421片内rom中的bootloader程序并不支持hpi、并行i/o和标准串口模式的自启动方式。在其所支持的三种boot模式中,16位并行引导模式是最常用的。本文对这种模式进行了深入分析,给出了使用该模式进行双核dsp程序引导的方案,并通过实验验证了该方案的正确性。
2.1 并行引导模式的选择
vc5421的两个dsp核在dsp芯片上电或复位时,到底以哪种模式实现上电自举,主要由两个核的公共引脚xio和各自的gpio0/romen、gpio1引脚决定。当xio为0(低电平)时,将不从rom引导,也就是说,将不使用vc5421片内rom中的bootloader程序实现上电引导,而是用hpi模式实现上电自举;当xio为1(高电平),gpio0/romen为0时,将使用片外存储器中用户自己编写的bootloader程序实现上电自举;当xio为1 gpio/romen为1 gpio1为0或1时,将分别使用并行或者串行引导模式实现上电自举。因此,在实施相应的上电自举前,必须将引脚状态设置正确,以保证bootloader程序按预定的模式执行。bootloader模式的选择流程见图1。
当bootloader程序检测到并行引导模式时,程序将以dma方式从片外数据存储区的0000h单元取出模式选择字(bsw)来进一步决定是8位还是16位的并行引导模式。10aah意味着选择了16位并行引导模式,而如果选择8位并行引导模式,取出的两个字节将是08h和aah。之后,程序将按照boot表进行加载。图2是并行引导模式的选择流程。
2.2 16位并行引导模式的boot表
bootloader程序要搬移的代码必须组织成一定的格式,这就是boot表。16位并行引导模式的boot表如表1所列。
表1 16位并行导模式boot表
dma外部数据存储地址
数 据 内 容
含 义
0000h
10aah
16位并行引导标志
0001h
7fffh
swwsr
0002h
f000h
bscr
0003h
0000h
程序入门xpc
0004h
5000h
程序入口地址
0005h
002ch
代码长度
0006h
0000h
目的xpc
0007h
5000h
目的地址
0008h
7761h
程序代码
……
……
程序代码
……
……
程序代码
0034h
深圳服务热线:13692101218 13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)

深圳市碧威特网络技术有限公司
付款方式