CN117608612A - 具有软件引导程序远程升级功能的eps软件系统 - Google Patents

具有软件引导程序远程升级功能的eps软件系统 Download PDF

Info

Publication number
CN117608612A
CN117608612A CN202311645829.2A CN202311645829A CN117608612A CN 117608612 A CN117608612 A CN 117608612A CN 202311645829 A CN202311645829 A CN 202311645829A CN 117608612 A CN117608612 A CN 117608612A
Authority
CN
China
Prior art keywords
software
data
module
bootstrap
eps
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311645829.2A
Other languages
English (en)
Inventor
常斌磊
王顺伟
黄齐超
张力
张巧莹
庞飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boshi Huayu Turning System Wuhan Co ltd
Original Assignee
Boshi Huayu Turning System Wuhan Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Boshi Huayu Turning System Wuhan Co ltd filed Critical Boshi Huayu Turning System Wuhan Co ltd
Priority to CN202311645829.2A priority Critical patent/CN117608612A/zh
Publication of CN117608612A publication Critical patent/CN117608612A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种具有软件引导程序远程升级功能的EPS软件系统,包括人机互动接口、车载网络终端、FOTA/OTA模块、软件引导程序模块、云端服务器和操作接口;所述软件引导程序模块包括软件引导程序更新模块、应用软件及标定数据组件更新模块和Data Flash数据清除模块;所述操作接口包括应用软件、标定数据组件、软件引导程序的导入、下载、刷写和数据清除功能按钮;所述云端服务器用于实现操作接口和整车之间的数据传输和存储;所述FOTA/OTA模块用于远程数据的传输、下载和安装;所述车载网络终端包括实现FOTA/OTA远程传输的网络软件和硬件系统;所述人机互动接口为驾驶员参与软件更新或升级过程的接口。

Description

