CN100426220C - 在通信系统中利用单片机实现软件下载的装置及其方法 - Google Patents

在通信系统中利用单片机实现软件下载的装置及其方法 Download PDF

Info

Publication number
CN100426220C
CN100426220C CNB011453826A CN01145382A CN100426220C CN 100426220 C CN100426220 C CN 100426220C CN B011453826 A CNB011453826 A CN B011453826A CN 01145382 A CN01145382 A CN 01145382A CN 100426220 C CN100426220 C CN 100426220C
Authority
CN
China
Prior art keywords
software
program
chip microcomputer
communication system
ram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB011453826A
Other languages
English (en)
Other versions
CN1430142A (zh
Inventor
周维明
刘江
肖绍康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CNB011453826A priority Critical patent/CN100426220C/zh
Publication of CN1430142A publication Critical patent/CN1430142A/zh
Application granted granted Critical
Publication of CN100426220C publication Critical patent/CN100426220C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明是一种在通信系统中利用单片机实现软件下载的装置和方法,提供一种通信系统中利用单片机实现软件下载的装置,该装置至少包括:一单片机、一随机存储器RAM、一闪存FLASH以及相应的外围逻辑电路;本发明还提供一种通信系统中利用单片机实现软件下载的方法,至少包含下列步骤;运行引导程序存储区内的引导程序;从数据备份区中读取程序运行参数;将主应用程序移至随机存储器RAM的程序运行区;将程序控制权交给应用程序;根据用户请求进行软件下载;下载后的软件包保存至程序参数区;修改程序参数区参数;系统重新启动;实现利用单片机进行软件的远程下载,可节省人力和成本,且保证了软件下载、升级操作的安全性。

Description

在通信系统中利用单片机实现软件下载的装置及其方法
技术领域
本发明是有关于一种软件下载的装置和方法,特别是一种应用于通信系统中利用单片机实现软件下载的装置和方法。
背景技术
因特网在某些场合下,尤其是在通信系统中,往往需要对其系统中的一些硬件设备如中央处理器CPU等的软件进行版本升级,以中央处理器CPU的软件升级操作为例:通常的技术是采用远程下载的方法来完成,具体来讲,就是通过现有通信线下载对应于该CPU的版本升级软件,而同时在本地保留原始版本软件,以备下载失败时,仍可恢复或重新启用原有版本的CPU软件,从而避免由于远程下载失误或中断等诸多原因而造成的系统瘫痪,就以上情况而言,为完成上述的操作,基本上需采用成本较高的硬件设备才可完成,不仅存在成本增加、采购困难的问题,而且存在互换性差、操作技术难掌握等缺点
综上所述,如何克服现有技术存在的缺点,使硬件设备的升级操作能够以更低成本、更便捷的操作方式完成,实为通信系统中有关硬件设备的软件升级技术领域中急待解决的问题。
发明内容
有鉴于此,本发明提出一种在通信系统中利用单片机实现软件下载的装置及其方法,其主要目的在于能够提供一种可以利用单片机对通信系统中的硬件设备的升级实现软件远程下载的装置及其方法,并且能够提供待升级硬件设备的本地程序的原始备份功能,从而降低操作成本,保证操作的安全性,使单片机在通信系统中得到更加广泛的应用。
本发明的技术方案为:
本发明提供一种通信系统中利用单片机实现软件下载的装置,它至少包括:一单片机、一随机存储器RAM、一闪存FLASH以及相应的外接逻辑电路,其中所述单片机的P2、P0口分别与所述RAM的高、低八位地址线以及所述闪存FLASH的高、低八位地址线相连接,所述单片机的/WE端与所述RAM的写信号选通端/WE相连接,所述单片机的/Rd信号和/PSEN信号相“与”后的结果分别输出到所述RAM和所述闪存FLASH的读选通端/OE,所述单片机的P1.1口与所述闪存FLASH的A16端相连接;
所述单片机用于存放预先编好的引导程序;
所述随机存储器RAM用于在软件下载操作完成后或软件版本更新后,运行升级后的应用程序,其余空间用于存放相关数据;
所述闪存FLASH作为数据备份区域,被划分程序为数据存储区和程序参数存储区,其软件部份包括在两个区域内分别轮流存放的主要或备用应用程序;
所述相应的外接逻辑电路用于对单片机的16位地址线进行逻辑组合,以分别输出片选信号到片选端,实现所述单片机整个存储区域的统一编址。
本发明提供一种通信系统中利用单片机实现软件下载的方法,它至少包含下列步骤:
(1)运行引导程序存储区内的引导程序;
(2)从数据备份区中读取程序运行参数;
(3)根据该程序运行参数将主应用程序移至随机存储器RAM的程序运行区;
(4)修改堆栈中的返回地址,将程序控制权交给片外应用程序;
(5)根据用户请求进行软件下载;
(6)片外应用程序向程序存储区发送软件激活请求消息;
所述软件激活请求消息包含目前正在运行的软件版本信息,以及最新的软件版本信息;
所述软件激活请求消息发送至软件程序区;
(7)比较版本,当软件版本消息一致时,软件程序库回送确认消息,原程序正常运行;如版本信息不一致,即需要进行软件更新,开始软件加载;
(8)对软件下载程序进行初始化处理;
(9)判断是否接收到用于软件升级的软件包;
(10)接收到的软件包存放在FLASH的备用程序存储区内;
(11)全部的软件包都正确接收后,升级软件下载完成;
(12)重新填写程序参数区的参数;
(13)重新启动系统。
本发明的有益效果为:采用本发明所提供的装置及其方法,可实现利用单片机进行软件的远程下载,以达成有升级需求的硬件设备的版本升级,其中硬件的冗余设计提供了这种升级的可能性,软件的灵活设计保证了这种升级的可靠性,而且本系统大部分功能由软件实现,并可模块化,硬件成本低廉,按此方法设计的单片机系统可以节省人力和成本,且保证了软件下载、升级操作的安全性。
附图说明
图1为本发明在通信系统中利用单片机实现软件下载的装置的硬件框图;
图2为本发明各存储器的地址分配图;
图3为本发明在通信系统中利用单片机实现软件下载的方法的流程图。
具体实施方式
本发明是一种在通信系统中利用单片机实现软件下载的装置和方法,应用于通信系统中硬件设备(如CPU)的软件版本升级之中,且利用简单的单片机完成,其具体实施方式请参见图1、图2、图3,分别为本发明在通信系统中利用单片机实现软件下载的装置和方法的硬件框图、地址分配图和流程图。
首先,如图1所示,为本发明的硬件框图,本发明所提供的单片机软件下载装置至少可包含一片单片机、一片RAM、一片FLASH、外接逻辑电路,在本发明所提供的利用单片机实现软件下载的方法中,所用到的单片机实际型号是AT89C52,此单片机片内自带8Kbytes程序存储器,正好可以用来存放预先编好的引导程序,若单片机片内不带程序存储器或程序存储器空间不够大时,还得重新外加扩展程序存储器。
RAM使用IS62C256,该RAM片内带32Kbytes存储空间,实际使用地址范围为2000H~7FFFH,因为在软件下载完毕、版本更新后,应用程序是要被搬到该RAM内运行,同时RAM内有部分空间还要存放数据,为实现这一功能,单片机的/RD和/PSEN信号相“与”后输出到RAM的读选通端/OE,就能使程序空间和数据空间相混合。RAM的高、低八位地址线分别与单片机的P2、P0口连接,写信号选通端/WE和单片机的/WE连接。
闪存FLASH使用SST29EE010,该FLASH片内带256Kbytes存储空间,实际只使用64Kbytes存储空间,即8000H~FFFFH和18000H~1FFFFH,上面两个区域分别轮流存放主、备应用程序区,由单片机通用I/O口P1.1改变FLASH地址线A16而实现的;同样,单片机的/RD和/PSEN信号相“与”后输出到FLASH的读选通端/OE,FLASH的高、低八位地址线分别与单片机的P2、P0口连接,写信号选通端/WE和单片机的/WE连接;
在本装置中,单片机内的引导程序存储区、RAM的数据和应用程序区、FLASH的主、备程序区是统一编址的,引导程序存储区为0000H~1FFFH,RAM为2000H~7FFFH,FLASH为8000H~FFFFH和18000H~1FFFFH,我们利用外接逻辑电路,对单片机的16位地址线进行逻辑组合,分别输出片选信号/RAM_CS和/FLASH_CS给RAM和FALSH的片选端,以实现各存储区域的统一编址。此外,为实现单片机P0口的数据/地址复用而需要的八位锁存器、一些必要的门电路也由外接逻辑电路实现;
然后,参见图2,为本发明的存储器地址分配方案,CPU中存在的一块内部程序存储区作为引导程序存储区,(如果通信系统中采用的是没有内部存储器ROM的CPU,则可在外部扩展一块FLASH作为引导程序存储区,地址从0x0000至0xA,A的值视系统采用的不同的单片机而定,如采用的是51型号的单片机,则A的值为0x1000,如果采用的是52型号的单片机,则A的取值为0x2000,和采用的CPU内部包含的ROM的大小一致;外部的RAM存储器空间被人为地分成三部分,其中0x0000至0xA的RAM地址区域作为一般的程序使用,存放程序运行过程中产生的变量的值;RAM地址从0xA开始到0xB的区域分时复用为数据RAM和程序ROM,在引导程序运行的期间,该区域作为数据RAM使用,引导程序将应用程序从选定的位于FLASH中的程序存储区拷贝到RAM中的该区域;在应用程序运行的期间,该区域被用作程序ROM;该区域的大小视应用程序大小而定,一般是(64K-0xA)/2。RAM中0xB-0x3FFF的区域保留,当CPU用位于该数据地址区间的地址访问外部数据空间的时候,在本装置的外部硬件电路逻辑将会选中FLASH;FLASH的地址空间是作为数据存储空间而进行编址的,被分成6块,两块保留区域,两块程序存储区,与两块程序存储区相对应的两块程序参数区。地址0x00000到0xB以及0x10000到0x10000+0xB的两块区域被保留,因为该地址空间被RAM占用,每块程序参数区的大小为128字节,地址从0xFF80到0xFFFF以及从0x1FF80到0x1FFFF,用来存放一些引导程序和软件下载要用到的参数,如与该参数区对应的程序存储区中的程序是主用程序还是备用程序,引导程序只将主用程序搬移到RAM中执行,程序有效标志,当程序下载时,下载成功之后,软件置该标志;程序存储区的大小为(64K-0xA)/2-128字节;程序存储区1的起始地址0xC的值等于0xB;程序存储区2的起始地址0xE的值等于0x10000+0xB;对于CPU来说,由于它只有16根地址线,地址空间只有64k,这两块程序存储区的地址是完全重叠、不加区分的,只能通过CPU的I/O口信号控制FLASH的第17位地址线A16来进行区分;故这两块物理上位于同一块FLASH中的程序存储区及参数区在逻辑上是两块独立的FLASH。这两块逻辑上独立的程序存储区通过地址线A16进行区分;
参见图3,为本发明在通信系统中利用单片机实现软件下载的方法的程序流程图,上电后,片内程序区的引导程序首先运行,它从两块程序参数区中读取程序运行参数301,再根据读取的参数决定哪一块程序备份区是将要运行的程序存储区,哪一块是备用的程序存储区,并将要执行的程序搬移到RAM的程序运行区302,通过修改堆栈中的返回地址,将程序控制权交给片外应用程序303,在片外应用程序向程序存储库发送软件激活请求消息304,在软件激活请求消息中包含有目前正在运行的程序的软件版本信息,在软件程序库中也保存着最新的软件版本,软件程序库收到本装置发送的软件激活请求消息305,将收到的软件版本信息与它自己保存的软件版本信息进行比较306,如果版本信息一致,软件程序库就回送一个确认的消息,本装置收到该确认消息之后,程序就正常运行下去307,如版本信息不一致,即需要进行软件更新,开始软件加载流程,首先进行软件下载初始化308,判断是否接收到用于软件升级的软件包,接收操作通常通过连接本装置和软件程序库的串口线来完成309,并将之存放于FLASH中的备用程序存储区310,当全部的软件包都正确接收之后,软件下载完成311,重新填写参数区312,即利用本方法修改与备用程序存储区相对应的程序参数区,将参数区的主备用标志置为1,这样在本装置下一次重新启动的时候,引导程序会根据程序参数区的主备用标志,将新加载的程序搬移到RAM中执行,最后重新启动313。

Claims (5)

1.一种在通信系统中利用单片机实现软件下载的装置,其特征是,它至少包括:一单片机、一随机存储器RAM、一闪存FLASH以及相应的外接逻辑电路,其中所述单片机的P2、P0口分别与所述RAM的高、低八位地址线以及所述闪存FLASH的高、低八位地址线相连接,所述单片机的/WE端与所述RAM的写信号选通端/WE相连接,所述单片机的/Rd信号和/PSEN信号相与后的结果分别输出到所述RAM和所述闪存FLASH的读选通端/OE,所述单片机的P1.1口与所述闪存FLASH的A16端相连接;
所述单片机用于存放预先编好的引导程序;
所述随机存储器RAM用于在软件下载操作完成后或软件版本更新后,运行升级后的应用程序,其余空间用于存放相关数据;
所述闪存FLASH作为数据备份区域,被划分程序为数据存储区和程序参数存储区,其软件部份包括在两个区域内分别轮流存放的主要或备用应用程序;
所述相应的外接逻辑电路用于对单片机的16位地址线进行逻辑组合,以分别输出片选信号到片选端,实现所述单片机整个存储区域的统一编址。
2.如权利要求1所述的在通信系统中利用单片机实现软件下载的装置,其特征是,所述单片机为片内自带程序存储器的单片机。
3.如权利要求1所述的在通信系统中利用单片机实现软件下载的装置,其特征是,所述单片机为外加扩展程序存储器的单片机。
4.一种在通信系统中利用单片机实现软件下载的方法,其特征是,它至少包括以下步骤:
(1)运行引导程序存储区内的引导程序;
(2)从数据备份区中读取程序运行参数;
(3)根据该程序运行参数将主应用程序移至随机存储器RAM的程序运行区;
(4)修改堆栈中的返回地址,将程序控制权交给片外应用程序;
(5)根据用户请求进行软件下载;
(6)片外应用程序向程序存储区发送软件激活请求消息;
所述软件激活请求消息包含目前正在运行的软件版本信息,以及最新的软件版本信息;
所述软件激活请求消息发送至软件程序区;
(7)比较版本,当软件版本消息一致时,软件程序库回送确认消息,原程序正常运行;如版本信息不一致,即需要进行软件更新,开始软件加载;
(8)对软件下载程序进行初始化处理;
(9)判断是否接收到用于软件升级的软件包;
(10)接收到的软件包存放在FLASH的备用程序存储区内;
(11)全部的软件包都正确接收后,升级软件下载完成;
(12)重新填写程序参数区的参数;及
(13)系统重新启动。
5.如权利要求4所述的在通信系统中利用单片机实现软件下载的方法,其特征是,重新填写程序参数区的参数时,将参数区的主备用标志置为1,使刚刚下载的程序标志为主应用程序。
CNB011453826A 2001-12-29 2001-12-29 在通信系统中利用单片机实现软件下载的装置及其方法 Expired - Fee Related CN100426220C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB011453826A CN100426220C (zh) 2001-12-29 2001-12-29 在通信系统中利用单片机实现软件下载的装置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB011453826A CN100426220C (zh) 2001-12-29 2001-12-29 在通信系统中利用单片机实现软件下载的装置及其方法

Publications (2)

Publication Number Publication Date
CN1430142A CN1430142A (zh) 2003-07-16
CN100426220C true CN100426220C (zh) 2008-10-15

Family

ID=4678174

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011453826A Expired - Fee Related CN100426220C (zh) 2001-12-29 2001-12-29 在通信系统中利用单片机实现软件下载的装置及其方法

Country Status (1)

Country Link
CN (1) CN100426220C (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100351797C (zh) * 2003-08-19 2007-11-28 华为技术有限公司 一种单片机在线升级方法和装置
CN1294489C (zh) * 2004-08-31 2007-01-10 四川长虹电器股份有限公司 单片机程序升级方法
CN100383737C (zh) * 2005-01-12 2008-04-23 华为技术有限公司 单片机在线加载升级方法及系统
KR100778293B1 (ko) * 2005-10-10 2007-11-22 삼성전자주식회사 디지털방송처리장치 및 디지털방송처리장치 부트로더의업그레이드 방법
CN1980447B (zh) * 2005-12-06 2010-06-16 中兴通讯股份有限公司 一种通信系统软件版本的平滑升级方法
CN100368995C (zh) * 2006-01-17 2008-02-13 华为技术有限公司 一种单片机系统在运行中升级的装置和方法
CN100354825C (zh) * 2006-08-02 2007-12-12 华为技术有限公司 一种软件升级及回退方法
CN100428829C (zh) * 2006-08-25 2008-10-22 华为技术有限公司 基站节点迁移方法及其系统
CN101599020B (zh) * 2008-06-03 2013-03-06 晨星软件研发(深圳)有限公司 于微处理器下载并执行程序代码的方法及通讯装置
CN101872306B (zh) * 2009-04-21 2013-03-20 京信通信系统(中国)有限公司 一种实现软件更新和软件备份的嵌入式系统及其实现方法
CN102043614A (zh) * 2009-10-12 2011-05-04 无锡华润矽科微电子有限公司 一种二次开发系统及二次开发方法
CN101950262B (zh) * 2010-10-20 2011-09-28 深圳市开立科技有限公司 在嵌入式系统中实现安全模式的方法及装置
CN102567054B (zh) * 2011-12-22 2015-05-20 深圳市大富科技股份有限公司 双塔放大器的控制方法及相应的装置
CN103677941B (zh) * 2013-12-27 2017-08-11 北京大唐智能卡技术有限公司 一种实现智能卡操作系统模块升级的方法及装置
CN104158657A (zh) * 2014-07-16 2014-11-19 中兴通讯股份有限公司 一种信息处理方法、装置及加密设备
CN105574127A (zh) * 2015-12-12 2016-05-11 天津南大通用数据技术股份有限公司 分布式数据库系统准实时的双活方法
CN109491678A (zh) * 2018-11-16 2019-03-19 重庆瑞盾科技发展有限公司 一种通信监控终端数据采集系统及采集方法
CN112084013B (zh) * 2019-06-13 2024-04-05 武汉杰开科技有限公司 一种程序调用方法、芯片及计算机存储介质
CN110264452B (zh) * 2019-06-18 2023-08-04 江苏通佑视觉科技有限公司 一种工件检测方法、装置、设备及存储介质
CN113535248B (zh) * 2021-06-24 2024-05-28 合肥松豪电子科技有限公司 一种减少sram空间的tp芯片上电启动方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1278343A (zh) * 1997-10-30 2000-12-27 艾利森电话股份有限公司 具有对数据存取兼容性进行自动调整的远程软件下载方法
JP2001320773A (ja) * 2000-05-11 2001-11-16 Nec Corp 加入者無線システムにおけるソフトウエアダウンロード装置及び方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1278343A (zh) * 1997-10-30 2000-12-27 艾利森电话股份有限公司 具有对数据存取兼容性进行自动调整的远程软件下载方法
JP2001320773A (ja) * 2000-05-11 2001-11-16 Nec Corp 加入者無線システムにおけるソフトウエアダウンロード装置及び方法

Also Published As

Publication number Publication date
CN1430142A (zh) 2003-07-16

Similar Documents

Publication Publication Date Title
CN100426220C (zh) 在通信系统中利用单片机实现软件下载的装置及其方法
US7886141B2 (en) Method and systems for advanced reprogrammable boot codes and in-application programming of embedded microprocessor systems
US5805882A (en) Computer system and method for replacing obsolete or corrupt boot code contained within reprogrammable memory with new boot code supplied from an external source through a data port
CN103207797B (zh) 基于通用可扩展固件接口固件系统的胶囊式定制更新方法
US5596738A (en) Peripheral device control system using changeable firmware in a single flash memory
CN107977217B (zh) 在线加载xilinx-fpga多版本更新程序的方法
US6754793B2 (en) Method for flashing ESCD and variables into a ROM
US9170936B2 (en) Communicating to update a memory
US5835760A (en) Method and arrangement for providing BIOS to a host computer
US5898869A (en) Method and system for PCMCIA card boot from dual-ported memory
JP3364356B2 (ja) メモリ書替え装置
US20050283598A1 (en) Method and system for loading processor boot code from serial flash memory
CN101872306B (zh) 一种实现软件更新和软件备份的嵌入式系统及其实现方法
CN101013351A (zh) 硬盘驱动器高速缓存存储器及重放装置
KR20010006749A (ko) 설치된 모든 대용량 저장 장치들의 리부트/파워 온리컨피그레이션을 최종 사용한 컨피그레이션과 동일하게하도록 각각의 대용량 저장 장치의 비휘발성 메모리에시스템 레벨 대용량 저장 컨피그레이션 데이터를 저장하는장치 및 방법
CN101414264A (zh) 一种高可靠软件版本的更新方法和三种更新方式
JPH02252008A (ja) マイクロプロセッサ
WO2012071852A1 (zh) 引导程序的升级方法和装置
CN102622257A (zh) 电表在线自更新方法及其装置
JPH11265282A (ja) 自動販売機の制御装置
US6795915B2 (en) Computer system and method for setting up information on an operating system thereof
US20040098516A1 (en) Booting from a re-programmable memory on an unconfigured bus
CN107783775A (zh) 基于rtos嵌入式远程在线升级函数方法
KR19980054349A (ko) 옵션 자동 설정 회로
JPH0581036A (ja) 計算機ネツトワークシステムのリモートインストール方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: SHENZHENG CITY ZTE CO., LTD.

Free format text: FORMER OWNER: SHENZHENG CITY ZTE CO., LTD. SHANGHAI SECOND INSTITUTE

Effective date: 20030730

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20030730

Applicant after: Zhongxing Communication Co., Ltd., Shenzhen City

Applicant before: Shanghai Inst. of No.2, Zhongxing Communication Co., Ltd., Shenzhen City

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081015

Termination date: 20131229