TMS320VC55x系列DSP在线烧写方法研究_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、tms320vc55x系列dsp在线烧写方法研究随着数字信号处理技术的迅速进展,越来越广泛地应用于各种数字信号处理系统中。因为tms320vc55x系列dsp的内部存储器没有可供用户用法的flash,而终于开发的系统要想脱离器运行。必需将程序代码存储在非易失性存储器中,所以要对dsp外接存储器。flash存储器以其大容量和可在线编程等特点已成为dsp系统的一个基本配置。如何将程序烧写入flash,并在上电时加载到dsp内部的ram,是flash在dsp系统中应用的两个基本技术问题。以基于ti公司的tms320vc5502和sst公司的sst39vf200开发的系统为背景,具体介绍了系统引导相关

2、的硬件设计,烧写软件设计以及自举引导等实现办法。2 tms320vc5502的自举引导21 tms320vc5502的存储区以及bootloadertms320vc5502的存储区是统一分配地址,即对程序和数据的拜访在相同的物理空间。tms320vc5502的存储区共分为4个区,即ce0,cel,ce2,ce3,其字节地址分离为000000h-3fffffh,400000h7fffffh,800000hbfffffhc00000h"ffffffh。片内存储器共48 k字节,可分为32 k的16位字的ram和16 k的16位字的rom,片内ram的字节地址为000000h00ffffh

3、,位于cel区;片内rom的字节地址为ff8000hffff00h。片内rom从ff8000h开头的区域包含bootloader,该程序在系统上电或复位后可以将用户代码自动搬移到片内ram运行。22 自举加载模式挑选tms320vc5502的引导模式挑选是通过3个模式挑选引脚bootm0:2配置完成的。bootm0:2引脚分离与gpl00,gpl01,gpl02相连。自举加载模式挑选如表1所示。tms320vc5502每次上电复位后,在执行完一系列初始化工作后,按照预先配置的自举模式,通过固化在rom内的bootloader程序举行程序引导。系统设计中,采纳emif(外部存储接口)并行引导模式

4、(16位数据宽度),只需将bootm2:0设置成011即可。23 tms320vc5502的引导表bootloader允许应用代码存放在慢速非易失性的外部存储器中,然后再将代码搬移到高速的片内存储器执行。应用代码以一种bootloader能够理解的特别格式编码,这种格式就是自举加载表。boofloader在引导程序时,程序代码是以自举加载表形式加载。自举加载表包含了将要搬移的代码段、程序段,以及这些段将要被搬移到的地址和加载完成后程序要执行的地址(即程序入口地址)和其他一些配置信息。tms320vc55x系列dsp的自举加载表结构如表2所示。其中,程序入口地址是自举加载表加载结束后用户程序开头

5、执行的地址;寄存器配置数目打算了后面有多少个寄存器需要配置:惟独当延时标记为0xffff时,延时才被执行;延时长度打算了在寄存器配置后延时多少个cpu周期才举行下一个动作;段长度、段起始地址和数据则为用户程序中定义的各个段的内容,并且可以重复添加;最后以0x00000000(32个01作为引导表的结束标记。若要生成引导表,可用ccs终于编译生成的out文件通过ccs自带的hex55exe转换程序得到。将hex55exe文件、out文件、cmd文件放在同一个文件夹中,通过dos指令调用hex55exe和cmd文件,即可完成out文件到hex格式的引导表文件的转化。cmd文件用于提供引导表的相关配

6、置信息,以下为一个cmd文件实例。boot:表示生成一个自举加栽表v5510:2:生成c55x格式的自举加载表parallell6:加载模式是16位外部异步存储器a :要求的输出格式是ascii格式o mvbsohex:指明输出文件名bsoout:指明输入文件名经hex55exe文件转化后的hex格式的自举加载表文件是不能挺直导入ccs中,ccs只支持将特殊规定的dat格式文件通过ldaddata导入内存。所以在导入之前必需先将自举加载表转化成dat格式文件,这个工作可以用vc编写容易的转化程序实现。24 tms320vc5502和flash的衔接emif为外部存储接口,通过emif接口可灵便

7、地和各种同步或异步存储器件无缝衔接。通过emif接口可以将tms320vc5502的存储空间扩展到128 mbit。存储空间被分为ce0"ce3四个区每区占用不同的地址。在emif的并行引导模式下,rom固化的bootloader程序是以字地址0x200000为首地址开头加载程序。ox200000即为cel空间的首地址,所以flash必需接在dsp的cel空间上。tms320vc5502的emif有内部和外部两种地址。内部地址总线为a21:2,外部地址总线为a19:0。emif按照所用的存储器数据线大小自动将内部地址总线移位,以便与外部地址总线衔接。外存储器的地址总线应当总是衔接在e

8、mif、的以a2开头的地址线上。例如一个8,16或32位的异步存储器的地址总线an:0(其中n表示外存储器的地址线个数)应当衔接emif的地址线an+2:2。图1给出tms320vc5502和flash的衔接实例。表3为tms320vc5502的内部总线和外部地址总线的映象关系。3 并行flash的烧写31 数据烧写程序设计flash的数据可挺直读取,但对flash的编程和擦除操作则需要通过一系列指令才干举行。sst39vf200的写操作只能将1变成0,而o变成l必需通过擦除操作举行。所以每次写flash之前必需举行片擦除,使存储单元值变成0xffff才干举行编程。擦除指令需要6个周期,编程指

9、令需要4个周期,操作指令如表4所示h。编程和擦除操作都需要一定周期的时光(sst39vf200的单字编程时光是14s,整片擦除时光是70 ms)。用户可以通过查询标记数据线dq6和dq7确定编程或擦除是否完毕。当器件正处于编程或擦除状态时,延续读随意单元的值,d06的值将向来在o、l之间交替变幻。当编程或擦除结束时,读dq6则得到一个恒定值。这里即通过此办法推断操作是否结束。按照flash的编程和擦除指令,编写了相应的c语言程序,其中在tms320vc55x系列1)sp中,对外接存储器的拜访要调用库函数far_poke()和far_peek()。这2个函数包含在extaddr.h头文件中,并且寻址的地址为字地址。以下给出擦除程序,写操作与此类似。表5为对外接存储器读写的库函数。32 程序的烧写实现系统在ccs仿真环境下对flash举行在线编程。先建立一个flash的烧写工程,并在工程中将要烧写进flash的自举加载表文件通过ccs的loaddata功能挺直加载进dsp的内存。按照加载的首地址和数据长度,在仿真环境下烧进flash中。固然也可以挺直在程序中定义一个数组,将dat文件中的数据赋值给该数组的元素,然后将该数组的每个元素写入flash。在运行烧写程序之前,要先对emif举行设置,由于emif默认的是接8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论