TMS320VC55x系列DSP在线烧写方法研究

发布者:omega34最新更新时间:2009-09-17 来源: 电子设计工程关键字:TMS320C55x  Flash  自举引导  在线烧写  DSP 手机看文章 扫描二维码
随时随地手机看文章

  引言

  随着数字信号处理技术的快速发展,DSP越来越广泛地应用于各种数字信号处理系统中。由于TMS320VC55x系列DSP的内部存储器没有可供用户使用的Flash,而最终开发的系统要想脱离仿真器运行。必须将程序代码存储在非易失性存储器中,所以要对DSP外接存储器。Flash存储器以其大容量和可在线编程等特点已成为DSP系统的一个基本配置。如何将程序烧写入Flash,并在上电时加载到DSP内部的RAM,是Flash在DSP系统中应用的两个基本技术问题。

  以基于TI公司的TMS320VC5502和SST公司的SST39VF200开发的系统为背景,详细介绍了系统引导相关的硬件设计,烧写软件设计以及自举引导等实现方法。

  2 TMS320VC5502的自举引导

  2.1 TMS320VC5502的存储区以及Bootloader

  TMS320VC5502的存储区是统一分配地址,即对程序和数据的访问在相同的物理空间。TMS320VC5502的存储区共分为4个区,即CE0,CEl,CE2,CE3,其字节地址分别为000000h-3FFFFFh,400000h~7FFFFFh,800000h~BFFFFFh.C00000h~FFFFFFh。片内存储器共48 K字节,可分为32 K的16位字的RAM和16 K的16位字的ROM,片内RAM的字节地址为000000h~00FFFFh,位于CEl区;片内ROM的字节地址为FF8000h~FFFF00h。

  片内ROM从FF8000h开始的区域包含Bootloader,该程序在系统上电或复位后可以将用户代码自动搬移到片内RAM运行。

  2.2 自举加载模式选择

  TMS320VC5502的引导模式选择是通过3个模式选择引脚BOOTM[0:2]配置完成的。BOOTM[0:2]引脚分别与GPl00,GPl01,GPl02相连。自举加载模式选择如表1所示。

自举加载模式选择

  TMS320VC5502每次上电复位后,在执行完一系列初始化工作后,根据预先配置的自举模式,通过固化在ROM内的Bootloader程序进行程序引导。系统设计中,采用EMIF(外部存储接口)并行引导模式(16位数据宽度),只需将BOOTM[2:0]设置成011即可。

  2.3 TMS320VC5502的引导表

  Bootloader允许应用代码存放在慢速非易失性的外部存储器中,然后再将代码搬移到高速的片内存储器执行。应用代码以一种Bootloader能够理解的特殊格式编码,这种格式就是自举加载表。Boofloader在引导程序时,程序代码是以自举加载表形式加载。自举加载表包含了将要搬移的代码段、程序段,以及这些段将要被搬移到的地址和加载完成后程序要执行的地址(即程序入口地址)和其他一些配置信息。

  TMS320VC55x系列DSP的自举加载表结构如表2所示。

TMS320VC55x系列DSP的自举加载表结构

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

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

  •   boot:表示生成一个自举加栽表
  •   v5510:2:生成C55x格式的自举加载表
  •   parallell6:加载模式是16位外部异步存储器
  •   a :要求的输出格式是ASCII格式
  •   o mvbso.hex:指明输出文件名
  •   bso.out:指明输入文件名

  经hex55.exe文件转化后的.hex格式的自举加载表文件是不能直接导入CCS中,CCS只支持将特别规定的DAT格式文件通过LDADDATA导入内存。所以在导入之前必须先将自举加载表转化成DAT格式文件,这个工作可以用VC编写简单的C语言转化程序实现。

  2.4 TMS320VC5502和Flash的连接

  EMIF为外部存储接口,通过EMIF接口可灵活地和各种同步或异步存储器件无缝连接。通过EMIF接口可以将TMS320VC5502的存储空间扩展到128 Mbit。存储空间被分为CE0~CE3四个区.每区占用不同的地址。在EMIF的并行引导模式下,ROM固化的Bootloader程序是以字地址0x200000为首地址开始加载程序。Ox200000即为CEl空间的首地址,所以Flash必须接在DSP的CEl空间上。

  TMS320VC5502的EMIF有内部和外部两种地址总线。内部地址总线为A[2l:2],外部地址总线为A[19:0]。EMIF根据所用的存储器数据线大小自动将内部地址总线移位,以便与外部地址总线连接。外存储器的地址总线应该总是连接在EMIF、的以A2开始的地址线上。例如一个8,16或32位的异步存储器的地址总线A[n:0](其中n表示外存储器的地址线个数)应该连接EMIF的地址线A[n+2:2]。图1给出TMS320VC5502和Flash的连接实例。表3为TMS320VC5502的内部总线和外部地址总线的映象关系。

