电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 存储/缓存技术 > 详细信息
存储/缓存技术:基于TMS320DM642的Flash在系统编程方法
来源:   时间: 2007-4-17 15:19:42    

引言

一个完整的嵌入式系统必须要有一个合适的存储器存放用户代码。Flash是一种非易失性存储器,而且具有电可擦写、容量大、价格便宜等特点,通常可用于在DSP系统中存放用户代码。

Flash在正常使用前要进行编程,即将用户代码写入Flash。在系统编程方法不需要其他编程设备和编程电源,只借助于仿真器,可直接通过DSP烧写程序对Flash进行编程。本文所使用的编程方法就属于在系统编程。

本文首先介绍常见的Flash编程方法。然后详细介绍本文方法的原理,以及DSP系统上电加载原理,最后给出整个实现过程并分析了Flash变成时需要注意的一些问题。

Flash编程方法

常见的Flash编程方式

Flash在正常使用前必须写入用户程序,传统上有3种编程方法:由供应商出货前把程序代码写入Flash,编程器编程和在系统编程。

第1种方法不能满足用户更改代码的需求,所以在开发阶段不宜采用。当使用编程器编程时,要求Flash固定在PCB板前必须把用户程序写入片内。因此,现在一般都优先考虑在系统编程方法,首先应确定所选的DSP是否支持在系统编程。现行的在系统编程的方法一般是先把待加载程序(用户程序)的.out文件(COFF格式)转成HEX格式,然后去掉HEX格式文件的文件头,再通过烧写程序写到Flash里去,也可以不进行COFF格式到HEX格式的转换这一步,把COFF文件作为源文件,去除文件头信息后将其写入Flash。

本文方法的编程原理

本文的实现方法比较简单,首先把用户程序映射到系统RAM,再把用户程序作为数据直接从RAM搬入Flash中。

首先在CCS上完成用户程序,生成可执行的.out文件,将该文件设为文件1进行加载;然后加载烧写程序的.out文件,将其设为文件2;最后运行文件2,通过它把文件1烧入Flash。

操作步骤非常简单,这里要说明几点,首先,2个.out文件各自独立,文件2加载后,文件1成为数据,CCS在运行时,运行的是最新加载的程序,也即文件2。其次,文件2与文件1映射到RAM中的物理空间各自独立,也就是文件2不能映射到文件1已影射的地方,如果发生重叠,文件2的内容就会覆盖原先文件1映射到该地址空间的内容,写入Flash的内容就会发生错误。再次,用户程序里包括了二次加载程序,以在自举时把用户程序从Flash还原到RAM中。

二次加载和Bootloader

要保证用户程序的正确运行,仅把程序写入Flash是不够的,必须保证上电后,程序能够从Flash中正确恢复到RAM,系统上电工作步骤如图1所示。

 
     

DSP首先自检,得到程序的加载模式。在C6000中主要有2种模式,一种是主机加载模式,也即DSP从0x0000 0000开始执行程序;另一种是ROM加载模式,该模式又有8位、16位、32位几种,不同的DSP略有不同,这里选用8位ROM模式,工作时,DSP先从地址0x9000 0000开始,把0x9000 0000-0x9000 0400这1K(在C62xx中是64K)的数据搬到0x0000 0000-0x0000 0400,然后再从0x0000 0000开始执行程序,这一次加载由DSP自行完成,但是1K的程序作为用户程序显然不够,因此,这1K的程序要做成加载其,也就是手工写的Bootloader,利用它把用户程序从Flash搬入RAM。加载器搬运用户程序又是一次加载,因此把这个过程统称为二次加载。

Bootloader要完成两项功能,第一,把其他程序搬到指定的地址,第二、跳转到用户程序入口,这里要先修改ISP,再跳转到复位中断,因此在Bootloader的最后总是一条跳转指令。由于Bootloader在Flash中的位置是0x9000 0000-0x9000 0400,而Bootloader又是放在用户程序里的,因此,为了方便烧写程序把Bootloader写到该位置,这里在用户成程序的.cmd文件中把Bootloader定位在程序段的起始位置。

编程方法实现

系统配置和参数设置

TMS320DM642是TI公司的一款视频图像DSP,工作时钟最高可达到600MHz,程序存储器最大可调至272M×8位,其EMIF接口分4个空间,即CE0-CE3,Flash映射到CE1空间,其地址为0x9000 0000-0x90400000,上电时采用8位ROM加载方式。

Am29LV033C是AMD公司生产的Flash存储器,其主要特点有:3.3V单电源供电,可使内部产生高电压进行编程和擦除操作;只需向其命令寄存器写入标准的微处理器指令,具体编程、擦除操作由内部嵌入的算法实现,并且可以通过查询特定的引脚和数据线监控操作是否完成,可以对任一扇区进行读、写或擦除操作,而不影响其他部分的数据。

由于4MB的Flash ROM有22根地址线,而DM642只有20根地址线,因此加入FPGA,对Flash进行分页,这里分8页,每页512KB,每页内含8块,每块64KB。

Am29LV033C有多条内存指令,可以实现芯片ID的读取、软件复位、整片擦除、块擦除等。在这里主要介绍烧写时用到的指令,其擦写命令如表1所示,表中的XXX表示任意地址,SA为块地址,即地址线的第16位到21位,PA为烧写地址,PD为烧写数据。

待烧写程序(用户程序)为USER.out,大小为2M;烧写程序为FBCT.out,大小为4K,地址分配如表2所示。

