[发明专利]一种单片机的程序烧写及运行方法在审
申请号: | 201910172936.5 | 申请日: | 2019-03-07 |
公开(公告)号: | CN110058865A | 公开(公告)日: | 2019-07-26 |
发明(设计)人: | 刁红泉;王刚;权太伟;周奉宝 | 申请(专利权)人: | 埃斯倍风电科技(青岛)有限公司 |
主分类号: | G06F8/61 | 分类号: | G06F8/61 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 266101 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 烧写 存储空间 单片机 芯片存储 旧程序 程序存储空间 程序指针 烧写程序 运行程序 标志位 擦除 上电 失败 保留 升级 成功 | ||
本发明公开了一种单片机的程序烧写及运行方法,包括如下步骤:(1)将芯片存储空间分为A,B两部分;(2)单片机上电后,程序指针到达bootloader,然后根据程序存储空间标志位内的数值,为1的话运行存储空间A内的程序,为0的话运行存储空间B内的程序。本发明所公开的程序烧写及运行方法,将芯片存储空间分为A,B两部分,程序在各自独立的存储空间内运行。在每次烧写程序时保留当前存储空间内运行的旧程序,对非当前存储空间内的非运行程序进行擦除和重新烧写,在重新烧写成功后才运行新烧写的程序,这样即使烧写失败,还有旧程序可以运行,这样既防止单片机因程序烧写失败而变砖,又提高了烧写效率、方便程序的现场升级,同时还降低了程序的运行风险。
技术领域
本发明属于单片机领域,特别涉及该领域中的一种单片机的程序烧写及运行方法。
背景技术
目前单片机的程序烧写及运行步骤如图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两部分;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于埃斯倍风电科技(青岛)有限公司,未经埃斯倍风电科技(青岛)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910172936.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:微服务的部署方法及装置
- 下一篇:集群组件安装方法及设备