一种BootLoader的管理方法_4

文档序号:8445431阅读:来源:国知局
2.根据权利要求1所述的一种BootLoader的管理方法,其特征在于:所述配置Flash存储空间包括将Flash存储空间划分为如下区域:区域一为寄存器配置区、E印rom存储区,寄存器配置区负责硬件平台的初始化,Eep1m区负责系统故障码的存储;区域二为内存区,用于存储参数变量以及标定参数的镜像映射;区域三为应用代码AppFlash区,包含JumpFlash区、标定常量区、中断向量区、中断代码区以及默认常规应用代码区;区域四为BootFlash区,包含启动代码、中断向量,中断代码;区域五系统默认复位向量区,其指向BootFlash的首地址。
3.根据权利要求1所述的一种BootLoader的管理方法,其特征在于:所述自定义指令流程包括自定义的控制命令帧和应答响应帧;所述控制命令帧包括连接、烧写和断开命令帧,所述应答响应帧包括命令应答肯定响应和擦除、烧写完成肯定响应。
4.根据权利要求1所述的一种BootLoader的管理方法,其特征在于:所述BootFlash加载更新AppFlash的方法步骤如下: Stepl:设置BootFlash、AppFlash和JumpFlash的地址范围,以及对应的中断向量区和中断代码区; Step2:系统上电,开始初始化配置,系统从复位向量区指定的起始地址处开始执行,默认的是上电后从BootFlash的起始地址处执行,代码初始化中断向量区以及初始化寄存器配置;初始化配置完成之后,系统判断JumpFlash对应的有效数据是否为AppFlash首地址,同时AppFlash具有有效代码,若条件满足,跳转AppFlash运行,进入应用代码模式;否则,自动在默认的BootFlash运行,即进入BootLoader模式; Step3:上位机发送连接指令给下位机,让下位机为实现代码加载做准备; Step4:下位机成功获取连接命令后,ECU回复肯定应答响应,使上位机监测到ECU与其握手成功;ECU接收到连接命令后,检测对应的AppFlash是否擦除完成,若否,擦除AppFlash空间,为下一步AppFlash的程序烧写做准备;同时擦除JumpFlash条件空间,为识别后面的断开指令时,烧写JumpFlash空间做准备; Step5:当AppFlash和JumpFlash擦除成功的前提下,E⑶向上位机响应擦除完成应答;在上位机获取连接肯定应答和擦除完成肯定应答双重条件下,发送程序下载命令; Step6:下位机成功获取下载命令后,ECU回复肯定应答响应,当上位机监测到下载肯定应答响应后,发送可执行文件烧写数据帧;下位机接收到可执行文件烧写数据帧后执行当次烧写进程,当次烧写完成后ECU回复烧写完成应答并执行下次可执行文件烧写进程; Step7:当可执行文件烧写完成后,上位机发断开指令,下位机接收到断开指令后,ECU回复断开肯定应答信号,并向JumpFlash烧写AppFlash首地址。
5.根据权利要求4所述的一种BootLoader的管理方法,其特征在于:所述可执行文件是由基于Freescale S12系列平台的控制代码生成的S19格式可执行文件;S19文件内每一行数据包含格式、地址信息、校验码和烧写数据;所述Step6的具体步骤如下: Step6-1:上位机通过对可执行文件进行逐行解析发送,下位机逐行烧写; St印6-2:上位机发送一帧报文,下位机判断报文是否满足下载命令帧格式,若满足,获取命令报文中地址信息和校验码,为获取下面的烧写数据信息做准备,发送烧写肯定响应;同时下位机发送肯定响应给上位机; St印6-3:在相应下载命令帧的基础上,下位机ECU接收来自上位机的烧写数据帧;上位机通过识别获取ASCII值OxOD,判定是否已经到达一行数据的最后一个字节,从而为发送下一行数据做准备;在接收一行S19文件后,通过计算当前数据检验码与接收的校验码作比较,保证数据传输的可靠性; Step6-4:若校验码配对成功,下位机根据获取的地址信息,将接收到的数据烧写到对应的地址中;烧写成功之后,向上位机发送烧写肯定响应数据帧; Step6-5:在烧写一行可执行文件成功后,进入下一行文件的烧写工作,进程转入St印6-1 ;整个执行文件烧写成功之后,转而回到St印7执行。
6.根据权利要求1所述的一种BootLoader的管理方法,其特征在于:所述AppFlash加载更新BootFlash以及重新更新AppFlash的方法步骤如下: St印8:系统跳转到AppFlash运行,AppFlash代码初始段设置其对应的中断向量寄存器; Step9:在应用代码模式运行中,若检测到应用代码更新指令,则对JumpFlash区进行擦除操作,擦除成功后,软件复位重新运行,进入BootLoader模式; SteplO:在应用代码模式运行中,若检测到BootLoader更新指令,则继续检测下位机是否收到连接指令,当下位机成功获取连接指令后,ECU回复肯定应答响应,使上位机监测到ECU与其握手成功;ECU接收到连接指令后,检测对应的BootFlash是否擦除完成,若否,擦除BootFlash空间,为下一步BootFlash的程序烧写做准备;同时擦除JumpFlash条件空间,为识别后面的断开指令时,烧写JumpFlash空间做准备; Stepll:当BootFlash和JumpFlash擦除成功的前提下,E⑶向上位机响应擦除完成应答;在上位机获取连接肯定应答和擦除完成肯定应答双重条件下,发送程序下载指令;Stepl2:下位机成功获取下载指令后,ECU回复肯定应答响应,当上位机监测到下载肯定应答响应后,发送可执行文件烧写数据帧;下位机接收到可执行文件烧写数据帧后执行当次烧写进程,当次烧写完成后,ECU回复烧写完成应答并执行下次可执行文件烧写进程;Stepl3:当可执行文件烧写完成后,上位机发断开指令,下位机接收到断开指令后,ECU回复断开肯定应答信号,并擦除JumpFlash跳转标识段; Stepl4:JumpFlash擦除成功后,软件复位重新运行; Stepl5:系统重新在BootFlash运行,进入BootLoader模式。
7.根据权利要求5或6所述的一种BootLoader的管理方法,其特征在于:所有代码的加载更新应在车辆停止,高压掉电的情况下执行。
8.根据权利要求5或6所述的一种BootLoader的管理方法,其特征在于:所述BootFlash和AppFlash之间的相互加载更新使用固定的CAN通道,利用该通道可实现除了BootLoader模式以外的其它多种模式复用,包括标定、诊断、自测试、调试和监控模式。
9.根据权利要求5或6所述的一种BootLoader的管理方法,其特征在于:所述执行擦除和烧写操作时,禁止一切中断事件的发生;在首次加载应用代码时,当出现异常事件的发生,例如:断电,一旦上电,系统跳转至启动代码执行。
10.根据权利要求1所述的一种BootLoader的管理方法,其特征在于:所述定位运行模式的方法为:连接CAN收发器,发送任一标定、诊断、自测试、调试、和监控的命令帧,若握手成功,系统运行在应用代码模式,若握手失败,系统运行在BootLoader模式。
【专利摘要】本发明公开了一种BootLoader的管理方法,该方法包括配置Flash存储空间、自定义指令流程、更新加载AppFlash和BootFlash、以及定位运行模式;本发明能够真正实现免拆卸,本发明的代码加载接口使用固定CAN通道,通过该固定CAN通道,能够实现应用代码AppFlash中加载启动代码BootFlash以及启动代码BootFlash中加载应用代码AppFlash,实现两种代码更新模式的无缝对接和跳转;同时利用该固定CAN通道可实现除了BootLoader模式以外的其它多种模式复用,包括标定、诊断、自测试、调试、监控等,提高了硬件的资源利用效率。
【IPC分类】G06F21-57, G06F9-445
【公开号】CN104765632
【申请号】CN201510176703
【发明人】于海燕, 侯素礼, 徐礼龙
【申请人】南京汽车集团有限公司
【公开日】2015年7月8日
【申请日】2015年4月15日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1