[发明专利]一种基于CAN总线的智能型BootLoader无效

专利信息
申请号: 201110152161.9 申请日: 2011-06-08
公开(公告)号: CN102253849A 公开(公告)日: 2011-11-23
发明(设计)人: 甘德洪;李渔;万礼华;张仁智 申请(专利权)人: 重庆金美通信有限责任公司
主分类号: G06F9/445 分类号: G06F9/445
代理公司: 暂无信息 代理人: 暂无信息
地址: 400030 *** 国省代码: 重庆;85
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 can 总线 智能型 bootloader
【说明书】:

技术领域

发明涉及一种在汽车电子中电控单元应用程序更新启动用的BootLoader,尤其涉及一种基于CAN总线的智能型BootLoader。

背景技术

传统的汽车电控单元中用于更新,启动应用程序的BootLoader几乎都是基于串口方式。串口通信简单,抗干扰能力差,通信距离短等缺点,在恶劣汽车电磁环境中,通信很不可靠,实用效果较低。

传统的汽车电控单元BootLoader,一般由以下两种模式开发的,第一种:应用程序自身带BootLoader功能,即BootLoader代码和应用程序是一个软件工程,一起编译成电控单元镜像文件,烧入FLASH中,上电运行后,一旦检测到程序更新命令,BootLoader代码便把自身拷贝到内存中运行,和上位机按照特定的文件传输协议,进行程序更新,此种模式的优点是程序更新较为自由,只要电控单元在运行,随时都可以程序更新,而不受时间限制,在量产电控单元时,只需通过仿真器一次性烧入镜像文件,电控单元FLASH中代码便具有BootLoader代码和应用程序代码,极大提高了生产效率,缺点是在以后的程序更新途中,一旦断电(蓄电池电压突然过低,或不小心钥匙打到OFF档),就会造成FLASH中的数据不完整,破坏BootLoader代码,且再次上电后不能再更新程序,此种情况下只能开盖(电控单元在车上开盖将是一件很麻烦的事情),通过仿真器再烧入镜像文件;第二种:BootLoader软件和电控单元应用程序分别属于两个不同的软件工程,在生产时,先通过仿真器把BootLoader镜像文件烧入FLASH中,再通过BootLoader方式把镜像文件烧入FLASH中,量产时一个产品需两次烧入镜像文件,此种方式优点是BootLoader和应用程序是独立的,不存在当更新程序时偶然断电,破坏BootLoader的问题,此种模式缺点是在量产电控单元时,每次都需烧入两次镜像文件,生产效率较低,且当BootLoader自身有Bug,需要更新BootLoader时,则只能开盖通过仿真器把BootLoader镜像文件烧入FLASH中。

发明内容

本发明提出了一种新型基于CAN总线的新型BootLoader,该BootLoader采用差分信号进行通信;除基本的初始化代码外,其余代码都是PIC型代码,在BootLoader工作时,既可以更新电控单元应用程序,也可以更新BootLoader自身;BootLoader和应用程序代码是一个软件工程,一起编译成电控单元镜像文件,实现更新电控程序无需开盖和只需一次性烧入。

当电控单元上电以后,CAN BootLoader初始化CPU锁相环时钟频率、CAN以及Flash,然后检查App Flash空间有无应用程序,若有应用程序,则启动App应用程序;若没有应用程序,则重新映射BootLoader代码,进入BootLoader模式,并根据接收到上位机的命令类型更新BootLoader程序或者更新App应用程序。

本发明有益的技术效果是:该BootLoader基于CAN总线,抗干扰能力强;在电控单元FLASH中只要有本BootLoader,在任何情况下程序更新都不用开盖,方便,易用;BootLoader和应用程序编译成一个镜像文件,在生产的过程中只需一次性烧入,极大的提高了生产的效率。

附图说明:

图1:上下位机通信协议

图2:CAN BootLoader软件流程图。

具体实施方式:

本发明中基于CAN总线的新型BootLoader,由于采用差分信号进行通信,抗干扰能力强,最大通信速率1Mbps(通信距离达40米),最大通信距离10公里(通信速率5kbps),极大的方便了汽车电控单元中程序更新问题。

本发明集两种传统模式的BootLoader的优点于一体,上下位机通信协议如图1所示,SOH为包头,一个字节,为0x01时为正常的文件内容,为0x04时为文件结束标志,包序号一字节,为0---255,包序号反码一字节,为包序号数据取反,便于下位机校验确认,接下来是131字节的文件内容,最后是CRC16校验码,用于下位机对传输的文件内容进行CRC校验。

本发明在开发CAN BootLoader时,除基本的初始化代码外,其余代码都是PIC(位置无关)型代码,上电后重映射到RAM中即其运行域在RAM中,这样当BootLoader工作时,即可以更新电控单元应用程序,也可以更新BootLoader自身。在更新电控单元应用程序时,BootLoader会做相应的标志,只有当更新完毕,BootLoader才会做更新完毕的标志。这样,当在更新电控单元应用程序时,电源即使突然断掉,在重新上电时,BootLoader记录下了上次更新未完毕标志,就会停留等待上位机发送更新程序命令,实现在任何情况下程序更新都不用开盖。本发明中BootLoader和应用程序一起编译成电控单元镜像文件,烧入FLASH中,这样在生产的过程中,只需一次性烧入镜像文件,提高了生产的效率。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆金美通信有限责任公司,未经重庆金美通信有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110152161.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top