TMS320VC5502和Flash的连接实例

TMS320VC5502的内部总线和外部地址总线的映象关系

  3 并行Flash的烧写

  3.1 数据烧写程序设计

  Flash的数据可直接读取,但对Flash的编程和擦除操作则需要通过一系列命令才能进行。SST39VF200的写操作只能将1变成0,而O变成l必须通过擦除操作进行。所以每次写Flash之前必须进行片擦除,使存储单元值变成0xFFFF才能进行编程。擦除命令需要6个周期,编程命令需要4个周期,操作命令如表4所示H。

操作命令

  编程和擦除操作都需要一定周期的时间(SST39VF200的单字编程时间是14μs,整片擦除时间是70 ms)。用户可以通过查询标志数据线DQ6和DQ7确定编程或擦除是否完毕。当器件正处于编程或擦除状态时,连续读任意单元的值,D06的值将一直在O、l之间交替变化。当编程或擦除结束时,读DQ6则得到一个恒定值。这里即通过此方法判断操作是否结束。

  根据Flash的编程和擦除命令,编写了相应的C语言程序,其中在TMS320VC55x系列1)SP中,对外接存储器的访问要调用库函数far_poke()和far_peek()。这2个函数包含在头文件中,并且寻址的地址为字地址。以下给出擦除程序,写操作与此类似。表5为对外接存储器读写的库函数。

程序

对外接存储器读写的库函数

  3.2 程序的烧写实现

  系统在CCS仿真环境下对Flash进行在线编程。先建立一个Flash的烧写工程,并在工程中将要烧写进Flash的自举加载表文件通过CCS的LOADDATA功能直接加载进DSP的内存。根据加载的首地址和数据长度,在仿真环境下烧进Flash中。当然也可以直接在程序中定义一个数组,将DAT文件中的数据赋值给该数组的元素,然后将该数组的每个元素写入Flash。在运行烧写程序之前,要先对EMIF进行设置,因为EMIF默认的是接8位异步存储器,可以通过调用GEL菜单中Init_CE0_Async_16命令完成。

  4 结语

  阐述了一种针对TMS320VC55x系列DSP简单有效的Flash烧写方法,并提出了程序自举加载的实现方法。讨论的加载方法包括硬件设计及相关程序,已在笔者实际开发的高精度数据采集项目中使用并成功运行。

关键字:TMS320C55x  Flash  自举引导  在线烧写  DSP 引用地址:TMS320VC55x系列DSP在线烧写方法研究

上一篇:Altera荣赢中国电子报“通信市场最佳表现奖”
下一篇:TKScope嵌入式仿真开发平台加速您的设计

推荐阅读最新更新时间:2024-05-02 20:52

基于单片机的Flash在系统编程方法
一个完整的嵌入式系统必须要有一个合适的存储器存放用户代码。Flash是一种非易失性存储器,而且具有电可擦写、容量大、价格便宜等特点,通常可用于在DSP系统中存放用户代码。 Flash在正常使用前要进行编程,即将用户代码写入Flash。在系统编程方法不需要其他编程设备和编程电源,只借助于仿真器,可直接通过DSP烧写程序对Flash进行编程。本文所使用的编程方法就属于在系统编程。 本文首先介绍常见的Flash编程方法。然后详细介绍本文方法的原理,以及DSP系统上电加载原理,最后给出整个实现过程并分析了Flash变成时需要注意的一些问题。 Flash编程方法 常见的Flash编程方式 Flash在正常使用前必须写入用户
[单片机]
基于单片机的<font color='red'>Flash</font>在系统编程方法
基于CPLD的多DSP及FPGA远程加载设计
随着硬件技术的大力发展和加工丁艺技术的不断提升,芯片技术日益成熟,软件无线电技术得到广泛应用和迅猛发展。无线电系统在整体体系结构上发生了重大变化,正沿着综合化、模块化、通用化和智能化的方向快速推进。无线电系统将模块化、标准化的硬件构成基本平台,通过软件加载技术来实现尽可能多的功能,为多种信号的功能综合和互联互通提供了技术保障。随着模块应用灵活性要求的不断增加,软件维护及升级需求的日益迫切,给软件加载技术提出了更高要求。本文提出了一种基于CPLD的多处理器远程加载管理设计应用方案,系统实现了从远端下发命令字和更新数据即可完成模块的程序更新升级和重新加载,实现软件维护和模块功能切换,满足日益复杂的系统使用要求。 1 数字处理模块
[单片机]
基于CPLD的多<font color='red'>DSP</font>及FPGA远程加载设计
单片机开发时FLASH和EEPROM有啥区别?怎么选?
以前我做项目,有时用Flash,有时用EEPROM,搞得我有点懵逼。 然后在网上搜了一些资料,看完以后还是不能理解透彻,直到项目做多了,才彻底搞懂。 Flash和EEPROM都是非易失性存储器,就是你设备掉电重启后,数据还会保留,如果是RAM的话掉电数据直接就丢了。 下面从几个方面去介绍下Flash和EEPROM的区别: 1.读取方式 Flash和EEPROM都采用随机读取,可以通过地址直接访问存储器中的数据。 2.写入方式 Flash和EEPROM的写入方式不一样,EEPROM可以按字节进行写入,而Flash通常需要按块进行写入。 还有就是,在Flash中,要写入一个数据,需要先擦除一整个块,然后再将新数据写入该块。
[单片机]
一种基于DSP的通用变频器技术研究
    摘  要: 基于TI公司TMS320F2812的用于交流电机调速采用通用变频器,在变频器中控制电路采用DSP代替传统的模拟控制芯片,由DSP产生PWM信号经隔离驱动控制逆变电路中的六个开关管通断,产生所需的三相交流电压,最后对应用于工业控制的交流电机进行调速。数字控制变频器提高了系统效率,降低并减小了变频器重量和体积,便于实现不同的控制策略。 关键词: 数字控制;模拟控制;TMS320F2812;变换器     从20世纪初,可调速传动的电动机在钢铁工业和汽车工业中就已获得了广泛的应用。用于交流电动机调速的调速系统主要是专用的模拟控制芯片,虽然采用模拟芯片的调速系统 具有设计简单、成本较低等优点,但是由于调试复杂、升级
