|
技术文库首页
|
编程
|
IC
|
晶体管
|
精解
|
中频
|
其它
|
电源
|
基础
|
电脑
|
无线
|
液晶
|
微波
|
空调
|
手机
|
|
热水器
|
电动车
|
LED屏
|
焊机
|
您现在的位置: 华玉生活网 >> 技术文库 >> 无线 >> 正文>> 繁體中文

基于TMS320DM642的Flash在系统编程方法,在系统编程,DSP,加载器

引言一个完整的嵌入式系统必须要有一个合适的存储器存放用户代码。Flash是一种非易失性存储器,而且具有电可擦写、容量大、价格便宜等特点,通常可用于在DSP系统中存放用户代码。Flash在正常使用前要进行编程,即将用户代码写入Flash。在系统编程方法不需要其他编程设备和编程电源,只借助于仿真器,可直接通过DSP烧写程序对Flash进行编程。本文所使用的编程方法就属于在系统编程。本文首先介绍常见的Flash编程方法。然后详细介绍

引言

一个完整的嵌入式系统必须要有一个合适的存储器存放用户代码。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定位在程序段的起始位置。

编程方法实现

系统配置和参数设置

TMS320DM642TI公司的一款视频图像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同样可参考本方法。


瑞达币购买
桂山秋竹_唐年桂2023年
桂北云雾图_唐年桂202

  • 扩展阅读
  • 上一个文章:
  • 【返回网站首页】 【返回无线】
  • 下一个文章:
  • 【字体: 】【】【发表评论】【加入收藏】【告诉好友】【打印此文
    文章 软件 电影 商品

    相关文章

    本站公告

    • 扫一扫,打赏给我们,谢谢!

      本站2016年12月16日起取消ruida.org.cn域名,该域名正式作废,该域名发布任何信息与本站无关。


      启用ruida.orghy928.net域名;

      瑞达网,瑞达科技网宣

    附页内镶内容
    健康养生 商场新品 股市K线、指标知识
     六种药酒配制法[11月7日]
     国公酒_散风祛湿,舒筋活络[3月8日]
     气血双补党参、麦冬、黄芪炖[11月29日]
     参桂再造丸_臂丛神经痛[11月29日]
     臂丛神经痛该怎样治疗[11月29日]
     舒筋络酊、百宝丹擦剂、参桂[11月29日]
     臂丛神经痛针灸治疗[11月29日]
     枳椇子_利水渗湿药[11月29日]
     三七、丹参、西洋参_颈椎病[8月17日]
     枸杞泡姜芽(嫩姜)的做法及功[5月20日]
     瑞达币购买
     桂山秋竹_唐年桂2023年新作品
     桂北云雾图_唐年桂2023年新作品
     广西2019年《高考指南》+《招生计
     金士科前置过滤器
     金牛前置过滤器
     USB口24系列编程器第二版含USB延
     液晶电视、液晶显示器图纸、维修
     彩电、显示器、DVD、EVD打印机等
     高清CRT彩电、显示器图纸刻录 4G
     [理财]各种短视频赚钱方法
     [会员]专业交易实战控制系统
     [理财]1分2分5分硬币回收价格表(20250123)
     [理财]1分2分5分硬币回收价格表(20230928)
     [理财]1分2分5分硬币回收价格表(20230624)
     [理财]2022 年新版1分2分5分硬币回收价格表…
     [理财]微信收款码如何开通商业版收信用卡费…
     [指标]R平方_基金指标
     [指标]标准差_基金指标
     [指标]平均回报_基金指标
    装修案例 网站建设 电器维修
     一般水电安装几个常用尺寸[1月29日]
     三相电表接法及度数的正确读…[5月8日]
     万能通用卧室房门锁更换步骤…[2月22日]
     乳胶漆的八大施工步骤及涂刷…[2月14日]
     旧墙翻新步骤及注意事项[2月14日]
     屋面防水施工工艺流程及注意…[1月16日]
     专利产品“防污吸气帽”新产…[1月8日]
     鲁班尺吉数对照表高清图片查…[10月29日]
     砂浆胶作用与危害[9月21日]
     4种处理水泥地面起砂方法[9月21日]
     网页html点击切换显示内容完[11月7日]
     动易SiteWeaver6.6网站管理系[7月31日]
     中国阴历农历JS支持 HTML网页[2月26日]
     java script error 容错处理[2月15日]
     几款还不错的网页特效显示日[2月14日]
     图片可以调大小的代码[12月14日]
     动易SW6.8网站系统改自适应支[11月20日]
     网站建设_套餐服务[12月4日]
     网站建设-费用明细[12月4日]
     不显示出来的代码[12月3日]
     联想 小新Air 14 2019笔记本…[6月15日]
     滚筒洗衣机脱水声音大原因及…[4月17日]
     智能电视不能开机强制恢复出…[1月16日]
     各大品牌智能电视机恢复出厂…[1月16日]
     洗衣机自己排水或不存水漏水…[6月15日]
     海尔冰箱出现-03还滴滴报警[5月29日]
     TCL电视通用教程安装教程[2月2日]
     TCL L43V7300A-3D液晶彩电出…[2月2日]
     先锋液晶电视LED-32B550无光…[1月17日]
     智能电视主板的应用与维修(…[1月11日]
    电器资料 下载 读书
     三个代码让电脑提速畅通秘籍[3月13日]
     视得安750D6对讲门铃工作原理…[9月13日]
     什么是量子芯片和光子芯片[5月14日]
     沃尔沃S90汽车遥控钥匙失灵的…[1月19日]
     LED显示屏瑞合信PLus单双色全…[12月22日]
     Windows 照片查看器无法显示…[8月6日]
     已经设置IE主页,但是打开还…[7月6日]
     如何调整空压机压力?空压机…[6月8日]
     剪映-视频编辑软件手机版使用…[5月28日]
     锂电池保护板作用及同口和分…[3月18日]
     [书籍]滕王阁序_原文_注释译文_白
     [书籍]《天工开物》明代宋应星初
     [电影]《抓娃娃》高清电影
     [联想]Lenovo S540-14API Compl 
     [书籍]《墨子》原文注释译文
     [LED条屏]瑞合信单双色/全彩控制系统
     [LED条屏]LED显示屏瑞合信手机APP6.
     [书籍]全本新注聊斋志异
     [书籍]广西2023年高考指南 招生计
     [书籍]个人防护手册(第二版)
     广西高考2024~2022年历史类([6月25日]
     凤阳花鼓[3月8日]
     《滕王阁序》[3月2日]
     卷一百二十八 艺文_杂记[2月24日]
     卷一百二十七 艺文_杂记[2月24日]
     卷一百二十六 艺文_国朝[2月24日]
     卷一百二十五 艺文_国朝[2月24日]
     卷一百二十四 艺文_五言排律[2月24日]
     卷一百二十三 艺文_历朝[2月24日]
     卷一百二十二 艺文_历朝[2月24日]
    珠宝玉器 在线电视台
     鸡血石与鸡血玉有什么区别[6月12日]
     鸡血玉[6月12日]
     鸡血石 (bloodstone)[6月12日]
     什么是莫桑石(Moissanite)[6月12日]
     可以戴钻石洗澡吗[1月22日]
     钻石如何保养才好呢?[1月22日]
     PT容易花的问题和钻戒保养问…[1月22日]
     切工 钻石的雕刻艺术[1月22日]
     如何保养好钻戒[1月22日]
     钻戒保养方法[1月22日]
     中央体育台
     中央新闻台
     宁夏卫视
     湖北卫视
     西藏卫视
     辽宁卫视
     河北卫视
     北京卫视
     政法频道
     农民频道
     湖南经视
     湖 南 台
     河南频道
     湖南卫视
     兵团卫视
     江苏卫视
     旅游卫视
     湖南都市
     七彩戏剧
     动漫秀场
     游戏风云
     法制天地
     魅力音乐
     新 娱 乐
     南 方 TV
     浙江卫视
     齐鲁频道
     山西影视
     东南卫视
     上海卫视
     贵州电视台
     重庆电视台
     山东卫视
     哪吒之魔童闹海《哪吒2》在线
     《抓娃娃》在线电影
     流浪地球2剧情介绍
     《万里归途》完整版
     《阿凡达2:水之道》耗资3.1
     2021港剧《梅艳芳》5集全.HD
     误杀2 -电影-完整版视频在线
     亲爱的/亲爱的小孩/打拐/家之
     《第一炉香》-电影-完整版视
     《扬名立万》-电影-完整版视
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论

    | 服务声明 | 充值中心| 华安五金电器 | 收费标准| 论坛| 留言| 实用查询| 会员中心| 下载帮助| 设为首页|

    技术支持:瑞达科技 即时交谈QQ:237013889 QQ群:13810759 E-Mail:237013889@qq.com
    非盈利网站,如有侵权,请来信来电告知,第一时间处理,谢谢!
    桂ICP备17008104号 华玉生活网网站统计
    tj