[发明专利]一种控制器及其软件升级方法和装置在审
申请号: | 201910292581.3 | 申请日: | 2019-04-12 |
公开(公告)号: | CN110134415A | 公开(公告)日: | 2019-08-16 |
发明(设计)人: | 冯振宇;刘志赟 | 申请(专利权)人: | 深圳市致宸信息科技有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/61 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 江欣 |
地址: | 518000 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 升级数据 控制器 存储位置 软件升级 应用程序 备份区 存储 方法和装置 升级指令 启动时 运行区 烧写 重启 写入 | ||
一种控制器的软件升级方法包括:当控制器启动时,进入Bootloader并判断指定存储位置是否存储有升级数据;如果指定存储位置没有存储升级数据,则运行预先烧写的APP应用程序;在运行APP应用程序时,如果接收到升级指令,则重新进入Bootloader,接收升级数据并存放在APP备份区;当升级数据接收完毕后,重启进入Bootloader,将APP备份区的升级数据写入APP运行区。由于不需要另外设置PCB板,有利于节省成本,并且不需要设置特殊接口,操作更加简单高效。
技术领域
本申请属于控制器领域,尤其涉及一种控制器及其软件升级方法和装置。
背景技术
目前的单片机,在更新内部程序时,一般需要使用单片机厂商提供的硬件下载接口、烧写器、上位机(可以直接发出操控命令的计算机,一般是电脑)烧写软件才能对单片机(充当下位机,下位机是直接控制设备获取设备状况的计算机,一般是单片机或其他类型的为控制器)进行更新。例如常用的ST(意法半导体)单片机ST8或ST32系列,硬件下载调试接口分别为SWIM(Single Wire Interface Module,单线接口模块)和SWD(Serial WireDebug,串行调试接口)。
由于目前采用的程序下载(烧写)方式需要电路设计时预留下载电路,因此需要占用一定PCB(Printed Circuit Board,印制电路板)面积,增加了硬件成本,如果电路复杂,则还会增加PCB布线难度;由于调试接口通信距离短,无法远程下载,需要使用硬件下载工具(ST-LINK)手动下载,效率低下;并且由于嵌入式产品出货后不会在产品外部留调试下载接口,因此当更新电路板板载单片机内部程序时往往要拆开机箱进行下载,十分麻烦。
发明内容
有鉴于此,本申请实施例提供了一种控制器及其软件升级方法和装置,以解决现有技术中对控制器进行升级时,需要占用一定的PCB面积,效率低并且操作麻烦的问题。
本申请实施例的第一方面提供了一种控制器的软件升级方法,所述控制器的软件升级方法包括:
当控制器启动时,进入启动加载部分Bootloader并判断指定存储位置是否存储有升级数据;
如果指定存储位置没有存储升级数据,则运行预先烧写的APP应用程序;
在运行APP应用程序时,如果接收到升级指令,则重新进入启动加载部分Bootloader,接收升级数据并存放在APP备份区;
当升级数据接收完毕后,重启进入启动加载部分Bootloader,将APP备份区的升级数据写入APP运行区。
结合第一方面,在第一方面的第一种可能实现方式中,所述在运行APP应用程序时,如果接收到升级指令,则重新进入启动加载部分Bootloader,接收升级数据并存放在APP备份区的步骤包括:
在运行APP应用程序时,如果接收到升级指令,则返回确认指令,向存储器特定地址写入升级标志位并进入启动加载部分Bootloader;
在启动加载部分Bootloader检测到所述标志位,循环等待接收升级命令;
接收到升级命令并回复确认后,接收升级数据并存放在APP备份区。
结合第一方面,在第一方面的第二种可能实现方式中,所述接收升级数据并存放在APP备份区的步骤包括:
接收升级命令,并所述升级命令无误后,发送包括校验信息的响应数据;
在所述响应信息被校验无误后,接收包括校验信息和序列信息的升级数据包;
根据所述校验信息确认升级数据无误后,设置用于数据提取操作的接收完成标志位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市致宸信息科技有限公司,未经深圳市致宸信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910292581.3/2.html,转载请声明来源钻瓜专利网。