[嵌入式]
HI3531的nand flash测试
void NAND_Init() { *(unsigned int *)(0x20030000 + 0xd0) = 7; delay_x(0X5000); *(unsigned int *)(0x20030000 + 0xd0) = 6; delay_x(0X5000); *(unsigned int *)(0x200f0000 + 0x1fc) = 0;//muxctrl_reg127 NF_DQ0 管脚复用控制寄存器 *(unsigned int *)(0x200f0000 + 0x200) = 0; *(unsigned int *)(0x200f0000 + 0x204) = 0; *(unsigned int
[单片机]
HOLTEK 新推出HT66FW2230 Wireless Charger A/D Flash MCU
HT66FW2230。专为WPC QI Transmitter规范所设计的专用MCU。除了可处理WPC QI规范所需的PID控制,达到规范需求。并对于无线电源功率控制关键所需的频率控制,具备高解析的频率输出,让功率控制更加平顺。内部则整合了功率控制所需的电流量测与通讯解调电路,可有效精简外部应用电路。对于安全性机制方面,提供了包括过流保护、过压保护、过温保护与异物侦测 (FOD,Foreign Object Detection) 等全方位的保护功能。对于LC Tank的驱动控制,除了一般外接Gate Driver驱动Power MOS的Solution外,更内建全桥互补式、具有Dead Time调整的Large D
[单片机]
HOLTEK 新推出HT66FW2230 Wireless Charger  A/D <font color='red'>Flash</font> MCU
基于DSP+FPGA的光栅地震检波器的信号处理
0 引 言 在石油地震勘探中,地震仪通过地震检波器采集信号。地震检波器是为了接收和记录地震波而设计的一种精密的机械、电子组合装置,是地震勘探数据采集中的重要环节,其性能好坏直接影响地震记录质量和地震资料的解释工作。光栅传感技术的发展为检波器的设计提供了有力的手段。其光栅信号处理技术仍局限于低速度的信号处理,虽然测量精度较高,但其动态特性难以满足振动信号检测等高速变化信号的处理要求,本文设计了一种利用DSP与FPGA结合的光栅振动信号处理系统,它主要完成对光栅震动传感器输出的两路正交的正弦波信号的采集、计数、高倍细分等,从而实现了对快速的振动信号的复现。 1 光栅地震检波器的工作原理 光栅地震检波器主要由光源(白光或
[嵌入式]
基于<font color='red'>DSP</font>+FPGA的光栅地震检波器的信号处理
纯固态Flash激光雷达即将量产
5月13日,亮道智能面向中国市场发布自研的纯固态Flash激光雷达——LDSense Satellite。根据企业介绍,这是一款用于侧向补盲的激光雷达,计划在2023年下半年量产。 在此之前,2021年11月,Ouster也发布了DF(Digital Flash)系列固态激光雷达,并计划在2025年量产上车。 此外,北科天绘、镭神智能、北醒光子等激光雷达厂商,也在布局Flash激光雷达,预计未来几年会有越来越多的产品落地。 01 Flash激光雷达的优势 如果按照扫描方式来划分,激光雷达的技术演进路线可以分为:机械式到半固态再到纯固态三个阶段。 半固态激光雷达又可以分为三个技术路径:MEMS、棱镜和转镜,
[汽车电子]
纯固态<font color='red'>Flash</font>激光雷达即将量产
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved