CN103777976A - 单片机及其在线升级方法和在线升级装置 - Google Patents
单片机及其在线升级方法和在线升级装置 Download PDFInfo
- Publication number
- CN103777976A CN103777976A CN201210413465.0A CN201210413465A CN103777976A CN 103777976 A CN103777976 A CN 103777976A CN 201210413465 A CN201210413465 A CN 201210413465A CN 103777976 A CN103777976 A CN 103777976A
- Authority
- CN
- China
- Prior art keywords
- chip microcomputer
- rompaq
- memory block
- user program
- interim
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种单片机及其在线升级方法和在线升级装置。在线升级方法包括:步骤一:在单片机的flash存储器预先划分的第二存储区中写入临时升级程序;步骤二:运行临时升级程序得到需要升级的第二用户程序的升级程序部分;步骤三:将第二用户程序的升级程序部分写到单片机的flash存储器预先划分的第一存储区;步骤四:运行第二用户程序的升级程序部分得到第二用户程序的非升级程序部分;步骤五:在单片机的flash存储器的第二存储区擦除临时升级程序,并将第二用户程序的非升级程序部分写到单片机的flash存储器的第一存储区和/或第二存储区。采用本发明的单片机及其在线升级方法和在线升级装置,可充分利用单片机内的存储器,避免存储空间的浪费。
Description
技术领域
本发明涉及一种单片机在线升级技术,特别是一种单片机及其在线升级方法和在线升级装置。
背景技术
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。
单片机程序一般在出厂前进行程序烧写,程序到了用户手中不能再次更改。为了解决该问题,中国专利申请03154290.5提出了一种单片机在线升级方法和装置,其把单片机flash程序分成两部分A程序和B程序,然后用A程序来升级B部分程序。其中A为升级程序,固化在flash中,不变。B为用户程序,由A来升级及写入,可变。然而,该技术方案的缺点是:
第一,A部分是固定不变的,如果A有问题,不能进行A程序的升级;
第二,A部分占用了单片机的固定一部分空间,对于单片机这种资料比较有限的MCU来说是一种极大的浪费。
发明内容
在下文中给出关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
本发明的一个主要目的在于提供一种单片机及其在线升级方法在线升级装置,其可充分利用单片机内的存储器,避免存储空间的浪费。
根据本发明的一方面,一种单片机的在线升级方法,包括:
步骤一:在单片机的flash存储器预先划分的第二存储区中写入临时升级程序;
步骤二:运行所述临时升级程序得到需要升级的第二用户程序的升级程序部分;
步骤三:将所述第二用户程序的升级程序部分写到所述单片机的flash存储器预先划分的第一存储区;
步骤四:运行所述第二用户程序的升级程序部分得到所述第二用户程序的非升级程序部分;
步骤五:在所述单片机的flash存储器的第二存储区擦除所述临时升级程序,并将所述第二用户程序的非升级程序部分写到所述单片机的flash存储器的第一存储区和/或第二存储区。
根据本发明的另一方面,一种单片机在线升级装置,包括flash存储器,还包括:
临时升级程序部,用于在单片机的flash存储器预先划分的第二存储区中写入临时升级程序;
第二升级程序部,用于运行所述临时升级程序得到需要升级的第二用户程序的升级程序部分;
第二升级程序写入部,用于将所述第二用户程序的升级程序部分写到所述单片机的flash存储器预先划分的第一存储区;
第二非升级程序部,用于运行所述第二用户程序的升级程序部分得到所述第二用户程序的非升级程序部分;
第二非升级程序写入部,用于在所述单片机的flash存储器的第二存储区擦除所述临时升级程序,并将所述第二用户程序的非升级程序部分写到所述单片机的flash存储器的第一存储区和/或第二存储区。
根据本发明的第三方面,一种单片机,包括单片机在线升级装置。
采用本发明的单片机及其在线升级方法和在线升级装置,可充分利用单片机内的存储器,避免存储空间的浪费。
附图说明
参照下面结合附图对本发明实施例的说明,会更加容易地理解本发明的以上和其它目的、特点和优点。附图中的部件只是为了示出本发明的原理。在附图中,相同的或类似的技术特征或部件将采用相同或类似的附图标记来表示。
图1为本发明的单片机的在线升级方法的一种实施方式的流程图;
图2为本发明的单片机的在线升级装置的一种实施方式的结构图;
图3为本发明的单片机的一种实施方式的结构图。
具体实施方式
下面参照附图来说明本发明的实施例。在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。应当注意,为了清楚的目的,附图和说明中省略了与本发明无关的、本领域普通技术人员已知的部件和处理的表示和描述。
参见图1所示,为发明的单片机的在先升级方法的一种实施方式的流程图。
在该实施方式中,单片机的在线升级方法,包括:
S10:在单片机的flash存储器预先划分的第二存储区中写入临时升级程序;临时升级程序例如可以通过串行总线,如uart,i2c等来获取。
S20:运行临时升级程序得到需要升级的第二用户程序的升级程序部分;
S30:将第二用户程序的升级程序部分写到单片机的flash存储器预先划分的第一存储区;
S40:运行第二用户程序的升级程序部分得到第二用户程序的非升级程序部分;
S50:在单片机的flash存储器的第二存储区擦除临时升级程序,并将第二用户程序的非升级程序部分写到单片机的flash存储器的第一存储区和/或第二存储区。例如,当第二用户程序的非升级程序部分所占空间小于第一存储区或第二存储区的剩余空间时,可将第二用户程序的非升级程序部分存入第一存储区或第二存储区。反之,当第二用户程序的非升级程序部分所占空间大于第一存储区或第二存储区的剩余空间时,可将第二用户程序的非升级程序部分存入第一存储区和第二存储区。
作为一种实施方式,在步骤S10之前:
将第一用户程序存储至单片机的flash存储器预先划分的第一存储区和第二存储区。
作为一种实施方式,步骤S10还包括:
擦除存储在第二存储区的第一用户程序。例如,在一种实施方式中,当单片机的flash存储器预先划分的第一存储区和第二存储区中存储有第一用户程序时,为了在第二存储区写入临时升级程序,可以擦除第一用户程序中存储在第二存储区中的部分。
作为一种实施方式,步骤S30还包括:
擦除存储在第一存储区的第一用户程序。例如,在一种实施方式中,当单片机的flash存储器预先划分的第一存储区和第二存储区中存储有第一用户程序时,在升级过程中,为了将第二用户程序的升级程序部分写到单片机的flash存储器预先划分的第一存储区,可以擦除第一用户程序中存储在第一存储区中的部分。
作为一种实施方式,存储在第一存储区的第一用户程序可以包括具有验证功能的验证功能部,该验证功能部可验证升级功能部,从而判断此次升级是否合法。例如,如果远程的升级服务器要对单片机进行升级,可先发送单片机的密码到单片机验证。单片机验证通过后,才会接受远程升级服务器发送的升级程序。
参见图2所示,为本发明的单片机在线升级装置的一种实施方式的结构图。
本实施方式的一种单片机在线升级装置10,包括flash存储器11,还包括:
临时升级程序部12,用于在单片机的flash存储器预先划分的第二存储区112中写入临时升级程序;
第二升级程序部13,用于运行临时升级程序得到需要升级的第二用户程序的升级程序部分;
第二升级程序写入部14,用于将第二用户程序的升级程序部分写到单片机的flash存储器预先划分的第一存储区111;
第二非升级程序部15,用于运行第二用户程序的升级程序部分得到第二用户程序的非升级程序部分;
第二非升级程序写入部16,用于在单片机的flash存储器的第二存储区112擦除临时升级程序,并将第二用户程序的非升级程序部分写到单片机的flash存储器11的第一存储区111和/或第二存储区112。
作为一种实施方式,临时升级程序部12在将临时升级程序写入单片机的flash存储器11预先划分的第二存储区112中之前,将第一用户程序存储至单片机的flash存储器11预先划分的第一存储区111和第二存储区112。
作为一种实施方式,临时升级程序部12在将临时升级程序写入单片机的flash存储器11预先划分的第二存储区112中之前,擦除存储在第二存储区112的第一用户程序。
作为一种实施方式,第二升级程序部13还可以擦除存储在第一存储区111的第一用户程序。
如图3所示,为本发明的单片机1的一种实施方式的结构图。本实施方式的单片机包括了单片机在线升级装置10。
采用本发明的单片机及其的在线升级方法和在线升级装置,可充分利用单片机内的存储器,避免存储空间的浪费。
上面对本发明的一些实施方式进行了详细的描述。如本领域的普通技术人员所能理解的,本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算设备(包括处理器、存储介质等)或者计算设备的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在了解本发明的内容的情况下运用他们的基本编程技能就能实现的,因此不需在此具体说明。
此外,显而易见的是,在上面的说明中涉及到可能的外部操作的时候,无疑要使用与任何计算设备相连的任何显示设备和任何输入设备、相应的接口和控制程序。总而言之,计算机、计算机系统或者计算机网络中的相关硬件、软件和实现本发明的前述方法中的各种操作的硬件、固件、软件或者它们的组合,即构成本发明的设备及其各组成部件。
因此,基于上述理解,本发明的目的还可以通过在任何信息处理设备上运行一个程序或者一组程序来实现。所述信息处理设备可以是公知的通用设备。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者设备的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储或者传输这样的程序产品的介质也构成本发明。显然,所述存储或者传输介质可以是本领域技术人员已知的,或者将来所开发出来的任何类型的存储或者传输介质,因此也没有必要在此对各种存储或者传输介质一一列举。
在本发明的设备和方法中,显然,各部件或各步骤是可以分解、组合和/或分解后重新组合的。这些分解和/或重新组合应视为本发明的等效方案。还需要指出的是,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。同时,在上面对本发明具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
虽然已经详细说明了本发明及其优点,但是应当理解在不超出由所附的权利要求所限定的本发明的精神和范围的情况下可以进行各种改变、替代和变换。而且,本申请的范围不仅限于说明书所描述的过程、设备、手段、方法和步骤的具体实施例。本领域内的普通技术人员从本发明的公开内容将容易理解,根据本发明可以使用执行与在此所述的相应实施例基本相同的功能或者获得与其基本相同的结果的、现有和将来要被开发的过程、设备、手段、方法或者步骤。因此,所附的权利要求旨在在它们的范围内包括这样的过程、设备、手段、方法或者步骤。
Claims (10)
1.一种单片机的在线升级方法,其特征在于,包括:
步骤一:在单片机的flash存储器预先划分的第二存储区中写入临时升级程序;
步骤二:运行所述临时升级程序得到需要升级的第二用户程序的升级程序部分;
步骤三:将所述第二用户程序的升级程序部分写到所述单片机的flash存储器预先划分的第一存储区;
步骤四:运行所述第二用户程序的升级程序部分得到所述第二用户程序的非升级程序部分;
步骤五:在所述单片机的flash存储器的第二存储区擦除所述临时升级程序,并将所述第二用户程序的非升级程序部分写到所述单片机的flash存储器的第一存储区和/或第二存储区。
2.根据权利要求1所述的单片机在线升级方法,其特征在于,在所述步骤一之前:
将第一用户程序存储至所述单片机的flash存储器预先划分的第一存储区和第二存储区。
3.根据权利要求2所述的单片机在线升级方法,其特征在于,所述步骤一还包括:
擦除存储在所述第二存储区的第一用户程序。
4.根据权利要求2或3所述的单片机在线升级方法,其特征在于,所述步骤三还包括:
擦除存储在所述第一存储区的第一用户程序。
5.根据权利要求1所述的单片机的在先升级方法,其特征在于:
存储在所述第一存储区的第一用户程序包括具有验证功能的验证功能部。
6.一种单片机在线升级装置,包括flash存储器,其特征在于,还包括:
临时升级程序部,用于在单片机的flash存储器预先划分的第二存储区中写入临时升级程序;
第二升级程序部,用于运行所述临时升级程序得到需要升级的第二用户程序的升级程序部分;
第二升级程序写入部,用于将所述第二用户程序的升级程序部分写到所述单片机的flash存储器预先划分的第一存储区;
第二非升级程序部,用于运行所述第二用户程序的升级程序部分得到所述第二用户程序的非升级程序部分;
第二非升级程序写入部,用于在所述单片机的flash存储器的第二存储区擦除所述临时升级程序,并将所述第二用户程序的非升级程序部分写到所述单片机的flash存储器的第一存储区和/或第二存储区。
7.根据权利要求6所述的单片机在线升级装置,其特征在于:
所述临时升级程序部在将临时升级程序写入单片机的flash存储器预先划分的第二存储区中之前,将第一用户程序存储至所述单片机的flash存储器预先划分的第一存储区和第二存储区。
8.根据权利要求7所述的单片机在线升级装置,其特征在于:
所述临时升级程序部在将临时升级程序写入单片机的flash存储器预先划分的第二存储区中之前,擦除存储在所述第二存储区的第一用户程序。
9.根据权利要求7或8所述的单片机在线升级装置,其特征在于:
所述第二升级程序部擦除存储在所述第一存储区的第一用户程序。
10.一种单片机,其特征在于:包括如权利要求6-9任意一项所述的单片机在线升级装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210413465.0A CN103777976B (zh) | 2012-10-25 | 2012-10-25 | 单片机及其在线升级方法和在线升级装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210413465.0A CN103777976B (zh) | 2012-10-25 | 2012-10-25 | 单片机及其在线升级方法和在线升级装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103777976A true CN103777976A (zh) | 2014-05-07 |
CN103777976B CN103777976B (zh) | 2018-06-22 |
Family
ID=50570254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210413465.0A Active CN103777976B (zh) | 2012-10-25 | 2012-10-25 | 单片机及其在线升级方法和在线升级装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103777976B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569833A (zh) * | 2016-11-14 | 2017-04-19 | 积成电子股份有限公司 | 一种具有二级boot的dsp程序在线升级方法 |
CN106775874A (zh) * | 2016-12-20 | 2017-05-31 | 珠海全志科技股份有限公司 | 终端设备的系统升级方法 |
CN108829427A (zh) * | 2017-05-05 | 2018-11-16 | 中国航空无线电电子研究所 | 一种航电设备应用程序固化方法 |
CN111813432A (zh) * | 2020-06-01 | 2020-10-23 | 大唐微电子技术有限公司 | 一种fpga配置升级方法和fpga平台 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1936844A (zh) * | 2005-09-23 | 2007-03-28 | 三星电子株式会社 | 用于更新软件的方法和系统 |
US7536536B1 (en) * | 2003-12-15 | 2009-05-19 | American Megatrends, Inc. | Method, system, and computer readable medium for updating and utilizing the contents of a non-essential region of a memory device |
CN102135922A (zh) * | 2011-03-18 | 2011-07-27 | 北京经纬恒润科技有限公司 | 应用程序的刷新方法和系统 |
-
2012
- 2012-10-25 CN CN201210413465.0A patent/CN103777976B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7536536B1 (en) * | 2003-12-15 | 2009-05-19 | American Megatrends, Inc. | Method, system, and computer readable medium for updating and utilizing the contents of a non-essential region of a memory device |
CN1936844A (zh) * | 2005-09-23 | 2007-03-28 | 三星电子株式会社 | 用于更新软件的方法和系统 |
CN102135922A (zh) * | 2011-03-18 | 2011-07-27 | 北京经纬恒润科技有限公司 | 应用程序的刷新方法和系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569833A (zh) * | 2016-11-14 | 2017-04-19 | 积成电子股份有限公司 | 一种具有二级boot的dsp程序在线升级方法 |
CN106569833B (zh) * | 2016-11-14 | 2020-04-10 | 积成电子股份有限公司 | 一种具有二级boot的dsp程序在线升级方法 |
CN106775874A (zh) * | 2016-12-20 | 2017-05-31 | 珠海全志科技股份有限公司 | 终端设备的系统升级方法 |
CN108829427A (zh) * | 2017-05-05 | 2018-11-16 | 中国航空无线电电子研究所 | 一种航电设备应用程序固化方法 |
CN111813432A (zh) * | 2020-06-01 | 2020-10-23 | 大唐微电子技术有限公司 | 一种fpga配置升级方法和fpga平台 |
Also Published As
Publication number | Publication date |
---|---|
CN103777976B (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101751285B (zh) | 用于不同种类处理单元的集中式设备虚拟化层 | |
CN104798056B (zh) | 用于执行触摸处理的处理器、方法、系统、设备和机器可读介质 | |
US20100333087A1 (en) | Allocation and Regulation of CPU Entitlement for Virtual Processors in Logical Partitioned Platform | |
CN104991872A (zh) | 一种实现智能设备驱动外围设备的方法及装置 | |
CN112035238A (zh) | 任务调度处理方法、装置、集群系统及可读存储介质 | |
CN103874984A (zh) | 可虚拟化以及前向兼容硬件-软件接口 | |
CN105653306B (zh) | 显示启动设置界面的方法和装置 | |
CN103777976A (zh) | 单片机及其在线升级方法和在线升级装置 | |
CN104679548B (zh) | 一种信息处理的方法及电子设备 | |
CN110196737A (zh) | 一种异构多核处理系统 | |
CN103064695A (zh) | 现场可编程门阵列的动态加载系统及其加载方法 | |
CN106462452A (zh) | 车辆控制装置 | |
CN103809995A (zh) | 单片机及其在线升级方法和在线升级装置 | |
CN103729219A (zh) | 一种uefi bios架构方法及系统 | |
US9804992B2 (en) | Computer system and method for accessing virtual machine | |
CN101369258B (zh) | 输入输出控制系统 | |
CN115344292B (zh) | 固件自动升级方法、装置、电子设备及可读存储介质 | |
CN115373826B (zh) | 一种基于云计算的任务调度方法及装置 | |
CN114020414B (zh) | Android系统与底层Linux共生方法、装置、电子设备及存储介质 | |
CN102193745B (zh) | 快闪存储器储存装置、其控制器与写入管理方法 | |
CN110377272B (zh) | 一种基于tbox的sdk的实现方法及装置 | |
CN108536455B (zh) | 芯片控制方法及终端设备 | |
KR101554556B1 (ko) | 모니터링장치 및 그 동작 방법 | |
CN105373412A (zh) | 虚拟机图形产生方法及系统 | |
CN112698945A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |