[发明专利]在线升级微控制器烧录代码的方法及装置在审
申请号: | 202010595988.6 | 申请日: | 2020-06-24 |
公开(公告)号: | CN111752589A | 公开(公告)日: | 2020-10-09 |
发明(设计)人: | 王晓丹;马先明 | 申请(专利权)人: | 研祥智能科技股份有限公司 |
主分类号: | G06F8/656 | 分类号: | G06F8/656;G06F8/654;G06F8/71;G06F8/61;G06F9/4401 |
代理公司: | 北京兰亭信通知识产权代理有限公司 11667 | 代理人: | 孙峰芳 |
地址: | 518107 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 在线 升级 控制器 代码 方法 装置 | ||
1.一种在线升级微控制器烧录代码的方法,其特征在于,所述方法包括:
向微控制器发送复位信号,以使所述微控制器进入ISP区并运行ISP引导加载程序,其中所述微控制器支持在线系统编程功能;
基于SMBUS协议读取所述微控制器的FLASH中当前运行的烧录代码;
将新的烧录代码与所述微控制器的FLASH中当前运行的烧录代码进行比较,当两者不一致时,将所述新的烧录代码基于SMBUS协议传输至所述微控制器,以使所述微控制器在线接收所述新的烧录代码并将所述新的烧录代码加载到FLASH。
2.根据权利要求1所述的方法,其特征在于,所述基于SMBUS协议读取所述微控制器的FLASH中当前运行的烧录代码,包括:
2-1)将读取地址设置为FLASH的起始地址;
2-2)发送读FLASH的第一交互命令,所述第一交互命令包括所述读取地址;
2-3)若读取成功,保存读取到的数据;
2-4)判断所述读取地址是否结束,若没有结束,则在当前读取地址上加16,得到新的读取地址,返回步骤2-2);
2-5)重复执行2-2)~2-4),直至所述读取地址结束。
3.根据权利要求1所述的方法,其特征在于,所述将所述新的烧录代码基于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),直至读完所有新的烧录代码。
4.根据权利要求1所述的方法,其特征在于,在基于SMBUS协议读取所述微控制器的FLASH中当前运行的烧录代码的步骤之前,所述方法还包括:
检测所述微控制器是否运行在ISP区;
若是,则发送指令使所述微控制器继续停留在ISP模式,以便执行后续的基于SMBUS协议读取所述微控制器的FLASH中当前运行的烧录代码的步骤,否则重新向所述微控制器发送复位信号。
5.一种在线升级微控制器烧录代码的装置,其特征在于,所述装置包括:
复位模块,用于向微控制器发送复位信号,以使所述微控制器进入ISP区并运行ISP引导加载程序,其中所述微控制器支持在线系统编程功能;
读模块,用于基于SMBUS协议读取所述微控制器的FLASH中当前运行的烧录代码;
比较模块,用于将新的烧录代码与所述微控制器的FLASH中当前运行的烧录代码进行比较;
写模块,用于当新的烧录代码与所述微控制器的FLASH中当前运行的烧录代码不一致时,将所述新的烧录代码基于SMBUS协议传输至所述微控制器,以使所述微控制器在线接收所述新的烧录代码并将所述新的烧录代码加载到FLASH。
6.根据权利要求5所述的装置,其特征在于,所述读模块具体用于:
2-1)将读取地址设置为FLASH的起始地址;
2-2)发送读FLASH的第一交互命令,所述第一交互命令包括所述读取地址;
2-3)若读取成功,保存读取到的数据;
2-4)判断所述读取地址是否结束,若没有结束,则在当前读取地址上加16,得到新的读取地址,返回步骤2-2);
2-5)重复执行2-2)~2-4),直至所述读取地址结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于研祥智能科技股份有限公司,未经研祥智能科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010595988.6/1.html,转载请声明来源钻瓜专利网。