CN111475191A - 基于多核技术的汽车控制器软件升级系统及方法 - Google Patents
基于多核技术的汽车控制器软件升级系统及方法 Download PDFInfo
- Publication number
- CN111475191A CN111475191A CN202010261643.7A CN202010261643A CN111475191A CN 111475191 A CN111475191 A CN 111475191A CN 202010261643 A CN202010261643 A CN 202010261643A CN 111475191 A CN111475191 A CN 111475191A
- Authority
- CN
- China
- Prior art keywords
- controller
- core
- upgrading
- controller core
- data
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于多核技术的汽车控制器软件升级系统,它的第一控制器核判断第二控制器核中控制器实现的应用功能对应的应用程序的有效性,当应用功能对应的应用程序均有效时,启动第二控制器核中对应应用程序;第二控制器核中的应用程序启动后需要针对所述应用程序对应的具体应用模块进行硬件资源初始化;第一控制器核的检测模块实时监测是否接收到了外部升级请求,一旦接收到外部升级请求,第一控制器核的启动加载程序调用第一控制器核的判断模块并利用预设的软件升级判断逻辑来判断整车状态是否满足软件升级条件;本发明能提高多核汽车控制器软件的升级效率,满足远程升级软件的时间性能要求。
Description
技术领域
本发明属于汽车电控技术领域,具体涉及一种基于多核技术的汽车控制器软件升级系统及方法。
技术背景
随着车辆智能化网联化的发展,汽车控制器功能不断增加,控制过程更加复杂,控制器功能不断升级。在控制器开发过程中,需要不断下载与升级软件,完成软件功能更改及数据标定与匹配,在售后服务中,当控制器软件损坏,或者ECU(Electronic Control Unit,电子控制单元)控制器存在一些问题时,也需要升级控制器软件。目前,远程升级控制器软件已成为趋势,市面上已有车型应用。现在汽车控制器软件升级大多数通过ISP技术进行升级,通过总线的方式进行应用程序与Bootloader(系统启动前引导程序)间的跳转实现,这是基于单核控制器的升级方案。随着芯片技术的发展,单核处理器的性能已经发展到一个相对比较高的高度,单纯依靠提高单核处理器的性能来提高系统的实时性已经不足够,芯片架构正朝着多处理器设计的方向发展,以解决单处理器系统复杂度太高和计算能力不足的问题。目前市面上已有多款基于多核的车规级芯片商业化应用。
多核处理器在软件升级的时候目前有多种方案,比如采用JTAG口升级,这种升级方式中升级软件与业务应用功能软件共用一核,效率低下,不能满足远程升级等对升级时间有严格要求的场景。
发明内容
本发明的目的是针对上述技术问题,提供一种基于多核技术的汽车控制器软件升级系统及方法,本发明能提高多核汽车控制器软件的升级效率,满足远程升级软件的时间性能要求。
为实现此目的,本发明所设计的一种基于多核技术的汽车控制器软件升级系统,其特征在于:它包括第一控制器核和第二控制器核,所述第一控制器核用于判断第二控制器核中控制器实现的应用功能对应的应用程序的有效性,当应用功能对应的应用程序均有效时,启动第二控制器核中对应应用程序;
所述第二控制器核中的应用程序启动后需要针对所述应用程序对应的具体应用模块进行硬件资源初始化;
所述第一控制器核的检测模块实时监测是否接收到了外部升级请求,一旦接收到外部升级请求,第一控制器核的启动加载程序调用第一控制器核的判断模块并利用预设的软件升级判断逻辑来判断整车状态是否满足软件升级条件;
所述第一控制器核中的处理模块用于进行升级数据下载和校验处理,同时关闭第二控制器核;
所述第一控制器核中的升级模块包括数据清除单元和升级子单元,数据清除单元用于对第二控制器核执行程序区内原有的程序进行清除,升级子单元用于对待升级的第二控制器核进行程序升级操作。
本发明公开一种多核汽车控制器的升级方法,第一控制器核的BootLoader启动程序与第二控制器核的应用程序独立运行,利用核间通讯机制进行数据交互和同步,控制器第一控制器核的BootLoader包括检测模块、判断模块、处理模块、升级模块。本发明在程序升级前,对汽车控制器是否处于待升级状态以及是否为待升级程序进行检测,为升级操作提供可靠的前期准备;通过处理模块对升级程序的下载过程、数据完整性进行管控,进而控制控制器的升级。第一控制器核的BootLoader启动程序利用多核并行处理,核间通讯时间短等特点,在升级第二控制器的应用程序时采用不同于单核控制器的全新方案,减少与应用程序间跳转,大大提高软件升级的效率,为远程升级等对升级时间有严格要求的应用场景提供有效的保障,既节省了时间成本又节省了人力成本。
附图说明
图1为本发明的结构示意图;
图2为本发明的逻辑流程图。
具体实施方式
以下结合附图和实例对本发明作进一步的详细说明:
如图1和2所示的一种基于多核技术的汽车控制器软件升级系统,如图1所示,它包括第一控制器核和第二控制器核,所述第一控制器核用于判断第二控制器核中控制器实现的应用功能对应的应用程序的有效性,当应用功能对应的应用程序均有效时,启动第二控制器核中对应应用程序;
所述第二控制器核中的应用程序启动后需要针对所述应用程序对应的具体应用模块进行硬件资源初始化;
所述第一控制器核的检测模块实时监测是否接收到了外部升级请求,一旦接收到外部升级请求,第一控制器核的启动加载程序调用第一控制器核的判断模块并利用预设的软件升级判断逻辑来判断整车状态是否满足软件升级条件;
所述第一控制器核中的处理模块用于进行升级数据下载和校验处理,同时关闭第二控制器核;
所述第一控制器核中的升级模块包括数据清除单元和升级子单元,数据清除单元用于对第二控制器核执行程序区内原有的程序进行清除,升级子单元用于对待升级的第二控制器核进行程序升级操作。
上述技术方案中,所述第一控制器核与第二控制器核之间通过核间通讯机制共享车辆状态数据。
上述技术方案中,所述车辆状态数据包括车速、电池电压、档位、发动机转速数据。
上述技术方案中,所述外部升级请求由诊断设备通过CAN接口或远程车联网后台利用互联网通信接口发出。
上述技术方案中,判断整车状态所需的数据是由第二控制器核运行的应用程序通过核间数据分享的方式分享给第一控制器核的启动加载程序。
上述技术方案中,第一控制器核中的处理模块进行升级数据下载和校验处理的具体方式为采用整车厂升级通讯协议进行升级数据的下载,并进行升级数据完整性校验,如CRC16算法校验,各整车厂可采用自己的协议与校验算法。上述升级数据的下载是下载一个特定格式的文件(由程序代码编译来的),涵盖定义这个控制器要实现的所有功能(如控制车灯、车窗等)的所有数据。
上述技术方案中,升级子单元对待升级的控制器核2进行程序升级操作的具体方式为首先将第二控制器核所分配的程序存储空间(程序存储器)里的数据全部清除,清除完成后,计算升级数据大小(有多少个字节),从程序存储空间的开始地址一个字节一个字节的写入数据,直到写完最后一个数据(数据写入的方法由程序存储器决定,由硬件芯片决定),最后进行数据完整性校验,校验成功后即升级完成。
一种基于多核技术的汽车控制器软件升级方法,它包括如下步骤:
步骤1:第一控制器核的启动加载程序运行,实现第一控制器核的硬件初始化,让升级的时候需要使用的一些硬件资源如CAN接口、时钟、存储器等做好准备,进入到一个可以使用的状态;
步骤2:第一控制器核判断第二控制器核中控制器实现的应用功能(如控制车灯、雨刮、空调等功能)对应的应用程序的有效性(即标志位的值为1),当应用功能对应的应用程序均有效时,启动第二控制器核中对应应用程序(如控制车灯、雨刮、空调等功能);
步骤3:第二控制器核中的应用程序启动后需要针对所述应用程序对应的具体应用模块(控制车灯、雨刮、空调、玻璃升降、遥控开车门,仪表报警,仪表指示灯亮或灭等)进行硬件资源初始化(如IO口、AD转换、SPI接口、IIC接口、显示屏接口的初始化,这部分工作根据具体的应用不同,初始化工作也有可能不同,如车身控制器由于控制车灯需要进行IO口初始化,无显示功能就不需要对显示屏初始化,而仪表控制器由于具备仪表屏幕显示功能需要进行显示屏初始化);至此,第一控制器核的启动加载程序与第二控制器核的应用程序同时运行,第一控制器核与第二控制器核之间共享车辆状态数据;
步骤4:第一控制器核的检测模块实时监测是否接收到了外部升级请求,一旦接收到外部升级请求,第一控制器核的启动加载程序调用第一控制器核的判断模块并利用预设的软件升级判断逻辑来判断整车状态是否满足软件升级条件,软件升级请求由第一控制器核的BootLoader启动程序接收,升级请求的响应也由第一控制器核BootLoader启动程序响应;
步骤5:整车状态满足升级条件后(如整车厂会自己定义判断条件与逻辑,如电池电压必须大于一定数值、车速必须为0等),第一控制器核中的处理模块进行升级数据下载和校验处理,同时关闭第二控制器核(应用程序停止运行);
步骤6:第一控制器核中的升级模块包括数据清除单元和升级子单元,数据清除单元对第二控制器核执行程序区内原有的程序进行清除,升级子单元对待升级的第二控制器核进行程序升级操作。
步骤7:升级完成后,第一控制器核进行复位,在复位执行前,升级模块应当删除RAM中的程序,避免在应用程序中出现潜在的危险程序,同时将第二控制器核的应用程序标记为更新过的,复位完成后,控制器进入正常的运行模式。
本发明设计了一种基于多核技术的汽车控制器软件升级方案。不同于单核控制器软件升级时BootLoader与应用程序二者之间顺序执行,软件实时升级时需相互跳转,效率低下,本方案利用多核控制器并行处理、每个处理器核都可以单独编程,且多个处理器核可以同时运行各自的程序,核间通讯效率高时间短、片上资源利用率高等特点,设计BootLoader与应用程序分别运行在不同的核上,他们二者之间互相独立、单独编程、同时运行,利用核间通讯机制共享数据,在应用程序运行的同时,BootLoader直接响应外界软件升级需求进行软件升级,不需要应用程序响应外界软件升级需求再跳转至BootLoader,从而提高软件升级效率,满足远程升级软件的时间性能要求,节省了时间成本和人力成本。
本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种基于多核技术的汽车控制器软件升级系统,其特征在于:它包括第一控制器核和第二控制器核,所述第一控制器核用于判断第二控制器核中控制器实现的应用功能对应的应用程序的有效性,当应用功能对应的应用程序均有效时,启动第二控制器核中对应应用程序;
所述第二控制器核中的应用程序启动后需要针对所述应用程序对应的具体应用模块进行硬件资源初始化;
所述第一控制器核的检测模块实时监测是否接收到了外部升级请求,一旦接收到外部升级请求,第一控制器核的启动加载程序调用第一控制器核的判断模块并利用预设的软件升级判断逻辑来判断整车状态是否满足软件升级条件;
所述第一控制器核中的处理模块用于进行升级数据下载和校验处理,同时关闭第二控制器核;
所述第一控制器核中的升级模块包括数据清除单元和升级子单元,数据清除单元用于对第二控制器核执行程序区内原有的程序进行清除,升级子单元用于对待升级的第二控制器核进行程序升级操作。
2.根据权利要求1所述的基于多核技术的汽车控制器软件升级方法,其特征在于:所述第一控制器核与第二控制器核之间通过核间通讯机制共享车辆状态数据。
3.根据权利要求2所述的基于多核技术的汽车控制器软件升级系统,其特征在于:所述车辆状态数据包括车速、电池电压、档位、发动机转速数据。
4.根据权利要求1所述的基于多核技术的汽车控制器软件升级系统,其特征在于:所述外部升级请求由诊断设备通过CAN接口或远程车联网后台利用互联网通信接口发出。
5.根据权利要求1所述的基于多核技术的汽车控制器软件升级系统,其特征在于:判断整车状态所需的数据是由第二控制器核运行的应用程序通过核间数据分享的方式分享给第一控制器核的启动加载程序。
6.根据权利要求1所述的基于多核技术的汽车控制器软件升级系统,其特征在于:第一控制器核中的处理模块进行升级数据下载和校验处理的具体方式为采用整车厂升级通讯协议进行升级数据的下载,并进行升级数据完整性校验。
7.根据权利要求1所述的基于多核技术的汽车控制器软件升级系统,其特征在于:升级子单元对待升级的控制器核2进行程序升级操作的具体方式为首先将第二控制器核所分配的程序存储空间里的数据全部清除,清除完成后,计算升级数据大小,从程序存储空间的开始地址写入数据,直到写完最后一个数据,最后进行数据完整性校验,校验成功后即升级完成。
8.一种基于多核技术的汽车控制器软件升级方法,其特征在于,它包括如下步骤:
步骤1:第一控制器核的启动加载程序运行,实现第一控制器核的硬件初始化;
步骤2:第一控制器核判断第二控制器核中控制器实现的应用功能对应的应用程序的有效性,当应用功能对应的应用程序均有效时,启动第二控制器核中对应应用程序;
步骤3:第二控制器核中的应用程序启动后需要针对所述应用程序对应的具体应用模块进行硬件资源初始化;至此,第一控制器核的启动加载程序与第二控制器核的应用程序同时运行,第一控制器核与第二控制器核之间共享车辆状态数据;
步骤4:第一控制器核的检测模块实时监测是否接收到了外部升级请求,一旦接收到外部升级请求,第一控制器核的启动加载程序调用第一控制器核的判断模块并利用预设的软件升级判断逻辑来判断整车状态是否满足软件升级条件。
步骤5:整车状态满足升级条件后,第一控制器核中的处理模块进行升级数据下载和校验处理,同时关闭第二控制器核;
步骤6:第一控制器核中的升级模块包括数据清除单元和升级子单元,数据清除单元对第二控制器核执行程序区内原有的程序进行清除,升级子单元对待升级的第二控制器核进行程序升级操作。
9.根据权利要求8所述的基于多核技术的汽车控制器软件升级方法,其特征在于:步骤6后还包括步骤7:升级完成后,第一控制器核进行复位。
10.根据权利要求9所述的基于多核技术的汽车控制器软件升级方法,其特征在于:所述步骤7中,在复位执行前,升级模块应当删除RAM中的程序,同时将第二控制器核的应用程序标记为更新过的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010261643.7A CN111475191B (zh) | 2020-04-04 | 2020-04-04 | 基于多核技术的汽车控制器软件升级系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010261643.7A CN111475191B (zh) | 2020-04-04 | 2020-04-04 | 基于多核技术的汽车控制器软件升级系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111475191A true CN111475191A (zh) | 2020-07-31 |
CN111475191B CN111475191B (zh) | 2023-06-06 |
Family
ID=71749839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010261643.7A Active CN111475191B (zh) | 2020-04-04 | 2020-04-04 | 基于多核技术的汽车控制器软件升级系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111475191B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590160A (zh) * | 2021-08-13 | 2021-11-02 | 北京经纬恒润科技股份有限公司 | 一种软件在线升级方法及多核ecu |
CN116578326A (zh) * | 2023-05-23 | 2023-08-11 | 南京国电南自电网自动化有限公司 | 基于多核处理器的继电保护程序在线升级的装置及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030014673A1 (en) * | 2001-07-16 | 2003-01-16 | Francotyp Postalia Ag & Co. Kg | Arrangement and method for modifying the functionality of a security module |
CN101192165A (zh) * | 2006-11-29 | 2008-06-04 | 中兴通讯股份有限公司 | 主从式多处理器系统以及软件版本加载方法 |
CN102646045A (zh) * | 2012-03-08 | 2012-08-22 | 杭州海康威视数字技术股份有限公司 | 多处理器系统及其并行启动方法 |
CN103713932A (zh) * | 2014-01-21 | 2014-04-09 | 北京经纬恒润科技有限公司 | 一种电子控制单元中应用程序的更新方法及装置 |
CN105259806A (zh) * | 2015-10-16 | 2016-01-20 | 珠海格力电器股份有限公司 | 控制器升级方法和系统及主控制器和从控制器 |
CN106775588A (zh) * | 2016-11-30 | 2017-05-31 | 合肥科迈捷智能传感技术有限公司 | 一种基于主从处理器架构的固件升级方法 |
CN107402847A (zh) * | 2017-07-28 | 2017-11-28 | 安徽江淮汽车集团股份有限公司 | 一种整车控制器软件的远程升级方法及系统 |
CN107861745A (zh) * | 2017-11-30 | 2018-03-30 | 厦门科华恒盛股份有限公司 | 一种应用程序在线升级方法、装置、设备及存储介质 |
-
2020
- 2020-04-04 CN CN202010261643.7A patent/CN111475191B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030014673A1 (en) * | 2001-07-16 | 2003-01-16 | Francotyp Postalia Ag & Co. Kg | Arrangement and method for modifying the functionality of a security module |
CN101192165A (zh) * | 2006-11-29 | 2008-06-04 | 中兴通讯股份有限公司 | 主从式多处理器系统以及软件版本加载方法 |
CN102646045A (zh) * | 2012-03-08 | 2012-08-22 | 杭州海康威视数字技术股份有限公司 | 多处理器系统及其并行启动方法 |
CN103713932A (zh) * | 2014-01-21 | 2014-04-09 | 北京经纬恒润科技有限公司 | 一种电子控制单元中应用程序的更新方法及装置 |
CN105259806A (zh) * | 2015-10-16 | 2016-01-20 | 珠海格力电器股份有限公司 | 控制器升级方法和系统及主控制器和从控制器 |
CN106775588A (zh) * | 2016-11-30 | 2017-05-31 | 合肥科迈捷智能传感技术有限公司 | 一种基于主从处理器架构的固件升级方法 |
CN107402847A (zh) * | 2017-07-28 | 2017-11-28 | 安徽江淮汽车集团股份有限公司 | 一种整车控制器软件的远程升级方法及系统 |
CN107861745A (zh) * | 2017-11-30 | 2018-03-30 | 厦门科华恒盛股份有限公司 | 一种应用程序在线升级方法、装置、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590160A (zh) * | 2021-08-13 | 2021-11-02 | 北京经纬恒润科技股份有限公司 | 一种软件在线升级方法及多核ecu |
CN116578326A (zh) * | 2023-05-23 | 2023-08-11 | 南京国电南自电网自动化有限公司 | 基于多核处理器的继电保护程序在线升级的装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111475191B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107976986B (zh) | 用于对车辆电子控制模块编程的方法 | |
US9880927B2 (en) | Functionally expandable vehicle control device and method for supplementing the functionality of a vehicle control device | |
CN110825403A (zh) | 一种汽车电子控制单元ecu刷写的方法及系统 | |
CN102135922B (zh) | 应用程序的刷新方法和系统 | |
CN104572141A (zh) | 车用电控单元ecu的引导程序的在线更新方法 | |
CN109522033B (zh) | 一种基于器件运行自编程和双中断向量表的ecu程序与数据升级方法 | |
CN111475191B (zh) | 基于多核技术的汽车控制器软件升级系统及方法 | |
CN105573807A (zh) | 一种基于can总线的ecu在线程序升级系统及方法 | |
CN102103511A (zh) | 应用程序的刷新方法和系统 | |
CN102591327A (zh) | 一种面向汽车车身控制开发的虚实结合测试方法 | |
CN109857426A (zh) | Bootloader程序更新方法、装置、电子设备及存储介质 | |
KR20210041972A (ko) | 차량 ecu 소프트웨어 업데이트 장치 | |
WO2021027038A1 (zh) | 基板管理控制器及其构建方法 | |
CN111414182B (zh) | 一种基于spi的fpga远程升级方法 | |
CN116560688A (zh) | 用于域控制器的软件更新方法 | |
CN116755737A (zh) | 汽车软件ota升级方法、装置、设备、存储介质及程序 | |
CN116893837A (zh) | 一种用于电动汽车的ecu的无感刷新方法 | |
Bogdan et al. | Design and implementation of a bootloader in the context of intelligent vehicle systems | |
CN113454608A (zh) | 用于更新机动车辆计算机以向其添加附加功能的更新方法 | |
CN112445508A (zh) | 一种基于can总线的arm应用程序在线升级的方法 | |
CN113434163B (zh) | 适用于电子控制单元的在线标定方法、系统、设备及介质 | |
CN107229457B (zh) | 电子控制器的引导加载方法、装置、电子控制器及汽车 | |
WO2024108456A1 (zh) | 一种控制器升级方法以及装置 | |
CN118132123B (zh) | 一种应用软件在线升级及安全启动方法 | |
CN203658989U (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |