[发明专利]一种BootLoader的管理方法在审
申请号: | 201510176703.4 | 申请日: | 2015-04-15 |
公开(公告)号: | CN104765632A | 公开(公告)日: | 2015-07-08 |
发明(设计)人: | 于海燕;侯素礼;徐礼龙 | 申请(专利权)人: | 南京汽车集团有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F21/57 |
代理公司: | 南京苏科专利代理有限责任公司 32102 | 代理人: | 姚姣阳 |
地址: | 210037 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 bootloader 管理 方法 | ||
技术领域
本发明涉及一种BootLoader的管理方法,尤其涉及一种利用车辆上通用的CAN总线,实时更新加载应用代码的BootLoader的管理方法,属于新能源汽车整车控制系统软件领域。
背景技术
如今,BootLoader广泛应用于汽车控制系统,是一种在不借助调试仿真器的前提下,利用如SCI、SPI、CAN等通信媒介,引导处理器并加载应用软件的引导程序,其作用类似于PC机中的BIOS。
现有的BootLoader能够在不拆卸控制器的情况下实现对应用代码的加载,这给现场开发人员与远程开发人员的交互提供了便利,保证了源代码的隐秘性,并对部件的布置和隐藏提供了便利。
但是现有的BootLoader还存在诸多问题,具体问题如下:1.当需要优化BootLoader自身引导功能时,需要通过TBDML等方式重新加载BootFlash,这样就需要对控制器进行拆卸,甚至对整车电气系统布局进行破坏,并且同时需要专业的技术人员借助专门的设备进行现场调试操作,整个过程非常复杂和麻烦;2.当对AppFlash进行加载更新的时候,需要同时考虑对BootFlash进行加载更新;3.在车辆运行过程中,若需要对BootFlash进行加载更新,但由于个人操作的不注意,整车可能带着高压电运行,在程序的加载进行中,有可能对高压线束以及相关零部件造成影响;4.在带有BootLoader功能的新能源车辆控制器的Flash中,由于同时存在BootFlash和AppFlash,对于初次装上车辆控制器的试验车辆,在整车某部件出现异常却毫不知情而导致应用代码无法运行的情况下,无法获知此时程序是否已经加载应用代码;5.在BootLoader加载代码的过程中,由于使用不当或者意外掉电等情况的发生,容易导致加载异常而导致控制器失效。
发明内容
本发明的目的在于:针对上述现有技术存在的问题,提出一种BootLoader的管理方法,本发明能够真正实现控制器免拆卸,使用固定CAN通道,通过该固定CAN通道,能够实现AppFlash加载BootFlash以及BootFlash加载AppFlash,实现两种代码更新模式的无缝对接和跳转。
为了达到以上目的,本发明一种BootLoader的管理方法,其特征在于,该方法包括配置Flash存储空间、自定义指令流程、更新加载AppFlash和BootFlash、以及定位运行模式。
进一步地,所述配置Flash存储空间包括将Flash存储空间划分为如下区域:区域一为寄存器配置区、Eeprom存储区,寄存器配置区负责硬件平台的初始化,Eeprom区负责系统故障码的存储;区域二为内存区,用于存储参数变量以及标定参数的镜像映射;区域三为应用代码AppFlash区,包含JumpFlash区、标定常量区、中断向量区、中断代码区以及默认常规应用代码区;区域四为BootFlash区,包含启动代码、中断向量,中断代码;区域五系统默认复位向量区,其指向BootFlash的首地址。
进一步地,所述自定义指令流程包括自定义的控制命令帧和应答响应帧;所述控制命令帧包括连接、烧写和断开命令帧,所述应答响应帧包括命令应答肯定响应和擦除、烧写完成肯定响应。
所述BootFlash加载更新AppFlash的方法步骤如下:
Step1:设置BootFlash、AppFlash和JumpFlash的地址范围,以及对应的中断向量区和中断代码区;
Step2:系统上电,开始初始化配置,系统从复位向量区指定的起始地址处开始执行,默认的是上电后从BootFlash的起始地址处执行,代码初始化中断向量区以及初始化寄存器配置;初始化配置完成之后,系统判断JumpFlash对应的有效数据是否为AppFlash首地址,同时AppFlash具有有效代码,若条件满足,跳转AppFlash运行,进入应用代码模式;否则,自动在默认的BootFlash运行,即进入BootLoader模式;以JumpFlash处的有效地址作为条件判断之一,用于防止系统掉电后的判断条件无效,另一方面强调跳转AppFlash的可靠性,另一判断条件则用于判断AppFlash是否含有代码,防止误跳转;
Step3:上位机发送连接指令给下位机,让下位机为实现代码加载做准备;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京汽车集团有限公司,未经南京汽车集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510176703.4/2.html,转载请声明来源钻瓜专利网。