TMS320VC54x系列DSP的用户Bootloader设计
2012-08-20张小莉
张小莉
(海军计算技术研究所,北京100841)
TMS320VC54x系列DSP上电时,需要通过掩膜在DSP片上ROM的Bootloader(自举)程序完成对用户应用程序的加载过程,即DSP上电后自动将固化在Flash中的应用程序读入到DSP的片上RAM或片外RAM映射成的存储区间的一个过程[1]。由于片上Bootloader程序在外扩Flash并行自举方式下,用户应用程序可执行代码长度不能超过32 KB,所以在实际应用中常常会遇到可执行代码超过32 KB的问题。因此,用户必须设计自己的Bootloader程序,通过二次自举的方法完成对应用程序的自举。
1 TMS320VC54x系列DSP的自举
1.1 自举方式
TI公司的TMS320VC54x系列DSP所提供的自举功能非常强大,它支持多种自举方式,可以满足用户多种不同的需求。
这些方式包括串行口(标准串口、时分串口、缓冲串口)输入方式、并行口输入方式、HPI口输入方式、I/O口等方式。此外,按照数据进入DSP时的字长又分为8 bit方式和 16 bit方式[2]8-11。
1.2 自举过程
当MP/MC=0时,TMS320C54x被置于微计算机模式。上电或复位时,程序指针指向片内ROM区的0xff80单元。该单元放置了一条跳转指令,使程序跳转到0xf800单元,而0xf800单元的内容就是Bootloader引导程序的起始地址。Bootloader将存放在外部Flash中的应用程序搬移到DSP内部或外部的RAM区,搬移完成后跳转到该程序的入口处执行。存放在外部Flash的用户程序与一些必要的引导信号组合在一起称为自举表。自举表内容不仅包括了欲加载的各段代码,而且包括各段代码长度、各代码段存放的目标地址、程序入口地址等信息。TMS320VC54x系列DSP的自举表结构[3]如表1所示。
2 用户Bootloader设计
2.1 外扩Flash并行自举的局限性及解决方法
采用外扩Flash的16 bit并行自举是一种比较方便的使用方式。……
