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