[发明专利]基于CANOPEN协议的嵌入式软件升级方法有效
申请号: | 201310581178.5 | 申请日: | 2013-11-19 |
公开(公告)号: | CN103559066B | 公开(公告)日: | 2017-03-08 |
发明(设计)人: | 戴永佳;张世平;范宣禄;张如欣 | 申请(专利权)人: | 上海创程车联网络科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;H04L29/06 |
代理公司: | 上海科盛知识产权代理有限公司31225 | 代理人: | 宣慧兰 |
地址: | 201101 上海市闵行区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 canopen 协议 嵌入式 软件 升级 方法 | ||
1.一种基于CANOPEN协议的嵌入式软件升级方法,该方法应用于通过CAN总线网络连接的上位机和下位机所组成的系统中,其特征在于,包括以下步骤:
1)上位机与下位机进行联机,联机成功后执行步骤2);
2)上位机与下位机进行编程地址有效性的确认,当确认有效后,分包发送块数据;
3)下位机收到块数据的最后一包后回复确认,上位机收到下位机最后一包的回复后,发送包含CRC校验码的块结束命令给下位机,;
4)下位机收到块结束命令后,进行CRC校验,若CRC校验成功,下位机把收到的数据写入存储器中,回复块结束命令给上位机;若CRC校验失败,下位机回复下载错误报文,上位机收到下载错误报文,结束程序升级;
5)上位机收到块结束命令后,判断应用程序的数据是否全部发送完成,若应用程序的所有数据都发送成功后,上位机发送编程结束命令给下位机,下位机收到后,回复编程结束应答给上位机,并跳转到存储器的应用程序区执行应用程序,程序升级结束;若应用程序的数据未发送完毕,则返回步骤2)。
2.根据权利要求1所述的一种基于CANOPEN协议的嵌入式软件升级方法,其特征在于,所述步骤1)具体包含以下步骤:
11)上位机软件解析要发送的应用程序文件,并等待下位机的联机请求。
12)下位机重新上电,进行初始化,然后发送Boot-up报文,通知上位机当前处于预操作状态,上位机收到下位机发送的Boot-up报文,发送联机请求报文给下位机;
13)下位机收到联机请求报文后,回复联机应答,若上位机收到该联机应答,则联机成功;若上位机未收到下位机的联机应答,则联机失败,结束程序升级。
3.根据权利要求2所述的一种基于CANOPEN协议的嵌入式软件升级方法,其特征在于,步骤12)中的初始化包括:首先初始化RAM基址,接着初始化堆栈,关闭看门狗,随后初始化全局变量,接着初始化CAN通讯接口,以完成Bootloader自身环境初始化。
4.根据权利要求1所述的一种基于CANOPEN协议的嵌入式软件升级方法,其特征在于,执行步骤2)之前,还需要执行如下步骤:
A)联机成功后,上位机向下位机发送擦除请求,下位机收到擦除请求后执行擦除操作;
B)下位机擦除成功后,向上位机回复擦除成功应答,下位机擦除失败,则回复擦除失败应答;若上位机收到擦除失败应答,则结束程序升级;
C)若上位机收到擦除成功应答,则进行继续执行步骤2)。
5.根据权利要求1所述的一种基于CANOPEN协议的嵌入式软件升级方法,其特征在于,步骤2)具体包括以下步骤:
21)上位机向下位机发送编程地址报文;
22)下位机收到编程地址报文,对其编程地址进行确认,若有效,则向上位机回复编程地址有效报文;若无效,则回复编程地址无效报文,上位机收到编程地址无效报文后,结束程序升级;
23)上位机收到编程地址有效报文后,向下位机发送下载启动命令,下位机收到下载启动命令后,回复下载启动应答;
24)上位机收到下位机回复的下载启动应答后,开始分包发送块数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海创程车联网络科技有限公司,未经上海创程车联网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310581178.5/1.html,转载请声明来源钻瓜专利网。