[发明专利]在线升级微控制器烧录代码的方法及装置在审
申请号: | 202010595988.6 | 申请日: | 2020-06-24 |
公开(公告)号: | CN111752589A | 公开(公告)日: | 2020-10-09 |
发明(设计)人: | 王晓丹;马先明 | 申请(专利权)人: | 研祥智能科技股份有限公司 |
主分类号: | G06F8/656 | 分类号: | G06F8/656;G06F8/654;G06F8/71;G06F8/61;G06F9/4401 |
代理公司: | 北京兰亭信通知识产权代理有限公司 11667 | 代理人: | 孙峰芳 |
地址: | 518107 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 在线 升级 控制器 代码 方法 装置 | ||
本发明提供一种在线升级微控制器烧录代码的方法及装置,所述方法包括:向微控制器发送复位信号,以使微控制器进入ISP区并运行ISP引导加载程序,其中所述微控制器支持在线系统编程功能;基于SMBUS协议读取微控制器的FLASH中当前运行的烧录代码;将新的烧录代码与微控制器的FLASH中当前运行的烧录代码进行比较,当两者不一致时,将新的烧录代码基于SMBUS协议传输至微控制器,以使所述微控制器在线接收新的烧录代码并将新的烧录代码加载到FLASH。本发明能够实现微控制器的在线升级,不用拆机,便于工程维护。
技术领域
本发明涉及芯片在线升级技术领域,尤其涉及一种在线升级微控制器烧录代码的方法及装置。
背景技术
工控机主板的控制芯片一般采用微控制器(MCU,Micro Controller Unit)来实现,MCU可以是如M054等系列微控制器,M054烧录代码预烧录后,如需升级M054的烧录代码,常采用离线升级,即使用专用烧录器升级,如图1所示,烧录器通过USB数据线与PC端相连,M054通过JTAG接口,遵循JTAG协议与烧录器相连,之后,用PC端的应用程序对M054升级烧录代码。这种升级方式需要专用烧录器才能升级,整机状态时还需要拆机,工程维护不方便。
发明内容
为解决上述问题,本发明提供一种在线升级微控制器烧录代码的方法及装置,能够实现微控制器的在线升级,不用拆机,便于工程维护。
第一方面,本发明提供一种在线升级微控制器烧录代码的方法,所述方法包括:
向微控制器发送复位信号,以使所述微控制器进入ISP区并运行ISP引导加载程序,其中所述微控制器支持在线系统编程功能;
基于SMBUS协议读取所述微控制器的FLASH中当前运行的烧录代码;
将新的烧录代码与所述微控制器的FLASH中当前运行的烧录代码进行比较,当两者不一致时,将所述新的烧录代码基于SMBUS协议传输至所述微控制器,以使所述微控制器在线接收所述新的烧录代码并将所述新的烧录代码加载到FLASH。
可选地,所述基于SMBUS协议读取所述微控制器的FLASH中当前运行的烧录代码,包括:
2-1)将读取地址设置为FLASH的起始地址;
2-2)发送读FLASH的第一交互命令,所述第一交互命令包括所述读取地址;
2-3)若读取成功,保存读取到的数据;
2-4)判断所述读取地址是否结束,若没有结束,则在当前读取地址上加16,得到新的读取地址,返回步骤2-2);
2-5)重复执行2-2)~2-4),直至所述读取地址结束。
可选地,所述将所述新的烧录代码基于SMBUS协议传输至所述微控制器,包括:
3-1)判断新的烧录代码的数据长度是否满足FLASH的大小要求;
3-2)若满足,将写地址设置为FLASH的起始地址;
3-3)从新的烧录代码中获取4个字节数据;
3-4)发送写FLASH的第二交互命令,所述第二交互命令包括所述写地址和4个字节数据;
3-5)若写成功,则判断新的烧录代码是否读取完毕,若没读完,则在当前写地址上加4,得到新的写地址,返回步骤3-3);
3-6)重复执行3-3)~3-5),直至读完所有新的烧录代码。
可选地,在基于SMBUS协议读取所述微控制器的FLASH中当前运行的烧录代码的步骤之前,所述方法还包括:
检测所述微控制器是否运行在ISP区;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于研祥智能科技股份有限公司,未经研祥智能科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010595988.6/2.html,转载请声明来源钻瓜专利网。