CN1851645A - 一种单片机系统在运行中升级的装置和方法 - Google Patents

一种单片机系统在运行中升级的装置和方法 Download PDF

Info

Publication number
CN1851645A
CN1851645A CN 200610000888 CN200610000888A CN1851645A CN 1851645 A CN1851645 A CN 1851645A CN 200610000888 CN200610000888 CN 200610000888 CN 200610000888 A CN200610000888 A CN 200610000888A CN 1851645 A CN1851645 A CN 1851645A
Authority
CN
China
Prior art keywords
program
chip microcomputer
application
upgrading
application program
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.)
Granted
Application number
CN 200610000888
Other languages
English (en)
Other versions
CN100368995C (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2006100008884A priority Critical patent/CN100368995C/zh
Publication of CN1851645A publication Critical patent/CN1851645A/zh
Application granted granted Critical
Publication of CN100368995C publication Critical patent/CN100368995C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种单片机系统在运行中升级的装置和方法,涉及电子技术领域,解决现有技术中单片机系统不能在运行中升级或能够在运行中升级但如果编程过程出错或新程序出错,无法实现原来的程序自动倒回功能的缺陷。本发明包括单片机部、程序存储部和数据缓冲部三个部分。本发明首先选择要加载系统的应用程序的应用程序存储区,然后将系统的应用程序写入所述应用程序存储区,再判断所述系统的应用程序是否正确,如果正确,则加载完成;如果不正确,则返回升级前系统的应用程序。

Description

一种单片机系统在运行中升级的装置和方法
技术领域
本发明涉及电子技术领域,尤其是涉及一种单片机系统在运行中升级的装置和方法。
背景技术
目前,设备升级是电子产品经常遇到的一件事情。对于单片机系统,平时运行的程序代码都固化在ROM(Read-Only Memory,只读存储器)芯片或单片机自带的flash ROM中,因此单片机的软件升级必须进行掉电重新烧录新程序,不仅操作麻烦,而且掉电会影响系统的正常运行。
现在部分厂家通过改进CPU芯片,推出增强功能的单片机实现在板加载软件和在运行中加载软件功能。例如P89C51RX+系列单片机可以选择是使用固件程序还是使用flash程序,如果选择使用固件程序就可以实现在板加载flash软件,且该类芯片支持程序在运行中升级,该类芯片提供相关的擦除和编程函数接口,供应用程序调用,以实现flash程序在运行中升级。
但是,上述增强型单片机在重新加载flash软件时,需要手动控制CPU的PSEN(Program Store Enable,程序存储允许)、ALE(AddressLatch Enable,地址锁存允许)和EA(External Access Enable,外部访问允许)三个引脚,来实现再次在板加载。如果固件程序指针被误修改,则只能通过编程器重新擦除编程。该类单片机在实现在运行中升级的功能时,需要设计者熟悉该芯片的编程函数和相关参数,技术难度高,编程的风险性高。同时由于升级功能是在用户的应用程序中直接实现,没有保留升级前程序,也没有倒回原来程序的机制,如果编程过程出错或新程序出错,将无法实现原来的程序自动倒回,可能引起不可恢复的严重后果。
发明内容
本发明的目的是提供一种单片机系统在运行中升级的装置和方法,以克服现有技术中单片机系统不能在运行中升级或能够在运行中升级但如果编程过程出错或新程序出错,无法实现原来的程序自动倒回功能的缺陷。
本发明提供一种单片机系统在运行中升级的装置,包括提供在运行中升级用户应用程序平台的单片机部、存放系统的应用程序的程序存储部和存放待写入和校验的应用程序的数据缓冲部,单片机部分别连接程序存储部和数据缓冲部,对程序存储部和数据缓冲部进行读写操作。
按照本发明的一个方面,所述单片机部包括含有系统启动程序的片内只读存储器。
按照本发明的再一个方面,所述系统启动程序进一步包括系统中断的应用程序的函数入口地址、加载应用程序的函数入口地址、修改应用程序状态标志的函数入口地址、运行启动程序和运行应用程序的标志变量的绝对地址和中断服务程序选择的标志变量的绝对地址。
按照本发明的再一个方面,所述程序存储部进一步包括应用程序存储区A、应用程序存储区B和标志区。
按照本发明的再一个方面,所述应用程序存储区A或应用程序存储区B包含系统的应用程序。
按照本发明的再一个方面,所述系统的应用程序进一步包括系统中断的应用程序的函数入口地址、加载应用程序的函数入口地址、修改应用程序状态标志的函数入口地址、运行启动程序和运行应用程序的标志变量的绝对地址和中断服务程序选择的标志变量的绝对地址。
按照本发明的再一个方面,所述标志区存放应用程序存储区中程序的状态标志和存储区选择标志。
本发明提供一种单片机系统在运行中升级的方法,包括以下步骤:
A、选择要加载系统的应用程序的应用程序存储区;
B、将系统的应用程序写入所述应用程序存储区;
C、判断所述系统的应用程序是否正确,如果正确,则加载完成;如果不正确,则转步骤D;
D、返回升级前系统的应用程序。
按照本发明的再一个方面,步骤A具体为,如果当前系统未使用应用程序存储区A,则选择应用程序存储区A加载系统的应用程序,否则选择应用程序存储区B加载系统的应用程序。
按照本发明的再一个方面,步骤B进一步包括:
B1、单片机部接收待加载的应用程序;
B2、单片机部将待加载的应用程序写入数据缓冲部;
B3、单片机部接收加载应用程序的命令;
B4、单片机部将数据缓冲部的数据写入应用程序存储区。
按照本发明的再一个方面,步骤B1或B3中,单片机部通过串口与计算机通信接收数据。
按照本发明的再一个方面,步骤B1或B3中,单片机部通过并口与计算机通信接收数据。
按照本发明的再一个方面,步骤C具体为,运行所述系统的应用程序,如果该程序所有中断和主程序都执行一遍且正常,则该程序正确;如果该程序运行过程中被看门狗复位,则该程序不正确。
按照本发明的再一个方面,步骤D具体为,修改存储区选择标志为另一个应用程序存储区,并运行该应用程序存储区的应用程序。
本发明提供一种单片机系统在运行中升级的方法,包括以下步骤:
A、单片机部读取应用程序存储区中升级前系统的应用程序;
B、单片机部将升级前系统的应用程序写入数据缓冲部;
C、单片机部运行数据缓冲部中升级前系统的应用程序;
D、单片机部将待升级的系统的应用程序写入应用程序存储区。
与现有技术相比,本发明具有以下优点:
应用本发明可以使单片机系统在运行中升级,不必使用编程器,无需拔出单板更换芯片,减少系统维护的人力物力成本,节省维护时间。应用本发明用户只需烧录一次系统启动程序,应用程序的调试可以通过在线加载来实现,不需使用仿真器,能保证调试后的程序直接使用,不存在使用仿真器有时脱机无法正常运行的情况。应用本发明可以通过网络实现远程升级,而且如果升级后的程序出错,可以实现自动倒回原来程序;还可以通过远程命令强制进行应用程序倒回原来版本的操作。
附图说明
图1是本发明的系统结构图。
图2是采用本发明的一种单片机系统的硬件电路图。
图3是采用图2所示单片机系统时,系统启动程序流程图。
图4是采用图2所示单片机系统时,系统应用程序流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述:
本发明的系统结构如图1所示,该系统通过串口或并口与计算机进行通信。该系统包括单片机部、程序存储部和数据缓冲部三个部分。其中程序存储部进一步包括应用程序存储区A、应用程序存储区B和标志区。单片机部可以分别对程序存储部和数据缓冲部进行读写。
下面以图2所示单片机系统的硬件电路为实施例,对本发明进行详细说明。参照图2,该系统包括单片机部、程序存储部和数据缓冲部三个部分。单片机部采用AT89C51芯片作为CPU,该芯片自带的4K片内ROM空间用于存放系统启动程序BOOT,且第31脚接VCC,保证程序从BOOT程序开始运行,BOOT程序的流程图如图3所示。程序存储部采用M29F040B芯片作为flash ROM,该芯片存放系统的应用程序APP,APP程序的流程图如图4所示。M29F040B芯片具有8个扇区,每个扇区有64K字节空间,且该芯片支持对扇区独立编程。该芯片中0号扇区为应用程序存储区A,用于存放系统的应用程序APP0的程序代码;1号扇区为应用程序存储区B,用于存放系统的应用程序APP1的程序代码;2号扇区为标志区,其中地址为0x1000~0x1003的空间存放APP0程序的状态标志,标志为0x55555555表示初次运行,标志为0xAAAAAAAA表示正常,其他标志表示故障;地址为0x1004~0x1007的空间存放APP1程序的状态标志,标志为0x55555555表示初次运行,标志为0xAAAAAAAA表示正常,其他标志表示故障;地址为0x1008的空间存放当前选择要运行的APP程序所在的扇区标志,标志为0x00表示0号扇区的APP0程序,标志为0xFF表示1号扇区的APP1程序。数据缓冲部采用CY62256芯片作为RAM(Random Access Memory,随机存取存储器)。
单片机部使用AT89C51的10脚和11脚配合MAX232芯片与计算机进行串口通信,发送和接收数据;使用3脚控制系统读写操作的芯片,当3脚为1时,读写操作CY62256芯片;当3脚为0时,读写操作M29F040B芯片。因为系统上电时3脚为1,所以默认选择CY62256芯片作为读写对象。当需要读写操作M29F040B芯片时,先进行一个3脚清零的操作,读写之后,立刻进行一个3脚置一的操作,保证操作M29F040B芯片后,能正常操作CY62256芯片。由于M29F040B芯片在程序正常运行时,作为系统的程序存储器,所以把/PSTN信号引进M29F040B芯片进行取指令控制。另外,由于M29F040B地址范围超过64K,单片机部使用AT89C51的1脚和2脚信号实现M29F040B芯片的0号扇区、1号扇区和2号扇区之间的进行选择。
该单片机系统的地址空间分配如下:
ROM空间:
AT89C51芯片中地址为0x0000~0x0FFF的空间分配为BOOT程序空间;M29F040B芯片中地址为0x1000~0xFFFF的空间分配为APP程序空间。
RAM空间:
当AT89C51芯片的3脚为1时,操作CY62256芯片,此时地址为0x0000~0x0FFF的空间分配为BOOT程序变量空间和待加载APP程序的缓存空间;地址为0x1000~0xFFFF的空间分配为APP程序变量空间。
当AT89C51芯片的3脚为0时,操作M29F040B芯片,此时地址为0x1000~0xFFFF的空间分配为待写入和校验的APP程序的空间。
对于初次加工的设备,本发明包括以下步骤:
步骤s101,选择要加载APP程序的应用程序存储区X。如果当前系统未使用应用程序存储区A,则选择应用程序存储区A为应用程序存储区X,加载APP程序,否则选择应用程序存储区B为应用程序存储区X,加载APP程序。因为设备初次加工,应用程序存储区A、B都为空(状态为故障),没有可用的APP程序,所以软件选择应用程序存储区A用来加载APP程序。
步骤s102,BOOT程序通过AT89C51的10脚和11脚与计算机进行通信,接收待加载的APP程序。
步骤s103,BOOT程序通过AT89C51的26~39脚,将待加载的APP程序写入CY62256芯片。
步骤s104,BOOT程序通过AT89C51的10脚和11脚与计算机进行通信,接收加载APP程序的命令。
步骤s105,BOOT程序通过AT89C51的1~4和26~39脚,将CY62256芯片中的数据写入M29F040B芯片对应的应用程序存储区A。然后重新读取应用程序存储区A数据进行校验,判断是否加载出错。这个过程可以根据APP程序目标代码的大小和设计中分配待加载APP程序的缓存大小,将目标代码分成N块,采用多次传送、加载的方式进行。
步骤s106,在标志区将APP0程序的状态标志为初次运行。
步骤s107,在标志区将当前选择要运行的APP程序所在的扇区标志为0号扇区的APP0程序。
步骤s108,通过看门狗进行系统复位。
步骤s109,BOOT程序将标志区的APP0程序的状态标志为故障。
步骤s110,运行APP0程序。如果该程序所有中断都执行过,主程序也执行一遍正常,则将标志区的APP0程序的状态标志为正常,升级完成;如果该程序运行过程中被看门狗复位,则转步骤s111。
步骤s111,因为APP0程序的状态标志为故障,且应用程序存储区B为空(状态为故障),所以进入BOOT程序的主循环,等待命令,重新加载新的APP程序。回到步骤s101重新开始。
对于已经正常运行的设备,本发明包括以下步骤:
步骤s201,系统在正常运行APP程序,收到升级请求后,APP程序跳转到BOOT程序中运行。
步骤s202,选择要加载APP程序的应用程序存储区X。如果当前系统正使用APP0程序,则选择应用程序存储区B为应用程序存储区X,加载APP程序;如果当前系统正使用APP1程序,则选择应用程序存储区A为应用程序存储区X,加载APP程序。
步骤s203,BOOT程序通过AT89C51的10脚和11脚与计算机进行通信,接收待加载的APP程序。
步骤s204,BOOT程序通过AT89C51的26~39脚,将待加载的APP程序写入CY62256芯片。
步骤s205,BOOT程序通过AT89C51的10脚和11脚与计算机进行通信,接收加载APP程序的命令。
步骤s206,BOOT程序通过AT89C51的1~4和26~39脚,将CY62256芯片中的数据写入M29F040B芯片对应的应用程序存储区X。然后重新读取应用程序存储区A数据进行校验,判断是否加载出错。这个过程可以根据APP程序目标代码的大小和设计中分配待加载APP程序的缓存大小,将目标代码分成N块,采用多次传送、加载的方式进行。
步骤s207,在标志区将应用程序存储区X中APP程序的状态标志为初次运行。
步骤s208,在标志区将当前选择要运行的APP程序所在的扇区标志为应用程序存储区X中的APP程序。
步骤s209,通过看门狗进行系统复位。
步骤s210,BOOT程序将标志区的应用程序存储区X中的APP程序的状态标志为故障。
步骤s211,运行该APP程序。如果该程序所有中断都执行过,主程序也执行一遍正常,则将标志区的该APP程序的状态标志为正常,升级完成;如果该程序运行过程中被看门狗复位,则转步骤s212。
步骤s212,因为另一应用程序存储区的APP程序可用,则在标志区将当前选择要运行的APP程序所在的扇区标志为该应用程序存储区中的APP程序,然后选择该APP程序运行。
因为用户要实现的功能都在APP程序的主体中,所以APP程序经常因为功能变化而进行升级;而BOOT程序功能固定,软件调试成功后就不再变化。为使升级前和升级后的APP程序都能和系统的BOOT程序正确匹配运行,必须保证APP程序和BOOT程序的接口函数和接口变量地址固定,同时要求APP程序和BOOT程序之间不要其他的关联耦合,使两个程序中具体模块的变动不会相互影响。本发明将BOOT程序和APP程序设计成两个独立的程序,分别编译生成相应的目标代码,只需在每个程序中设置好接口函数和变量的地址,就能使两个程序正确匹配运行。每个程序在编译链接时,编译器对指令的优化、函数位置的变化等方面因素不会影响到另一个程序,而且使用两个目标代码也方便两个芯片的分别加载。
BOOT程序需要确定如下接口函数和变量:
1、5个系统中断的APP程序的函数入口地址。本发明建议使用0x2003、0x200B、0x2013、0x201B、0x2023五个地址作为APP程序5个中断的服务程序入口地址。
2、加载APP程序的函数入口地址。本发明建议使用0x0F00地址。
3、修改当前APP程序状态标志的函数入口地址。本发明建议使用0x0F10地址。
4、当前运行BOOT程序和运行APP程序的标志变量的绝对地址。本发明建议使用0x0000地址。
5、当前中断服务程序选择的标志变量的绝对地址。本发明建议使用0x0001地址。
6、因为APP程序中占用到的变量地址,BOOT程序都不能占用,以免改写引起冲突,所以把分配给APP程序的xdata变量空间在BOOT程序中定义为全局字符数组,避免BOOT程序动态分配变量时,占用该区域地址。本发明建议分配0x1000~0xFFFF的60K地址给APP(可根据实际APP程序需要进行调整)。
因为接口函数的地址空间有限,所以可以通过调用子函数的形式来完成具体的功能。BOOT程序的中断入口函数先判断中断来源,若是BOOT程序的中断就调用BOOT程序的中断服务程序,包括EX0BOOT()、T0BOOT()、EX1BOOT()、T1BOOT()和S0BOOT();若是APP程序的中断就调用APP函数中断服务程序,包括EX0APP()、T0APP()、EX1APP()、T1APP()和S0APP()。
接口函数的绝对地址绑定可以在C51链接时进行。编辑一个BOOT.TXT文件,然后编译程序后链接时运行L51.EXE @BOOT.TXT(是否增加附件进行举例或者直接拷贝文本过来。),就可实现相关函数的绝对地址绑定。
接口变量的绝对地址绑定可以在BOOT.C的头文件中定义全局变量并绑定变量绝对地址。例如:
char xdata flagCode_at_0x0000;
char xdata flagInterrupt_at_0x0001;
char xdata reserveAPP[61440]_at_0x1000。
APP程序需要确定如下接口函数和变量:
1、5个系统中断的APP服务程序的函数入口地址。本发明建议对应BOOT程序使用0x2003、0x200B、0x2013、0x201B、0x2023五个地址作为APP程序5个中断的服务程序入口地址。
2、加载APP程序的函数入口地址。本发明建议对应BOOT程序使用0x0F00。
3、修改当前APP程序状态标志的函数入口地址。本发明建议对应BOOT程序使用0x0F10。
4、当前运行BOOT程序和运行APP程序的标志变量的绝对地址。本发明建议对应BOOT程序使用0x0000地址。
5、当前中断服务程序选择的标志变量的绝对地址。本发明建议对应BOOT程序使用0x0001地址。
6、因为BOOT程序中占用到的变量地址,APP程序都不能占用,以免改写引起冲突,所以把分配给BOOT程序的xdata变量空间在APP程序中定义为全局字符数组,避免APP程序动态分配变量时,占用该区域地址。本发明建议对应BOOT程序分配0x0002~0x0FFF近4K的地址作为BOOT程序变量存储区(可根据APP变量占用情况进行对应调整)。
接口函数的绝对地址绑定方法和BOOT程序中地址的绑定方法一致。
因为中断服务入口函数的地址空间有限,只有8字节,所以可以通过调用子函数的方式,在子函数中执行具体的服务内容函数。
本发明还有一种方案可以实现在线升级,首先单片机部读取应用程序存储区中升级前系统的应用程序,然后单片机部将升级前系统的应用程序写入数据缓冲部并运行数据缓冲部中升级前系统的应用程序,最后单片机部将待升级的系统的应用程序写入应用程序存储区。系统复位后,CPU拷贝ROM的代码到RAM中执行,运行的就是升级后的程序代码。该方案也可以完成在线升级,不过复杂程度较高,而且由于没有升级失败自动倒回原来代码的机制,安全性能不好。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (16)

1、一种单片机系统在运行中升级的装置,其特征在于,包括:
单片机部,提供在运行中升级用户应用程序的平台;
程序存储部,存放系统的应用程序;
数据缓冲部,存放待写入和校验的应用程序;
单片机部连接程序存储部,对程序存储部进行读写操作;
单片机部连接数据缓冲部,对数据缓冲部进行读写操作。
2、如权利要求1所述单片机系统在运行中升级的装置,其特征在于,所述单片机部包括片内只读存储器。
3、如权利要求2所述单片机系统在运行中升级的装置,其特征在于,所述片内只读存储器中包含系统启动程序。
4、如权利要求3所述单片机系统在运行中升级的装置,其特征在于,所述系统启动程序进一步包括:
系统中断的应用程序的函数入口地址;
加载应用程序的函数入口地址;
修改应用程序状态标志的函数入口地址;
运行启动程序和运行应用程序的标志变量的绝对地址;
中断服务程序选择的标志变量的绝对地址。
5、如权利要求1所述单片机系统在运行中升级的装置,其特征在于,所述程序存储部进一步包括:
应用程序存储区A;
应用程序存储区B;
标志区。
6、如权利要求5所述单片机系统在运行中升级的装置,其特征在于,所述应用程序存储区A或应用程序存储区B包含系统的应用程序。
7、如权利要求6所述单片机系统在运行中升级的装置,其特征在于,所述系统的应用程序进一步包括:
系统中断的应用程序的函数入口地址;
加载应用程序的函数入口地址;
修改应用程序状态标志的函数入口地址;
运行启动程序和运行应用程序的标志变量的绝对地址;
中断服务程序选择的标志变量的绝对地址。
8、如权利要求5所述单片机系统在运行中升级的装置,其特征在于,所述标志区存放应用程序存储区中程序的状态标志和存储区选择标志。
9、一种单片机系统在运行中升级的方法,其特征在于,包括以下步骤:
A、选择要加载系统的应用程序的应用程序存储区;
B、将系统的应用程序写入所述应用程序存储区;
C、判断所述系统的应用程序是否正确,如果正确,则加载完成;如果不正确,则转步骤D;
D、返回升级前系统的应用程序。
10、如权利要求9所述单片机系统在运行中升级的方法,其特征在于,步骤A具体为,如果当前系统未使用应用程序存储区A,则选择应用程序存储区A加载系统的应用程序,否则选择应用程序存储区B加载系统的应用程序。
11、如权利要求9所述单片机系统在运行中升级的方法,其特征在于,步骤B进一步包括:
B1、单片机部接收待加载的应用程序;
B2、单片机部将待加载的应用程序写入数据缓冲部;
B3、单片机部接收加载应用程序的命令;
B4、单片机部将数据缓冲部的数据写入应用程序存储区。
12、如权利要求11所述单片机系统在运行中升级的方法,其特征在于,步骤B1或B3中,单片机部通过串口与计算机通信接收数据。
13、如权利要求11所述单片机系统在运行中升级的方法,其特征在于,步骤B1或B3中,单片机部通过并口与计算机通信接收数据。
14、如权利要求9所述单片机系统在运行中升级的方法,其特征在于,步骤C具体为,运行所述系统的应用程序,如果该程序所有中断和主程序都执行一遍且正常,则该程序正确;如果该程序运行过程中被看门狗复位,则该程序不正确。
15、如权利要求9所述单片机系统在运行中升级的方法,其特征在于,步骤D具体为,修改存储区选择标志为另一个应用程序存储区,并运行该应用程序存储区的应用程序。
16、一种单片机系统在运行中升级的方法,其特征在于,包括以下步骤:
A、单片机部读取应用程序存储区中升级前系统的应用程序;
B、单片机部将升级前系统的应用程序写入数据缓冲部;
C、单片机部运行数据缓冲部中升级前系统的应用程序;
D、单片机部将待升级的系统的应用程序写入应用程序存储区。
CNB2006100008884A 2006-01-17 2006-01-17 一种单片机系统在运行中升级的装置和方法 Expired - Fee Related CN100368995C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100008884A CN100368995C (zh) 2006-01-17 2006-01-17 一种单片机系统在运行中升级的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100008884A CN100368995C (zh) 2006-01-17 2006-01-17 一种单片机系统在运行中升级的装置和方法

Publications (2)

Publication Number Publication Date
CN1851645A true CN1851645A (zh) 2006-10-25
CN100368995C CN100368995C (zh) 2008-02-13

Family

ID=37133124

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100008884A Expired - Fee Related CN100368995C (zh) 2006-01-17 2006-01-17 一种单片机系统在运行中升级的装置和方法

Country Status (1)

Country Link
CN (1) CN100368995C (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872306A (zh) * 2009-04-21 2010-10-27 京信通信系统(中国)有限公司 一种实现软件更新和软件备份的嵌入式系统及其实现方法
CN102402444A (zh) * 2011-11-15 2012-04-04 北京世纪瑞尔技术股份有限公司 一种软件远程升级的方法
CN101615128B (zh) * 2009-07-31 2012-05-23 北京华环电子股份有限公司 一种单片机在线升级的方法及装置
CN102495747A (zh) * 2011-12-10 2012-06-13 无锡市格力普科技有限公司 输电线路智能监测装置软件远程自动更新方法
CN101436138B (zh) * 2007-11-16 2013-04-10 苏州科达科技股份有限公司 一种用于软件升级且动态回滚的控制装置以及控制方法
CN103246535A (zh) * 2013-04-26 2013-08-14 广州德浩科视电子科技有限公司 一种拼接屏升级系统及其升级方法
CN103809995A (zh) * 2012-11-15 2014-05-21 海尔集团公司 单片机及其在线升级方法和在线升级装置
CN104021010A (zh) * 2014-03-27 2014-09-03 中国科学院长春光学精密机械与物理研究所 一种实时在线更新应用程序和图像模板数据的装置
CN104915219A (zh) * 2014-03-12 2015-09-16 奇点新源国际技术开发(北京)有限公司 单片机程序升级方法及装置
CN105068839A (zh) * 2015-08-10 2015-11-18 深圳晶华显示器材有限公司 一种基于pic单片机的串口自举系统及其方法
CN105279043A (zh) * 2014-07-24 2016-01-27 清华大学 一种对单片机软件错误进行恢复的方法及系统
CN105975312A (zh) * 2016-05-12 2016-09-28 苏州联视泰电子信息技术有限公司 一种信号采集传输系统中链路节点的代码更新方法
CN106406815A (zh) * 2016-09-06 2017-02-15 南京大全自动化科技有限公司 一种馈线终端装置及其应用程序远程升级方法
CN106776402A (zh) * 2016-12-19 2017-05-31 中国电子科技集团公司第二十研究所 一种基于单片机的串行通信控制系统及方法
CN109388422A (zh) * 2018-09-26 2019-02-26 威胜集团有限公司 固件程序升级方法及其电能表
CN110377303A (zh) * 2019-07-10 2019-10-25 杭州洲钜电子科技有限公司 基于备用存储区方式升级程序的方法及其设备
CN110502267A (zh) * 2019-08-28 2019-11-26 北京行易道科技有限公司 设备应用程序的更新方法、装置、设备及存储介质
CN112256596A (zh) * 2020-10-23 2021-01-22 英业达科技有限公司 一种电子装置固件中讯号中继器的刷新方法
CN112394965A (zh) * 2019-08-13 2021-02-23 比亚迪股份有限公司 电池管理系统升级和运行方法,控制器,电池管理系统及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426220C (zh) * 2001-12-29 2008-10-15 中兴通讯股份有限公司 在通信系统中利用单片机实现软件下载的装置及其方法
CN1503127A (zh) * 2002-11-20 2004-06-09 刘丁阳 一种扩展程序存储空间和动态升级程序的程序编码方法
CN1512336A (zh) * 2002-12-28 2004-07-14 深圳市中兴通讯股份有限公司 一种8051单片机系统升级方法及监控电路
CN1492329A (zh) * 2003-09-09 2004-04-28 天津大学 单片机控制系统中单片机的在线升级方法
CN1294489C (zh) * 2004-08-31 2007-01-10 四川长虹电器股份有限公司 单片机程序升级方法

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436138B (zh) * 2007-11-16 2013-04-10 苏州科达科技股份有限公司 一种用于软件升级且动态回滚的控制装置以及控制方法
CN101872306B (zh) * 2009-04-21 2013-03-20 京信通信系统(中国)有限公司 一种实现软件更新和软件备份的嵌入式系统及其实现方法
CN101872306A (zh) * 2009-04-21 2010-10-27 京信通信系统(中国)有限公司 一种实现软件更新和软件备份的嵌入式系统及其实现方法
CN101615128B (zh) * 2009-07-31 2012-05-23 北京华环电子股份有限公司 一种单片机在线升级的方法及装置
CN102402444A (zh) * 2011-11-15 2012-04-04 北京世纪瑞尔技术股份有限公司 一种软件远程升级的方法
CN102495747A (zh) * 2011-12-10 2012-06-13 无锡市格力普科技有限公司 输电线路智能监测装置软件远程自动更新方法
CN103809995A (zh) * 2012-11-15 2014-05-21 海尔集团公司 单片机及其在线升级方法和在线升级装置
CN103246535B (zh) * 2013-04-26 2016-08-03 广州德浩科视电子科技有限公司 一种拼接屏升级系统的升级方法
CN103246535A (zh) * 2013-04-26 2013-08-14 广州德浩科视电子科技有限公司 一种拼接屏升级系统及其升级方法
CN104915219A (zh) * 2014-03-12 2015-09-16 奇点新源国际技术开发(北京)有限公司 单片机程序升级方法及装置
CN104915219B (zh) * 2014-03-12 2018-11-27 奇点新源国际技术开发(北京)有限公司 单片机程序升级方法及装置
CN104021010A (zh) * 2014-03-27 2014-09-03 中国科学院长春光学精密机械与物理研究所 一种实时在线更新应用程序和图像模板数据的装置
CN105279043B (zh) * 2014-07-24 2018-07-27 清华大学 一种对单片机软件错误进行恢复的方法及系统
CN105279043A (zh) * 2014-07-24 2016-01-27 清华大学 一种对单片机软件错误进行恢复的方法及系统
CN105068839A (zh) * 2015-08-10 2015-11-18 深圳晶华显示器材有限公司 一种基于pic单片机的串口自举系统及其方法
CN105975312A (zh) * 2016-05-12 2016-09-28 苏州联视泰电子信息技术有限公司 一种信号采集传输系统中链路节点的代码更新方法
CN106406815A (zh) * 2016-09-06 2017-02-15 南京大全自动化科技有限公司 一种馈线终端装置及其应用程序远程升级方法
CN106776402A (zh) * 2016-12-19 2017-05-31 中国电子科技集团公司第二十研究所 一种基于单片机的串行通信控制系统及方法
CN109388422A (zh) * 2018-09-26 2019-02-26 威胜集团有限公司 固件程序升级方法及其电能表
CN110377303A (zh) * 2019-07-10 2019-10-25 杭州洲钜电子科技有限公司 基于备用存储区方式升级程序的方法及其设备
CN110377303B (zh) * 2019-07-10 2022-11-04 杭州洲钜电子科技有限公司 基于备用存储区方式升级程序的方法及其设备
CN112394965A (zh) * 2019-08-13 2021-02-23 比亚迪股份有限公司 电池管理系统升级和运行方法,控制器,电池管理系统及存储介质
CN110502267A (zh) * 2019-08-28 2019-11-26 北京行易道科技有限公司 设备应用程序的更新方法、装置、设备及存储介质
CN112256596A (zh) * 2020-10-23 2021-01-22 英业达科技有限公司 一种电子装置固件中讯号中继器的刷新方法
CN112256596B (zh) * 2020-10-23 2022-07-05 英业达科技有限公司 一种电子装置固件中讯号中继器的刷新方法

Also Published As

Publication number Publication date
CN100368995C (zh) 2008-02-13

Similar Documents

Publication Publication Date Title
CN1851645A (zh) 一种单片机系统在运行中升级的装置和方法
CN1047450C (zh) 计算机系统中的动态联编方法及其装置
CN101414264B (zh) 一种软件版本的更新方法
CN1282089C (zh) 控制串行快闪存储器中适当执行的装置和方法及相应芯片
CN1310136C (zh) 使用猜测来源操作数以绕过装载/储存操作的系统与方法
CN108874438B (zh) 补丁生成方法、装置、电子设备及计算机存储介质
US20030088868A1 (en) Implementation of in system programming to update firmware on memory cards
CN1652253A (zh) 存储卡和半导体器件
CN1804799A (zh) 单片机在线加载升级方法及系统
CN1504896A (zh) 在非易失性存储器系统中执行块高速缓冲存储的方法和装置
CN1781075A (zh) 电子文件更新期间的设备存储器管理
CN1701307A (zh) 管理擦除计数区块的方法和设备
CN1698032A (zh) 从非线性存储器引导
IL166169A (en) Versioning support in object-oriented programming languages and tools
CN1855032A (zh) 微处理系统、总线地址转换方法以及程序修补方法
CN101046774A (zh) 使用替代页池管理dma写入页错误的计算机实现方法和装置
CN1794213A (zh) 直接存储器存取电路以及使用该电路的盘阵列设备
CN1470991A (zh) 一种采用与非闪存作系统存储器的方法及装置
EP1514176B1 (en) Method and apparatus for writing data to a non-volatile memory
CN101937398A (zh) 嵌入式系统内存池配置方法及装置
CN1276350C (zh) 经由缓冲区更新基本输入输出系统的系统及方法
CN1286008C (zh) 一种实现单片机软件版本更新的方法和装置
CN1945542A (zh) 一种嵌入式软件开发的方法及系统
CN112527365A (zh) 应用程序更新方法、非易失存储器、存储介质及家用电器
CN100345112C (zh) 操作系统的构件化扩充方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
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: 20080213

Termination date: 20100219