CN110058865A - 一种单片机的程序烧写及运行方法 - Google Patents

一种单片机的程序烧写及运行方法 Download PDF

Info

Publication number
CN110058865A
CN110058865A CN201910172936.5A CN201910172936A CN110058865A CN 110058865 A CN110058865 A CN 110058865A CN 201910172936 A CN201910172936 A CN 201910172936A CN 110058865 A CN110058865 A CN 110058865A
Authority
CN
China
Prior art keywords
program
memory space
programming
run
chip microcontroller
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.)
Pending
Application number
CN201910172936.5A
Other languages
English (en)
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.)
SSB WIND ENERGY TECHNOLOGY (QINGDAO) Co Ltd
Original Assignee
SSB WIND ENERGY TECHNOLOGY (QINGDAO) 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 SSB WIND ENERGY TECHNOLOGY (QINGDAO) Co Ltd filed Critical SSB WIND ENERGY TECHNOLOGY (QINGDAO) Co Ltd
Priority to CN201910172936.5A priority Critical patent/CN110058865A/zh
Publication of CN110058865A publication Critical patent/CN110058865A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

本发明公开了一种单片机的程序烧写及运行方法,包括如下步骤:(1)将芯片存储空间分为A,B两部分;(2)单片机上电后,程序指针到达bootloader,然后根据程序存储空间标志位内的数值,为1的话运行存储空间A内的程序,为0的话运行存储空间B内的程序。本发明所公开的程序烧写及运行方法,将芯片存储空间分为A,B两部分,程序在各自独立的存储空间内运行。在每次烧写程序时保留当前存储空间内运行的旧程序,对非当前存储空间内的非运行程序进行擦除和重新烧写,在重新烧写成功后才运行新烧写的程序,这样即使烧写失败,还有旧程序可以运行,这样既防止单片机因程序烧写失败而变砖,又提高了烧写效率、方便程序的现场升级,同时还降低了程序的运行风险。

Description

一种单片机的程序烧写及运行方法
技术领域
本发明属于单片机领域,特别涉及该领域中的一种单片机的程序烧写及运行方法。
背景技术
目前单片机的程序烧写及运行步骤如图1所示,在单片机上电的时候,程序指针经bootloader到达存储空间,然后就一直运行存储空间内的程序。当接收到要烧写新程序的指令后,程序指针跳转回bootloader中,等待擦除存储空间内的旧程序,待擦除成功后,再把新程序烧写进存储空间,然后继续运行存储空间内的新程序。普通的bootloader烧写程序时会因死机而失败,而一旦烧写失败,则既无法运行之前的旧程序,又没法运行新程序,造成单片机变砖。
发明内容
本发明所要解决的技术问题就是提供一种可以防止单片机因程序烧写失败而变砖的程序烧写及运行方法。
本发明采用如下技术方案:
一种单片机的程序烧写及运行方法,其改进之处在于,包括如下步骤:
(1)将芯片存储空间分为A,B两部分;
(2)单片机上电后,程序指针到达bootloader,然后根据程序存储空间标志位内的数值,为1的话运行存储空间A内的程序,为0的话运行存储空间B内的程序;
(31)如果运行存储空间A内的程序,在接收到重新烧写程序的指令后,先跳转到bootloader,然后擦除存储空间B内的程序并重新烧写,烧写成功后将程序存储空间标志位内的数值改为0并运行存储空间B内新烧写的程序;
(32)如果运行存储空间B内的程序,在接收到重新烧写程序的指令后,先跳转到bootloader,然后擦除存储空间A内的程序并重新烧写,烧写成功后将程序存储空间标志位内的数值改为1并运行存储空间A内新烧写的程序。
本发明的有益效果是:
本发明所公开的程序烧写及运行方法,将芯片存储空间分为A,B两部分,程序在各自独立的存储空间内运行。在每次烧写程序时保留当前存储空间内运行的旧程序,对非当前存储空间内的非运行程序进行擦除和重新烧写,在重新烧写成功后才运行新烧写的程序,这样即使烧写失败,还有旧程序可以运行,这样既防止单片机因程序烧写失败而变砖,又提高了烧写效率、方便程序的现场升级,同时还降低了程序的运行风险。
附图说明
图1是现有单片机的程序烧写及运行方法步骤图;
图2是本发明实施例1所公开单片机的程序烧写及运行方法步骤图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1,如图2所示,本实施例公开了一种单片机的程序烧写及运行方法,包括如下步骤:
(1)将芯片存储空间分为A,B两部分;
(2)单片机上电后,程序指针到达bootloader,然后根据程序存储空间标志位内的数值,为1的话运行存储空间A内的程序,为0的话运行存储空间B内的程序;
(31)如果运行存储空间A内的程序,在接收到重新烧写程序的指令后,先跳转到bootloader,然后擦除存储空间B内的程序并重新烧写,烧写成功后将程序存储空间标志位内的数值改为0并运行存储空间B内新烧写的程序;
(32)如果运行存储空间B内的程序,在接收到重新烧写程序的指令后,先跳转到bootloader,然后擦除存储空间A内的程序并重新烧写,烧写成功后将程序存储空间标志位内的数值改为1并运行存储空间A内新烧写的程序。

