CN100426220C - 在通信系统中利用单片机实现软件下载的装置及其方法 - Google Patents
在通信系统中利用单片机实现软件下载的装置及其方法 Download PDFInfo
- 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
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,使刚刚下载的程序标志为主应用程序。
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)
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)
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 | 加入者無線システムにおけるソフトウエアダウンロード装置及び方法 |
-
2001
- 2001-12-29 CN CNB011453826A patent/CN100426220C/zh not_active Expired - Fee Related
Patent Citations (2)
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 |