编程过程

第一步,对整个Flash进行一遍擦除,因此Flash在编程时只能把“1”置为“0”,而不能“0”置为“1”。

第二步,判断擦除结束。通过DQ6、DQ7均可完成判断,当DQ6位不再跳变时说明擦除结束。这里通过读取最后一位数据是否为“0xFF”来完成判断。

第三步,进行软件复位。软件复位使Flash处于就绪状态,当Flash在进行擦除,编程时软件复位信号无效。

第四步,取得编程地址。如果地址超过最大地址则编程结束。

注意事项

对于不同的DSP,不同的Flash,在实现时可能不一样,这里有几个问题必须注意:

(1)文件1和文件2的.cmd文件要分配好各自的地址,地址空间不能重叠。

(2)不是每个DSP都可以实现在系统编程,如TMS320C6204就不行,而C621x,C64x等就可以。原因在于Flash在编程时速度较慢,一般为μs级,所以需要WE#信号的有效时间较长。但是,一般的WE#有效时间都只有几十ns,这么短的时间不足以让DSP把内容写进Flash。C64x等之所以能实现在系统编程,是因为在编程时DSP自动延长了编程的有效时间。

(3)如果用户程序不含加载器程序,那么用户程序的目的地址就不能从Flash的前1K的地址开始。

(4)不同型号Flash的编程时序和指令可能会有所不同,编程之前要弄清该Flash的编程时序和指令。如果Flash要求有偏移地址,就需要加上基地址。

(5)对于程序的未初始化段不必烧入Flash,可以参考.map文件,里面对于各段有详细说明。

结语

利用上面的方法,本文在TMS320DM642平台中通过JTAG仿真头,成功地实现了在系统编程,为程序的调试提供了一种非常方便的手段,也为用户程序的升级提供了一种简单异行的方法,同时这个方法也在C6211环境下成功实现,其他DSP同样可参考本方法。

 
相关信息
发表评论
打印本页 关闭本页
基于TMS320DM642的网络摄像机设计
  基于TMS320DM642的网络摄像机设计 合肥工业大学 计算机与信息学院 聂秋玉 蒋建国 齐美彬 引言 网络摄像机的解决方案有多种选择,但是市场主流产品一般选择两种方案:(1)采用CPU+ASIC。(2)采用双CPU结构,即一个嵌入式CPU和一个专用信号处理芯片DSP。受专用DSP芯片处理能力的限制,现有的嵌...
>>详细内容
基于TMS320DM642的多路视频采集处理板卡的硬件设计与实现
  1 引言 视频监控系统是安全防范系统的重要组成部分,也是一种防范能力较强的综合系统,视频监控系统以其直观、方便、信号内容丰富而广泛应用于许多领域,近年来,随着计算机、网络及图像处理,传输技术的飞速发展,视频监控技术也得到长足的进步,集多媒体技术,数字图像处理和远程网络传输等最新技术为一体的多媒体数字监控系统正在逐步取代传统的模拟视频监控系统,目前,市场上专用的...
>>详细内容
基于TMS320DM642的AVS实时解码软件优化
    摘要:本文把AVS解码软件移植到TMS320DM642平台上,并进行了优化。编码数据通过网络传输给DM642,完成视频解码后输出到显示器。目前,对于标清视频(720×576),解码速度达到了30fps,完全满足实时需求。  关键词:AVS解码器;优化;标清  AVS是中国自主制定的第二代音视频编码标准。从编码效率上看,AVS与H.264/AVC相当,比MPEG-2高两倍;从编码的复杂度上看,AVS的编码复杂度相当...
>>详细内容
ST推出面向便携式应用的高集成存储卡接口EMIF06-SDO2F3
    ST推出微小型高集成芯片,该芯片使用ST公司世界领先的IPAD (Integrated Passive and Active Devices)技术生产,可以为手机、GPS导航设备、数码相机及大量使用可抽取SD协议卡的其他消费类和工业产品提供存储卡接口所需的五种重要功能。新的倒装芯片EMIF06-SDO2F3存储卡收发器集成了信号调节、双向电平移相器、ESD(electrostatic discharge)保护,EMI(electromagnetic interference...
>>详细内容
基于TMS320DM642的MPEG4编码器设计与实现
  1 引 言   近年来,随着网络和多媒体技术的发展,视频信息通信的重要性和需求急剧增长,而其中的关键就在于视频压缩编码技术的应用。文献[1]曾提出了一种基于TMS320DM642 DSP的视频编码方案,实现了H.264算法。同H.264相比,MPEG4具有软硬件开发成本低和更容易实现的优势,是目前视频编码应用的主流。本文提出了一种基于TMS320DM642 DSP的MPEG4视频编码器的实现方法,该方案可用于远程...
>>详细内容
ST推出EMIF06-SD02F3高集成微型记忆卡收发器
    意法半导体(ST)推出一个高集成度的微型记忆卡接口芯片,新产品采用IPAD(有源和无源器件集成)技术,内置可插拔SD(安全数字)记忆卡接口所需的五个基本功能,适用于带有SD接口的手机、GPS导航设备、数码相机等各种消费类和工业类产品。新的倒装片封的EMIF06-SD02F3记忆卡收发器集成了信号调节、双向电平转换、ESD(静电放电)保护、EMI(电磁干扰)过滤单元和一个2.9V稳压器。   在一...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com