微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > TMS320C5410烧写Flash实现并行自举引

TMS320C5410烧写Flash实现并行自举引

时间:12-10 来源:互联网 点击:

  被烧写的主程序是从MAIN_START开始,一直到LOADEND。程序的主要功能是不断改变XF引脚的状态。LOADSTART是中断向量文件(vector.asm)的开始,在中断复位(RESET)处放入一条跳转到MAIN_START指令(BD MAIN_START)。ERASE_WRITE_FLASH是烧写程序的开始,只要程序指针( PC)指向ERASE_WRITE_FLASH,开始运行就可以完成对Flash的烧写操作。从自举表首地址BOOTTABLE (0F8H)到LOADEND(0216H)存放的数据就是要写入Flash的内容,从LOADSTART到LOADEND的数据是DSP自举程序从Flash搬运到片内RAM的程序,具体如下:

00F8H: BOOTTABLE ; 自举表开始
0100H: LOADSTART ;中断向量表首地址
0100H: RESET :BD MAIN_START
... ;中断向量表的内容
0178H: RESERVED
0200H: MAIN_START
... ;主程序
0216H: LOADEND

  被烧写的程序只需一个段,根据以上信息就可以完成自举表的内容,如表3所列。

表3 自举表

  整个并行自举引导过程为:C5410上电复位后,判断MP/MC=0 处于微计算机工作方式,从片内ROM的0FF80H处执行中断向量表的分支转移指令(BD 0F800H),使程序跳转至0F800H处执行自举引导程序。自举引导程序完成初始化后,读取数据空间的0FFFFH地址的内容,找到自举表首地址8000H,从8000H处开始读取内容。首先,是16位自举标记(10AA)。然后分别是寄存器SWWSR及BSCR的内容,程序入口地址、代码段长度、存放代码段的目标地址等信息。最后,根据这些信息把Flash的8008H到811EH的程序搬运到片内RAM的100H开始的地址中,跳转至片内RAM 100H、即PC为100H、XPC为0,开始执行用户程序,完成用户程序的并行自举过程。

结语

  把程序烧写入Flash后,复位C5410,使其处于微计算机工作方式;使用示波器测试XF引脚,观察程序运行正确与否。通过上述方法可完成C5410对Am29LV200B Flash 的烧写,很好地实现了C5410上电后的用户程序自举引导功能。

参考文献

1 TMS320VC5410 Bootloader SPRA609A Copyright (c) TI, 2000-04
2 Am29LV200B Copyright (c) 2002 Advanced Micro Devices, 2002-04-12
3 张雄伟, 曹铁勇. DSP芯片的原理与开发应用. 北京:电子工业出版社, 2001

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top