Claims (1)

1.一种单片机的程序烧写及运行方法,其特征在于,包括如下步骤:
(1)将芯片存储空间分为A,B两部分;
(2)单片机上电后,程序指针到达bootloader,然后根据程序存储空间标志位内的数值,为1的话运行存储空间A内的程序,为0的话运行存储空间B内的程序;
(31)如果运行存储空间A内的程序,在接收到重新烧写程序的指令后,先跳转到bootloader,然后擦除存储空间B内的程序并重新烧写,烧写成功后将程序存储空间标志位内的数值改为0并运行存储空间B内新烧写的程序;
(32)如果运行存储空间B内的程序,在接收到重新烧写程序的指令后,先跳转到bootloader,然后擦除存储空间A内的程序并重新烧写,烧写成功后将程序存储空间标志位内的数值改为1并运行存储空间A内新烧写的程序。
CN201910172936.5A 2019-03-07 2019-03-07 一种单片机的程序烧写及运行方法 Pending CN110058865A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910172936.5A CN110058865A (zh) 2019-03-07 2019-03-07 一种单片机的程序烧写及运行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910172936.5A CN110058865A (zh) 2019-03-07 2019-03-07 一种单片机的程序烧写及运行方法

Publications (1)

Publication Number Publication Date
CN110058865A true CN110058865A (zh) 2019-07-26

Family

ID=67316083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910172936.5A Pending CN110058865A (zh) 2019-03-07 2019-03-07 一种单片机的程序烧写及运行方法

Country Status (1)

Country Link
CN (1) CN110058865A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112596766A (zh) * 2020-12-24 2021-04-02 浙江合众新能源汽车有限公司 基于Bootloader的软件升级方法及装置
CN116360846A (zh) * 2022-12-05 2023-06-30 北京白驹易行科技有限公司 一种对微服务变更的正确性对比方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030140238A1 (en) * 2002-01-22 2003-07-24 Texas Instruments Incorporated Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory
CN104750505A (zh) * 2013-12-26 2015-07-01 北京谊安医疗***股份有限公司 用于单片机的在线升级方法及***
CN105183501A (zh) * 2015-08-10 2015-12-23 珠海格力电器股份有限公司 防止在线程序烧写出错的方法
CN107179909A (zh) * 2017-05-16 2017-09-19 广东美的暖通设备有限公司 软件升级方法、装置及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030140238A1 (en) * 2002-01-22 2003-07-24 Texas Instruments Incorporated Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory
CN104750505A (zh) * 2013-12-26 2015-07-01 北京谊安医疗***股份有限公司 用于单片机的在线升级方法及***
CN105183501A (zh) * 2015-08-10 2015-12-23 珠海格力电器股份有限公司 防止在线程序烧写出错的方法
CN107179909A (zh) * 2017-05-16 2017-09-19 广东美的暖通设备有限公司 软件升级方法、装置及计算机可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112596766A (zh) * 2020-12-24 2021-04-02 浙江合众新能源汽车有限公司 基于Bootloader的软件升级方法及装置
CN116360846A (zh) * 2022-12-05 2023-06-30 北京白驹易行科技有限公司 一种对微服务变更的正确性对比方法及***
CN116360846B (zh) * 2022-12-05 2023-11-17 北京白驹易行科技有限公司 一种对微服务变更的正确性对比方法及***

Similar Documents

Publication Publication Date Title
CN106095620B (zh) 一种嵌入式Linux存储分区的开发方法
CN105159777B (zh) 进程的内存回收方法及装置
CN104021043B (zh) 批量应用程序的中断重入方法及***
CN102831022B (zh) 修改***配置的方法和装置
CN110058865A (zh) 一种单片机的程序烧写及运行方法
US9710340B2 (en) Replacement of a corrupt driver variable record
CN109284252B (zh) 一种通信设备中轻量级文件***管理方法
CN103020304A (zh) 一种数据处理方法及设备
CN105652115A (zh) 主板测试方法及其***、主板程序安装方法及其***
CN103257887B (zh) 终端和进程控制方法
CN108459885A (zh) 一种资源分散加载的方法及其单片机
US8990532B2 (en) Method of managing memory in computer system, computer system and memory managing program
CN104572454B (zh) 一种定位资源的方法及装置
CN106055404A (zh) 一种清理后台应用程序的方法和装置
CN106371871A (zh) 一种防止升级不匹配的bin文件的方法
CN115065574B (zh) 车辆控制器的唤醒方法、装置、电子设备和自动驾驶车辆
JP2000242484A (ja) 制御プログラムの変更方法
CN109947576A (zh) 一种虚拟机内部代理程序管理的方法
CN102855162B (zh) 一种数据更新方法、数据更新***及存储器
CN106708518B (zh) 一种染色器驱动运行时重构方法
CN103294606A (zh) 一种分配内存及检测内存溢出的方法和装置
CN106886444A (zh) 一种在线编程方法及装置
CN104750505A (zh) 用于单片机的在线升级方法及***
EP2854036A1 (en) Storage space mapping method and device
CN104572450B (zh) 一种检测资源配置的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190726