具有软件引导程序远程升级功能的EPS软件系统
技术领域
本发明属于EPS软件技术领域,具体涉及一种具有软件引导程序远程升级功能的EPS软件系统。
背景技术
EPS软件开发过程中需要开发软件引导程序,即Bootloader。Bootloader能够实现EPS应用软件的FOTA或OTA远程刷写。但是当前的Bootloader技术不能支持Bootloader功能本身的远程升级,如果需要升级Bootloader,只能利用专用工具,通过硬件连接的方式刷写,即线刷。但是随着车载联网技术和大数据技术的发展,对于Bootloader本身的刷写需求较多,比如需要对小批量路试车辆的Bootloader功能进行迭代升级,或者需要修复量产车的Bootloader问题,或者升级Bootloader功能,或者在测试车上尝试不同版本的Bootloader开发测试等,均需要刷写Bootloader。当前Bootloader的线刷过程,需要专业人员携带专业设备在车辆上操作,费时费力,且容易出错。尤其是当车辆分布于不同地区,且数量较多的情况下,更新Bootloader需要耗费较多的时间、资源和成本。如果能实现远程刷写Bootloader,将大幅度节省该部分时间、资源和成本等。并且当前汽车开发速度越来越快,新车发布周期越来越急迫。为了满足不同市场需求,同款车型开发不同变体成为一种趋势,同款车辆用到多个版本的Bootloader,开发效率要求更苛刻,并且可能出现Bootloader版本管理混乱,刷写过程用错版本,刷写时候找不到对应Bootloader版本等情况。这些对Bootloader的刷写方式提出了挑战,线刷的方式已经无法满足当前快速、节约、大批量更新Bootloader,多版本Bootloader的维护和管理需求。
发明内容
为解决上述技术问题,本发明提供一种具有软件引导程序远程升级功能的EPS软件系统,包括人机互动接口、车载网络终端、FOTA/OTA模块、软件引导程序模块、云端服务器和操作接口;
所述软件引导程序模块包括软件引导程序更新模块、应用软件及标定数据组件更新模块和Data Flash数据清除模块;
软件引导程序更新模块用于远程更新软件引导程序;应用软件及标定数据组件更新模块用于远程更新应用软件和标定数据组件;Data Flash数据清除模块用于清除DataFlash数据;
所述操作接口包括应用软件、标定数据组件、软件引导程序的导入、下载、刷写和数据清除功能按钮;
所述云端服务器用于实现操作接口和整车之间的数据传输和存储;
所述FOTA/OTA模块用于远程数据的传输、下载和安装;
所述车载网络终端包括实现FOTA/OTA远程传输的网络软件和硬件系统;
所述人机互动接口为驾驶员参与软件更新或升级过程的接口。
优选地,所述软件引导程序模块更新软件引导程序的方法包括以下步骤:
步骤S1,准备新应用软件及标定数据组件、新软件引导程序、原应用软件及标定数据组件、原软件引导程序;
步骤S2,将新软件引导程序存储在原应用软件及标定数据组件的位置,替换原应用软件及标定数据组件;
步骤S3,用新软件引导程序存储在原软件引导程序位置,替换原软件引导程序位置;
步骤S4,用新应用软件及标定数据组件或原应用软件及标定数据组件存储在原应用软件及标定数据组件的位置,替换步骤S2中的新软件引导程序;
步骤S6,检查软件引导程序是否更新完成,如完成则结束,如未完成或出错则跳转至步骤S2。
优选地,所述软件引导程序模块更新软件引导程序的方法在步骤S4和S6之间还包括步骤S5,判断步骤S1至S4是否出错,如未出错跳转至步骤S5,如出错则清除Data flash中的数据并跳转至步骤S2。
优选地,所述Data Flash数据清除模块通过调用Fls_Erase函数实现对于DataFlash的清除。
优选地,所述Fls_Erase函数擦除一个或多个完整的闪存扇区。
优选地,所述Fls_Erase函数具有开发错误检测功能,如果未通过检测,所述所述Fls_Erase函数拒绝擦除请求。
优选地,若擦除起始地址未与Flash扇区边界对齐,或未位于指定的Flash上下边界之内,则检查失败未通过检测。
优选地,若擦除长度等于零,或擦除结束地址未与闪存扇区边界对齐,或未位于指定的较高闪存地址边界内,则检查失败未通过检测。
优选地,若Data Flash数据清除模块处于Busy状态,则检查失败未通过检测。
优选地,通过中断控制,Data Flash数据清除模块直接在函数Fls_Erase中启动第一轮擦除操作。
优选地,所述软件引导程序模块刷写主编程的方法包括以下步骤:
步骤1a,执行诊断会话控制,在收到一个寻址方式为物理寻址,子功能为编程会话的诊断会话控制服务后,启动软件引导程序,跳转到编程模式;
步骤2b,执行安全访问,用于确保使用合法的诊断仪进行软件下载操作;
步骤3c,执行驱动下载,按照下列顺序下载驱动文件:请求下载、传输数据、请求传输、退出下载;下载完成后,用检查编程完整性例程检验所下载数据的字节,确保正确传输;
步骤4d,执行数据写入,使用数据标识符,写入指纹信息,所述指纹信息用于标识是哪个诊断仪对ECU内存做了修改;
步骤5e,擦除内存,以提供空间下载和存储应用软件和数据;
步骤6f,下载软件和数据,按下列顺序完成数传输:请求下载,传输数据,请求退出传输;
步骤7g,检查编程完整性,以确保程序的完整性;
步骤8h:检查编程依赖性,以确保所有程序的兼容性和一致性;
步骤9i:执行通信控制,使能非诊断报文的发送和接收。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1为本发明的具有软件引导程序远程升级功能的EPS软件系统结构示意图;
图2为实施例1中软件引导程序模块更新软件引导程序的方法示意图;
图3为实施例1中软件引导程序模块刷写主编程的方法示意图。
具体实施方式
以下通过特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所公开的内容充分地了解本发明的其他优点与技术效果。本发明还可以通过不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点加以应用,在没有背离发明总的设计思路下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。本发明下述示例性实施例可以多种不同的形式来实施,并且不应当被解释为只限于这里所阐述的具体实施例。应当理解的是,提供这些实施例是为了使得本发明的公开彻底且完整,并且将这些示例性具体实施例的技术方案充分传达给本领域技术人员。
实施例1
如图1所示,本实施例提供一种具有软件引导程序远程升级功能的EPS软件系统,包括人机互动接口、车载网络终端、FOTA/OTA模块、软件引导程序模块、云端服务器和操作接口。
所述软件引导程序模块包括软件引导程序更新模块、应用软件及标定数据组件更新模块和Data Flash数据清除模块。
为了简化描述,软件引导程序用Bootloader表示,应用软件用APP表示,标定数据组件用CAL表示。
软件引导程序模块中包含新Bootloader软件,该软件在传统Bootloader基础上进行了功能扩展。传统Bootloader软件只能更新APP、CAL。新Bootloader软件除了能够更新APP、CAL,还具有更新Bootloader和清除Data Flash数据的功能。新Bootloader软件主要由3个模块组成:Bootloader更新模块、APP/CAL更新模块、Data Flash数据清除模块。
所述Bootloader更新模块是Bootloader的引导程序,为便于描述,在Bootloader更新步骤中用BU表示(BU是Bootloader Updater的缩写)。BU集成于Bootloader软件中,具有更新Bootloader软件的功能。
所述操作接口OC主要包括:APP、CAL、Bootloader的导入、下载、刷写、数据清除等功能按钮,并通过UI技术设计在操作界面上,通过APP、网页、微信小程序等端口供操作员使用。通过导入功能按钮,可以将本地的APP、CAL、Bootloader软件上传至服务器存储。通过下载功能按钮,可以下载终端车辆上的原车APP、CAL、Bootloader软件,并保存至服务器或者本地设备中。刷写功能按钮,可以启动APP、CAL、Bootloader的刷写,并且可以根据操作员的指令选择单独刷写或顺序刷写,即可以单独刷写APP或CAL,也可以按设定顺序自动化刷写多个软件。既能够快速远程更新软件,也可以快速解决FOTA/OTA升级软件过程中出现错误或者问题,从而需要回刷原车软件的情况。
所述云端服务器用于实现操作接口和整车之间的数据传输和存储。能够按基线存储不同产品系列的软件,即可以单独供EPS软件更新使用,也可以与整车企业合作,将云端服务器应用于扩展到整车,也可以用于其他整车ECU软件更新。将包括整车所有ECU在内的软件分门别类,如EPS、XCU、ESP等,按不同时间基线存储在远程数据库,以汇总整车所有软件。也能够存储特定车辆的软件包,并按车辆序列号有序排列。方便统一管理,并在需要的时候随时调用。
所述FOTA/OTA模块主要通过与车载网络终端联合使用,实现远程数据传输、下载和安装。可以在整车FOTA/OTA技术中集成EPS软件升级模块,从而使得Bootloader刷写功能能够通过FOTA/OTA技术实现数据传输。
所述车载网络终端包括但不限于车载网络设备,多媒体,车联网设备等,主要是实现FOTA/OTA远程传输的网络软件和硬件系统。可以在整车网络终端基础上开放和集成EPS软件升级接口,保证网络传输具备充足的网络速度和带宽,且能够通过硬件接口与车机系统,多媒体和包括EPS在内的电子电器等进行交互。
所述人机互动接口主要提供了车主或驾驶员参与软件更新或升级过程的接口,人机互动接口集成在多媒体或车机系统中,提供软件更新指令接收,消息推送,软件更新和下载模式选择等功能。在操作工程师发送软件更新指令后,系统会将更新需求推送给车辆,但需要根据车主或驾驶员意愿执行更新操作,车主可以按需选择下载和升级软件的时间和场景,保护车主隐私和对车辆的控制权。比如车主或驾驶员可以在人机互动接口模块设置更新提醒和接收方式,如选择随时下载,或仅允许WIFI模式下下载软件包等;选择自动执行软件更新,或者手动更新,或者特定模式下更新等。避免由于缺乏与车主或驾驶员的互动导致的使用问题,比如自动升级软件过程中,出现车主想用车,但需要等待更新完成的情况,或者电动车电量不足情况下,仍然升级软件导致的额外耗电,或者由于车主不知情情况下的升级导致的法律投诉或抱怨等。
图2为软件引导程序模块更新软件引导程序的方法示意图,在图2所示软件引导程序Bootloader更新步骤中,所提到的BB2是新软件引导程序新Bootloader,将被更新在车上,用于替换原车的Bootloader。BB1是原车的Bootloader,即原软件引导程序。BB2中具有BU,主要通过BU将BB1更新为BB2。BB2具有APP/CAL更新功能,能够将存储在ASW1位置的BB2更新为ASW1/ASW2。ASW1和ASW2均表示APP和CAL的集合,ASW1为原车的APP和CAL,即原应用软件及标定数据组件,ASW2为将要更新的APP和CAL,即新应用软件及标定数据组件,如果无APP和CAL更新需求,可以在Bootloader更新完成后,刷回ASW1即可,如果有APP和CAL更新需求,更新为ASW2即可。
如图2所示,所述软件引导程序模块更新软件引导程序的方法包括以下步骤:
步骤S1,准备ASW1或ASW2,以及需要更新的Bootloader,即BB2和原车的Bootloader,即BB1。ASW1和ASW2、BB1、BB2均可以在云端服务器获取,ASW1和BB1也可以从原车上下载后存储于云端服务器。
步骤S2,用BB2替换原车EPS软件中的ASW1,即将BB2临时存储于ASW1的位置。
步骤S3,通过BU的刷写功能用BB2替换BB1,替换完成后车辆上的Bootloader已经从BB1更新为BB2。
步骤S4,利用BB2的刷写APP/CAL的功能,将原车的ASW1(或者新的需要更新的ASW2)刷到原ASW1所在位置,用以替换BB2,刷写完成后,车辆上的EPS应用程序即更新成了ASW1(或者ASW2)。
步骤S5,如果S1-S4执行顺利,未出现错误,可以跳过S5。S5需要结合特定应用需求选择性执行。比如:Bootloader更新过程出现错误,导致Data Flash存储问题,或者部分老版本数据存于Data Flash中,只能通过主动清除才可以更新,则需要执行S5,即利用BB2的Data Flash数据清除功能清除Data flash中的数据。
步骤S6,重新上下KL15电,检查Bootloader是否更新完成,如完成则结束;如未完成或出错,排查和解决问题后,再跳转至S2。
在步骤S5中,所述Bootloader数据清除功能主要包括数据清除接口DF,即在Bootloader功能中添加DF功能。实际执行时候,通过在DF中调用Fls_Erase函数实现对于Data Flash的清除,实现过程如下:
Fls_Erase函数擦除时,擦除的是一个或多个完整的闪存扇区Flash Sectors;Fls_Erase函数将传入的参数复制到内部的变量,同时启动擦除Job。
启动擦除的Job后,Fls_Erase将FLS模块的状态置为MEMIF_BUSY,将Job结果置为MEMIF_JOB_PENDING。Fls_Erase函数的返回值置为E_OK。在FLS模块的main function中,将异步执行Fls_Erase函数。
Fls_Erase函数从FlsBaseAddress+TargetAddress的地址开始,擦除长度为Length大小的存储块,从而清除Data Flash中的数据。由于只能擦除完整的闪存扇区,长度将四舍五入到下一个完整的扇区边界。
启用Fls模块的“开发错误检测”功能,然后函数Fls_Erase将做如下检查:
a)Fls_Erase函数将检查擦除起始地址FlsBaseAddress+TargetAddress是否与Flash扇区边界对齐,并且是否位于指定的Flash上下边界之内。如果该检查失败,则函数Fls_Erase将拒绝擦除请求,触发开发错误FLS_E_PARAM_ADDRESS,并返回E_NOT_OK。
b)Fls_Erase函数将检查擦除长度是否大于0,擦除结束地址(擦除起始地址+长度)是否与闪存扇区边界对齐,并位于指定的较高闪存地址边界内。如果检查失败,函数Fls_Erase将拒绝擦除请求,触发开发错误FLS_E_PARAM_LENGTH,并返回E_NOT_OK。
c)Fls_Erase函数将检查当前FLS模块是否处于Busy状态,如果检查失败,函数Fls_Erase将拒绝擦除请求,触发开发错误FLS_E_BUSY,并返回E_NOT_OK。
通过中断控制的实现,FLS模块应直接在函数Fls_Erase中启动第一轮擦除操作,以减少总体运行时间。
图3为软件引导程序模块刷写主编程的方法示意图。
如图3所示,所述软件引导程序模块刷写主编程的方法包括以下步骤:
步骤1a,执行诊断会话控制(10h 02h),在收到一个寻址方式为物理寻址,子功能为编程会话的诊断会话控制(10h)服务后,启动Bootloader,跳转到编程模式。
步骤2b,执行安全访问(27h 09h/0Ah),确保使用合法的诊断仪进行软件下载操作。
步骤3c,执行驱动下载(34h,36h,37h,31h),按照该顺序下载驱动文件:请求下载、传输数据、请求传输、退出下载。下载完成后,用“检查编程完整性”例程(31h 01h F0h 01h)检验所下载数据的字节,确保正确传输。
步骤4d,执行数据写入(2Eh F1h 5Ah),使用F1h 5Ah数据标识符,写入指纹信息,指纹信息标识了是哪个诊断仪对ECU内存做了修改,并且可以通过服务指令22h F1h 5Ah追踪指纹信息。
步骤5e,执行例程控制——擦除内存(31h 01h FFh 00h),以提供空间下载和存储应用软件和数据。如果擦除内存例程被调用执行,那么应用软件的标志位将被置为无效。
ECU接收到诊断仪“擦除内存”指令后,编程尝试计数器加1,计数器加1策略与内存擦除是否成功无关。
步骤6f,下载软件和数据(34h,36h,37h),按该服务顺序完成数传输:请求下载(34h),传输数据(36h),请求退出传输(37h)。单个应用软件或数据块可能需要多个数据传输(36h)请求报文来完成传输(当数据块长度超出网络层缓存大小时,就会出现这种情况)。
步骤7g,执行例程控制——检查编程完整性(31h 01h F0h 01h),以确保程序的完整性。
步骤8h,执行例程控制——“检查编程依赖性”(31h 01h FFh 01h),检查程序的依赖性,以确保所有程序的兼容性和一致性。
步骤9i,执行通信控制(28h 00h 03h),使能非诊断报文的发送和接收。
与现有技术相比,本发明的特点是包含了一种占用内存较小的Bootloader远程刷写软件,即FOTA/OTA Boot。所述FOTA/OTA Boot集成于EPS APP应用软件中,属于其中一个功能模块,EPS APP应用软件是EPS转向机驱动软件,随EPS硬件一起装配在汽车上使用。
本发明的技术效果:
1.从无到有地提出针对EPS内部Bootloader组件的FOTA/OTA升级功能。刷写过程不需要额外的内存空间做Bootloader备份,即可实现对于Bootloader的回刷。对于ECU硬件存储空间要求较低,能够满足大部分单Bank存储器需求,而不需要为了备份Bootloader增加存储空间,或更换双Bank ECU,容易推广,有利于在现有硬件基础上升级功能。
2.具备数据清除接口DF,能够实现远程清除Data Flash的功能。在FOTA/OTA升级Bootloader后,实现远程清除Data Flash功能,而不需要使用特定工具连接设备清除DataFlash。并且能够满足EPS其他应用场景的数据清除需求,比如APP、CAL更新,其他功能和模块升级、异常断电或EPS故障等情况出现后出现的初始化Data Flash需求。存储于DataFlash中的数据无法自动清除,但是不清除Data Flash中的历史数据可能会导致信息无法更新,功能更新失败,EPS锁死等问题。而本发明提供了远程清除Data Flash的功能,能够快速、有效的解决以上问题。
3.提供了适用于整车ECU软件的序列化存储、下载、启动和应用接口和云端服务器方案。方便整车开发阶段,对包括整车其他ECU在内的软件分门别类,如EPS、XCU、ESP等,按不同时间基线存储在远程数据库,以汇总整车所有软件,方便统一管理,并在需要的时候随时调用。
4.提供了人机互动接口,以满足多场景软件升级需求。在操作工程师发送软件更新指令后,系统会将更新需求推送给车辆,但需要根据车主或驾驶员意愿执行更新操作,车主可以按需选择下载和升级软件的时间和场景,保护车主隐私和对车辆的控制权。比如车主或驾驶员可以在人机互动接口模块设置更新提醒和接收方式,如选择随时下载,或仅允许WIFI模式下下载软件包等;选择自动执行软件更新,或者手动更新,或者特定模式下更新等。避免由于缺乏与车主或驾驶员的互动导致的使用问题,比如自动升级软件过程中,出现车主想用车,但需要等待更新完成的情况,或者电动车电量不足情况下,仍然升级软件导致的额外耗电,或者由于车主不知情情况下的升级导致的法律投诉或抱怨等。
以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

Claims (11)

1.一种具有软件引导程序远程升级功能的EPS软件系统,其特征在于,包括人机互动接口、车载网络终端、FOTA/OTA模块、软件引导程序模块、云端服务器和操作接口;
所述软件引导程序模块包括软件引导程序更新模块、应用软件及标定数据组件更新模块和Data Flash数据清除模块;
软件引导程序更新模块用于远程更新软件引导程序;应用软件及标定数据组件更新模块用于远程更新应用软件和标定数据组件;Data Flash数据清除模块用于清除Data Flash数据;
所述操作接口包括应用软件、标定数据组件、软件引导程序的导入、下载、刷写和数据清除功能按钮;
所述云端服务器用于实现操作接口和整车之间的数据传输和存储;
所述FOTA/OTA模块用于远程数据的传输、下载和安装;
所述车载网络终端包括实现FOTA/OTA远程传输的网络软件和硬件系统;
所述人机互动接口为驾驶员参与软件更新或升级过程的接口。
2.根据权利要求1所述的具有软件引导程序远程升级功能的EPS软件系统,其特征在于,所述软件引导程序模块更新软件引导程序的方法包括以下步骤:
步骤S1,准备新应用软件及标定数据组件、新软件引导程序、原应用软件及标定数据组件、原软件引导程序;
步骤S2,将新软件引导程序存储在原应用软件及标定数据组件的位置,替换原应用软件及标定数据组件;
步骤S3,用新软件引导程序存储在原软件引导程序位置,替换原软件引导程序位置;
步骤S4,用新应用软件及标定数据组件或原应用软件及标定数据组件存储在原应用软件及标定数据组件的位置,替换步骤S2中的新软件引导程序;
步骤S6,检查软件引导程序是否更新完成,如完成则结束,如未完成或出错则跳转至步骤S2。
3.根据权利要求2所述的具有软件引导程序远程升级功能的EPS软件系统,其特征在于,所述软件引导程序模块更新软件引导程序的方法在步骤S4和S6之间还包括步骤S5,判断步骤S1至S4是否出错,如未出错跳转至步骤S5,如出错则清除Data flash中的数据并跳转至步骤S2。
4.根据权利要求3所述的具有软件引导程序远程升级功能的EPS软件系统,其特征在于,所述Data Flash数据清除模块通过调用Fls_Erase函数实现对于Data Flash的清除。
5.根据权利要求4所述的具有软件引导程序远程升级功能的EPS软件系统,其特征在于,所述Fls_Erase函数擦除一个或多个完整的闪存扇区。
6.根据权利要求5所述的具有软件引导程序远程升级功能的EPS软件系统,其特征在于,所述Fls_Erase函数具有开发错误检测功能,如果未通过检测,所述所述Fls_Erase函数拒绝擦除请求。
7.根据权利要求6所述的具有软件引导程序远程升级功能的EPS软件系统,其特征在于,若擦除起始地址未与Flash扇区边界对齐,或未位于指定的Flash上下边界之内,则检查失败未通过检测。
8.根据权利要求6所述的具有软件引导程序远程升级功能的EPS软件系统,其特征在于,若擦除长度等于零,或擦除结束地址未与闪存扇区边界对齐,或未位于指定的较高闪存地址边界内,则检查失败未通过检测。
9.根据权利要求6所述的具有软件引导程序远程升级功能的EPS软件系统,其特征在于,若Data Flash数据清除模块处于Busy状态,则检查失败未通过检测。
10.根据权利要求6所述的具有软件引导程序远程升级功能的EPS软件系统,其特征在于,通过中断控制,Data Flash数据清除模块直接在函数Fls_Erase中启动第一轮擦除操作。
11.根据权利要求1所述的具有软件引导程序远程升级功能的EPS软件系统,其特征在于,所述软件引导程序模块刷写主编程的方法包括以下步骤:
步骤1a,执行诊断会话控制,在收到一个寻址方式为物理寻址,子功能为编程会话的诊断会话控制服务后,启动软件引导程序,跳转到编程模式;
步骤2b,执行安全访问,用于确保使用合法的诊断仪进行软件下载操作;
步骤3c,执行驱动下载,按照下列顺序下载驱动文件:请求下载、传输数据、请求传输、退出下载;下载完成后,用检查编程完整性例程检验所下载数据的字节,确保正确传输;
步骤4d,执行数据写入,使用数据标识符,写入指纹信息,所述指纹信息用于标识是哪个诊断仪对ECU内存做了修改;
步骤5e,擦除内存,以提供空间下载和存储应用软件和数据;
步骤6f,下载软件和数据,按下列顺序完成数传输:请求下载,传输数据,请求退出传输;
步骤7g,检查编程完整性,以确保程序的完整性;
步骤8h:检查编程依赖性,以确保所有程序的兼容性和一致性;
步骤9i:执行通信控制,使能非诊断报文的发送和接收。
CN202311645829.2A 2023-12-04 2023-12-04 具有软件引导程序远程升级功能的eps软件系统 Pending CN117608612A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311645829.2A CN117608612A (zh) 2023-12-04 2023-12-04 具有软件引导程序远程升级功能的eps软件系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311645829.2A CN117608612A (zh) 2023-12-04 2023-12-04 具有软件引导程序远程升级功能的eps软件系统

