基于c8051f02x单片机的远程在线升级技术

更新时间:2023-07-29 03:39:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单片机

专题技术与工程应用

基于!"#$%&#’(单片机的远程在线升级技术

(中国电子科技集团公司第!"研究所,河北石家庄#!##$%)

介绍了一种在远程对&$#!%’#()*+&系列单片机进行固件升级的系统。并对升级过程中产生的问题提出了解固件;&$#!%’#()单片机;,-./;01234存储器

-56%6

文献标识码

.

并对几种固件升级方法进行了对比。决办法。细述了通过,-./操作方式刷新01234存储器的整个过程,

关键词中图分类号

)*+,-*./0123*4*56789:*;2<*3,7!$#!%&#((=!.

578)9

(!"#!"$"%#&#’()"*+&$,$-$#./01!0,2",3,’4"-’+56#7#,#!##$%,0",+’)

>?<-125--4:3;2;<=:>?=@A9B<323C3?<D?42?B2>=<D@?<1C9;E=2A<3?4<0:=DF2=<@0?4<&$#!%’#(),23<=:<3@0?4<*+&*&G,2>A

;=@H:A<33@D<3@19?:@>30@=?4<;=@I1<D3E<><=2?:>E:>?4<;=@B<33@09;E=2A<J.>A:?A<3B=:I<3:>A<?2:1?4<F4@1<;=@B<33@09;A2?:>E01234D<D@=:<393:>E,-./@;<=2?:@>D@A<J7?B@D;=:3<3?4<9;A2?:>ED<?4@A3@03@D<K:>A3@00:=DF2=<J

@*AB,13<

&$#!%’#()G&8;0:=DF2=<;,-./;01234D<D@=C

!引言

单片机由于其成本低、编程灵活、方便、实时性

现在的大部分在线升级技术一般是在片内采用监控程序段,实时监测升级命令,检测到升级指令后,将相应的程序段下载到相应的地址中,也即升级部分软件功能,再者就是升级外部的’M.*N存储器

存储程序代码,而G&8内的监控代码一般无法升级。而且这种升级技术必须规定固定的代码长度,否则会产生代码覆盖错误。

本文介绍的在线升级技术可以完全更新’M.*N内的所有代码,并解决了升级代码块的长度大于预留空间时则无法进行升级的情况。本方案采用双升级监控代码装载于一低成本的&$#!%’O#!G&8,中,控制代码处于&$#!%’#(O中。本方案采用的是&$#!%’#(O作为主控G&8,使用&$#!%’O#!作为升级监控的辅助G&8。

&$#!%’#(O内部集成R"S的’M.*N程序存储器、并且有"O!(PC?<3内部数据T.G。

&$#!%’O#!内部有(S的’M.*N存储器,它的成本很(!RPC?<3的T.G。作为升级监控G&8,

低,而且功能很强,同&$#!%’O#)系列的单片机还具有.UV功能,因此作为辅助的G&8,它的利用潜能还很大。

升级时终端先通过串口方式发送升级数据到&$#!%’O#!,&$#!%’O#!再通过通用端口连接到,-./口对&$#!%’#(O进行在线’M.*N升级。如图%所示。

收稿日期:(##!L#6L#!

强而在许多设备控制和数据采集系统中得到了广泛应用。

随着计算机理论研究的深入、半导体工艺和超大规模集成电路技术的进步,单片机进入到*+&时代,*:1:B@>M2I@=2?@=:<3公司开发的&$#!%’)))系列高速*+&单片机就是其中的代表。该系列芯片具

有高速$#!%微控制器内核,内部集成’M.*N程序存储器,并具有系统在线编程能力。

"在线升级的原理和实现方案

在控制软件的开发调试阶段,可用集成开发环

境来下载及测试系统,但当将开发完成的则由于操作系&$#!%’#(O目标系统集成到产品后,统及硬件接口不一样等原因,不能在最终产品中用集成开发环境来下载’M.*N程序,所以产品到了用户处之后,如要再进行’M.*N程序的更新,则必须更换相应的集成电路印刷板,造成很多麻烦及不可靠因素。这就产生了在线升级的需求。在线升级就是指通过串口,或8*P口等通讯端口更新G&8中的现在流行的GQO播放器’M.*N存储器。举例来说,

和手机的’M.*N存储器都支持在线升级,即使用数据线来进行固件升级。

万方数据 

(##R年无线电工程第OR卷第O期#$

单片机

专题技术与工程应用

接,该机制提高了3<9灵活性,电路一旦完成,相应的管脚就已经被定义,因此,新版本软件必须和旧版

图!

简单系统框图

本软件使用统一的优先权交叉开关译码器配置,从而不会带来兼容性的问题。

终端除使用相应的通信软件外,还必须解决如何将编译环境所编译完成的;4=文件转换为地址连续的-:1";映像文件的问题。这是因为;4=文件包含了行标识符号、代码地址、校验字符等非代码内容,并且由于9$2伪指令的使用使得软件代码的升级技术可以不止通过串口来实现,如果在系统中使用!"#控制芯片,则终端可使用!"#连接方式。

终端则是具有串口功能的计算机。串口方式既可以是$"%&%,也可以是$"’()。

*(+),-系列的.*!中的/012接口完全符合分别为3444,,’56,规范。/012接口有’个管脚,

0."、0*7、089和083。使用/012口可以直接对-:1";进行编程。连接方式如图%所示。

图"连接图

升级监控系统主要功能为实时监测终端的升级命令,并通过/012接口升级*(+),-+%&。升级系统的软件流程如图&所示。

图#

升级系统流程图

由系统组成可以看出,为了实现固件升级,必须制订升级协议和终端升级软件。

升级协议包括系统和升级设备的物理接口的机械特性和电气特性、具有口令字校验功能和差错控制机制的通信协议等。一个具有差错检验功能的通信协议会保证安全的升级过程。

终端升级软件则是能够支持该升级通信的软件,只要能通过$"%&%或者$"’()等发送数据,即可

被用来当作终端的升级软件

新版本的升级软件需要注意以下事项:*(+),-+%&特有的优先权交叉开关译码器在数字外设引脚和通用3<9端口之间建立了可控的连"#

"$$%万 

方数据&’()*+,-),../),-0*!1#%2*1#地址是不连续的,通常采用的方法是将;4=所包含的代码映射到连续的存储器空间。因为*(+),-+%&的-:1";存储空间为>’7#,所以只需将;4=文件中的代码填充到一>’7#的缓冲区中,将该缓冲区中的内容另存为以二进制文件,该二进制文件即为升级的-:1";映像。这个转换的程序很简单,只需要按照;4=文件的格式将缓冲区填充完毕即可,再将该缓冲区存储成为升级将映像即可。使用相应的通信软件就可利用该映像进行升级过程。转换流程

如下:!创建缓冲区;"按行读取;4=文件;#将数

据按地址填充到缓冲区中;$将缓冲区保存为映像文件。

升级时只需将该文件按照协议发送到目标电路即可。

!结束语

固件升级技术能大大延长嵌入式系统软件生命

周期。本文仅讨论了通过串口方式进行固件升级的方式。如果将串口方式改换为!"#接口芯片,或者手机模块,则可通过!"#方式,或者短消息或者无线网络的方式进行固件升级,使用手机模块就是真

正意义上的远程升级。对于使用/012命令进行固件升级,则具有相当的通用性,因为这种连接方式被很多芯片所支持,所以理论上说可以支持所有使用/012接口的-:1";.*!。

!

参考文献

,]潘琢金,施国君?*(+),-@@@高速"9*单片机原理及应

用[.]?北京:北京航空航天大学出版社,%++%?

%]*ABCDE3CFGBHDFGIJHKILMFN,*(+),-+%@-DOPEA8DFDNQGGF

[$]?*ABCDE3CFGBHDFGIJHKILMFN,%++&?

&]李辉?*(+),-+%&通过;J3对0."&%+*)’+%自举的实现?

无线电工程?%++),&)(&):)+R)%?

作者简介

男,(,5S5R),中国电子科技集团公司第)’研究所助

理工程师。主要研究方向:微波与单片机。

[[[

单片机

基于C8051F02X单片机的远程在线升级技术

作者:作者单位:刊名:英文刊名:年,卷(期):引用次数:

牛旭, NIU Xu

中国电子科技集团公司第54研究所,河北,石家庄,050081无线电工程

RADIO ENGINEERING OF CHINA2006,36(3)0次

参考文献(3条)

1.潘琢金.施国君 C8051Fxxx高速SOC单片机原理及应用 20022.Cygnal Integrated Products,C8051F02x Family Datasheet 2003

3.李辉 C8051F023通过HPI对TMS320C5402自举的实现[期刊论文]-无线电工程 2005(3)

相似文献(0条)

本文链接:/Periodical_wxdgc200603021.aspx

下载时间:2010年1月10日

本文来源:https://www.bwwdw.com/article/55dm.html

Top