tms320vc5509_tms320vc5509apge_tms320lf2407

电脑杂谈  发布时间:2017-02-15 21:09:58  来源:网络整理

摘要:本文以实际系统开发基础为背景,阐述了TMS320C55X系列DSP对FLASH烧写的方法,给出了系统的硬件连接和完整的烧写程序,并研究了自举引导的实现方法以及大程序的二次引导方法。

关键词:TMS320C55X;FLASH;Bootloader;烧写;二次引导

TMS320VC55X系列DSP的FLASH引导方法图片1

引言

随着数字信号处理技术的快速发展,DSP被广泛的应用到各种数字信号处理系统中。最终开发的系统要想脱离运行,必须将程序代码存储在非易失性存储器中。FLASH存储器以其大容量和可编程等特点已成为DSP系统的一个基本配置。如何将程序烧写进FLASH,并在上电时加载进DSP内部的RAM是FLASH在DSP系统中应用的两个基本技术问题。本文以基于TI公司的TMS320VC5509A和ATMEL公司的AT49LVl024 FLASH开发的系统为背景,介绍该系统引导相关的硬件设计,烧写软件设计以及自举引导、二次引导等实现方法。

TMS320VC55D9A的自举引导

TMS320VC5509A每次上电复位后,在执行完一系列初始化(配置堆栈寄存器、关闭中断、程序临时入口、符号扩展、兼容性配置)工作后,根据事先配置的自举模式,通过固化在ROM内的BOOTLOADER程序进行程序引导。VC5509A的引导模式选择是通过四个模式选择引脚BOOTM[0:3]的配置来完成的。在本系统中,采用EMIF(外部存储接口)并行引导模式(16位数据宽度),则需将BOOTM[3:0]设置成1011即可。

通过EMIF接口可以灵活地和各种同步或异步存储器件无缝连接。通过EMIF可以扩展VC5509A的存储空间到128Mbit(SDRAM),存储空间共被分为CE0-CE3。在EMiT的并行引导模式中,ROM中固化的Bootloader程序是以字地址0x200000为首地址开始加载程序。地址0x200000即位CEI空间的首地址,所以FLASH必须接在DSP的CEI空间上。tms320vc5509在加载时,EMIF的CEI空间已经默认配置成异步静态随机存储器(SRAM)接口,并且在时序上采用了最差情况设置(即最慢访问速度),充分保证了时间裕量,使得程序代码被顺利的加载到DSP的内存中。

Bootloader在引导程序时,程序代码是以引导表格式加载的。TMS320VC55x的引导表结构中包括了用户程序的代码段和数据段以及相应段在内存中的指定存储位置,此外还包括了程序入口地址、部分寄存器的配置值、可编程延时时间等信息(见表1)。tms320vc5509

其中,程序入口地址是引导表加载结束后,用户程序开始执行的地址;寄存器配置数目决定了后面有多少个寄存器需要配置;只有当延时标志为0xFFFF时,延时才被执行;延时长度决定了在寄存器配置后延时多少个CPU周期后才进行下一个动作;段长度、段起始地址和数据则为用户程序中定义的各个段的内容,并且可以重复添加;最后以0x00000000(32个0)作为引导表的结束标志。

TMS320VC55X系列DSP的FLASH引导方法图片2

要生成引导表,可以将CCS最终编译生.成的out文件通过CCS自带的hex55.exe转换程序得到。将hex55.exe、.out文件、.cmd文件放在同一个文件夹中,通过dos命令格式调用hex55.exe,即可完成.out文件到hex格式的引导表文件的转化。CMD文件用来提供引导表的相关配置信息,以下为一个CMD文件的实例:

FlashBootTest.out;输入的.out文件

-boot;说明创建boot文件

-v5510:2;生成55X boot文件格式

-paralle116;使用串行加载方式

-a;ASCII格式

-reg_config 0xlc00,0x6cd2:在地址0xlc00

的寄存器写入0x6cd2,配置CPU时钟

-delay0x100;延时0x100个CPU时钟周期

-o FlashBootTest.hex;输出.hex文件

TMS320VC55X系列DSP的FLASH引导方法图片3


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-32640-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...