Publications (1)

Publication Number Publication Date
CN117608612A true CN117608612A (zh) 2024-02-27

Family

ID=89956036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311645829.2A Pending CN117608612A (zh) 2023-12-04 2023-12-04 具有软件引导程序远程升级功能的eps软件系统

Country Status (1)

Country Link
CN (1) CN117608612A (zh)

Similar Documents

Publication Publication Date Title
CN109933348B (zh) 一种电子控制单元中Bootloader的更新方法和装置
CN107402847B (zh) 一种整车控制器软件的远程升级方法及系统
US10165084B2 (en) Method for software updating of vehicle components
US20160364230A1 (en) Telematics control unit comprising a differential update package
US20160364225A1 (en) Centralized system for software updating vehicle components
CN106055346A (zh) 车辆控制存储方法和系统
CN109491671B (zh) 诊断软件下载方法、装置、终端设备及存储介质
CN111158718A (zh) 本地通讯服务器及其ota升级方法和云端服务器
CN110825403A (zh) 一种汽车电子控制单元ecu刷写的方法及系统
CN105468384A (zh) 车载控制器的烧写系统、方法、服务器和烧写终端
CN111176695A (zh) 一种车辆ecu配置的方法、服务器及终端
CN116775079A (zh) 车辆零部件刷写方法、装置、电子设备及存储介质
CN106843979B (zh) 一种应用程序的更新方法及装置
CN103365684B (zh) 更新方法和多域嵌入式系统
CN113419755B (zh) 汽车ecu程序刷写方法、系统、可读存储介质及计算机设备
JP2019109745A (ja) 自動車用電子制御装置
CN105009096A (zh) 数据存储装置、数据的存储方法以及车载用控制装置
CN115061713A (zh) 升级电子设备的方法及装置
CN117608612A (zh) 具有软件引导程序远程升级功能的eps软件系统
CN116431186A (zh) 一种车载ecu的升级方法、装置及介质
JP6935694B2 (ja) 電子制御装置
CN103425587A (zh) 一种非易失性存储器的擦写方法及擦写装置
CN111796839B (zh) 控制器程序管理方法和装置
CN114064077A (zh) 一种基于tc397微控制器地址映射的汽车ecu云端软件升级方法
CN113112641A (zh) 车辆ecu刷写方法及车辆诊断仪的下位机

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination