[发明专利]一种单片机及其在线升级的方法有效
申请号: | 201210061151.9 | 申请日: | 2012-03-09 |
公开(公告)号: | CN102622253A | 公开(公告)日: | 2012-08-01 |
发明(设计)人: | 赵世民 | 申请(专利权)人: | 瑞斯康达科技发展股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F11/08;G06F11/14 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;曲鹏 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 单片机 及其 在线 升级 方法 | ||
技术领域
本发明涉及单片机技术领域,具体涉及一种单片机及其在线升级的方法。
背景技术
现在的电子产品越来越广泛的采用单片机,应用广泛的单片机主要有ARM7,Cortex-M3,8051等处理器。应用软件在上面运行来完成产品各种各样的功能,电子产品销售到客户手中后,厂家要对产品进行维护与升级,这就需要对CPU内的软件在客户现场就能进行下载,并且尽量不影响产品的正常工作。
而传统的单片机软件升级主要是在接收到升级请求后,软件进入一个升级模式,只处理与升级相关的任务,不能运行正常的产品功能。升级完成软件后才能运行正常的用户程序的功能,升级过程中没有增加十分有效的安全机制来防止升级错误程序,通讯产生误码等问题的发生,经常导致现场或是远程升级后的程序不能正常的运行。
发明内容
本发明所要解决的技术问题是,提供一种单片机及其在线升级的方法,以实现单片机在线升级。
为了解决上述技术问题,本发明公开了一种单片机在线升级的方法,包括:
单片机接收升级数据包,该升级数据包中包含待升级的代码及其对应的升级标识信息,所述单片机从该升级数据包中获取升级标识信息,若所获取的升级标识信息指示其对应的待升级的代码为本单片机升级的用户代码时,则将所述升级数据包中待升级的代码存储到片外指定位置;
单片机重启后,将片外指定位置中存储的代码加载至单片机用户区。
较佳地,上述方法中,所获取的升级标识信息指示其对应的待升级的代码为本单片机升级的用户代码指:
所述获取的升级标识信息包括升级代码类型和升级代码适用的单片机标识,当所述获取的升级标识信息中的升级代码类型为用户代码,升级代码适用的单片机标识为本单片机标识时,确定该升级标识信息指示其对应的待升级的代码为本单片机升级的用户代码。
较佳地,上述方法还包括,当所述获取的升级标识信息中的升级代码类型为引导代码,升级代码适用的单片机标识为本单片机标识时,确定该升级标识信息指示其对应的待升级的代码为本单片机升级的引导代码,则在本单片机在线工作同时,直接将所述升级数据包中待升级的代码写入单片机引导区。
较佳地,上述方法中,所述单片机将所述升级数据包中待升级的代码存储到片外指定位置后,直接重启,或者在本单片机空闲时重启。
较佳地,上述方法中,在所述单片机运行本单片机用户区中的用户代码过程中,由运行的用户代码接收所述升级数据包,从该升级数据包中获取升级标识信息,若所获取的升级标识信息指示其对应的待升级的代码为本单片机升级的用户代码时,运行的用户代码将所述升级数据包中待升级的代码存储到片外指定位置;
所述单片机重启后,运行本单片机引导区中的引导代码,由运行的引导代码将片外指定位置中存储的代码加载至单片机用户区。
较佳地,上述方法中,运行的用户代码将所述升级数据包中待升级的代码存储到片外指定位置后,还设置所述片外指定位置的标志为有用户代码升级请求;
所述单片机重启后,运行的引导代码读取所述片外指定位置的标志,当所读取的标志为用户代码升级请求,则将所述片外指定位置中的代码写入单片机用户区,并在写入操作结束后,清除所述片外指定位置的标志。
本发明还公开了一种单片机,包括:
接收模块,接收升级数据包,从中获取升级标识信息;
备份模块,在所获取的升级标识信息指示其对应的待升级的代码为本单片机升级的用户代码时,将所述升级数据包中待升级的代码存储到片外指定位置;
升级模块,单片机重启后,将片外指定位置中存储的用户代码加载至单片机用户区。
较佳地,上述单片机中,所述升级模块,在所获取的升级标识信息指示其对应的待升级的代码为本单片机升级的引导代码时,直接将所述升级数据包中待升级的代码写入单片机引导区。
较佳地,上述单片机中,所述备份模块将所述升级数据包中待升级的代码存储到片外指定位置后,直接重启本单片机,或者在本单片机空闲时重启本单片机。
较佳地,上述单片机中,所述升级模块,将所述升级数据包中待升级的代码存储到片外指定位置后,设置所述片外指定位置的标志为有用户代码升级请求,在单片机重启后,读取所述片外指定位置的标志,当所读取的标志为用户代码升级请求,则将所述片外指定位置中的用户代码写入单片机用户区,在写入操作结束后,清除所述片外指定位置的标志。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于瑞斯康达科技发展股份有限公司,未经瑞斯康达科技发展股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210061151.9/2.html,转载请声明来源钻瓜专利网。