CN112732295A - 一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质 - Google Patents

一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质 Download PDF

Info

Publication number
CN112732295A
CN112732295A CN202011631771.2A CN202011631771A CN112732295A CN 112732295 A CN112732295 A CN 112732295A CN 202011631771 A CN202011631771 A CN 202011631771A CN 112732295 A CN112732295 A CN 112732295A
Authority
CN
China
Prior art keywords
firmware
core
sub
refreshing
boot loader
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
Application number
CN202011631771.2A
Other languages
English (en)
Other versions
CN112732295B (zh
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.)
Dongfeng Motor Corp
Original Assignee
Dongfeng Motor Corp
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 Dongfeng Motor Corp filed Critical Dongfeng Motor Corp
Priority to CN202011631771.2A priority Critical patent/CN112732295B/zh
Publication of CN112732295A publication Critical patent/CN112732295A/zh
Application granted granted Critical
Publication of CN112732295B publication Critical patent/CN112732295B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Abstract

本发明公开了一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质。它将待刷写的整段固件按顺序分为若干段子固件,采用主核和次核依次交替刷写的方式刷写每段子固件,直至所有子固件刷写完成。本发明采用主核和次核实现对固件的不间断的刷新和校验,不需要等待一个核的固件完全刷新和校验完毕再进行另外一个核的固件刷新,能较大的提高固件刷新的实效性。

Description

一种基于多核ECU的Boot loader刷写方法、电子设备及存储 介质
技术领域
本发明属于软件更新技术领域,具体涉及一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质。
背景技术
随着软件定义汽车的发展趋势,多传感器融合技术的提升,对ECU的性能要求大大提高,多核应用的需求随之普及。在多核ECU的bootloader(引导加载程序)开发中,固件更新的可靠性和时效性是关键指标。通常ECU固件的更新分为两个大的步骤刷新和校验,现有均是采用单核刷写,要么是每段刷新完成再进行校验,或者是等待完整更新程序传输完成之后进行校验。前一种方式,每段固件刷新完成后启动校验程序完成对固件的校验以确保固件的可靠性,但两个步骤是分时来完成的,在时效性上略显欠缺;后一种方式,传输完成之后等待校验完成时间较长,且如果刷写程序存在校验问题不能及时发现。
发明内容
本发明的目的就是为了解决上述背景技术存在的不足,提供一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质。
本发明采用的技术方案是:一种基于多核ECU的Boot loader刷写方法,将待刷写的整段固件按顺序分为若干段子固件,采用主核和次核依次交替刷写的方式刷写每段子固件,直至所有子固件刷写完成。
进一步地,所述刷写包括刷新和校验两个过程,所述主核和次核依次交替刷写的方式为:主核完成第i段子固件的刷新后,主核继续进行第i段子固件的校验,同时次核开始进行第i+1段段子固件的刷新;次核完成第i+1段子固件的刷新后,次核继续进行第i+1段子固件的校验,同时主核核开始进行第i+2段子固件的刷新,如此反复刷写直至所有子固件刷写完成。
进一步地,所述主核完成第i段子固件的刷新后,同步次核,并将固件刷新的权限转移给次核,次核再进行第i+1段段子固件的刷新;次核完成第i+1段子固件的刷新后,同步主核,并将固件刷新的权限转移给主核。
进一步地,所述刷新的时间大于所述校验的时间。
进一步地,每段子固件刷写完成后,由应用层通信协议判别是否完成所有子固件的刷写。
进一步地,所述应用层通信协议为UDS
进一步地,所有子固件刷写完成后,由主核完成基于块校验的完整校验。
更进一步地,所述完整校验为CRC32校验。
一种电子设备,包括
存储器,用于存储一个或多个程序;
处理器;
当所述一个或多个程序被所述处理器执行时,实现如权利要求1-8中任一项所述的方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法。
本发明采用主核和次核实现对固件的不间断的刷新和校验,不需要等待一个核的固件完全刷新和校验完毕再进行另外一个核的固件刷新,能较大的提高固件刷新的实效性,一个高可靠性和时效性的bootloader系统不仅有利于减少ECU下线检测时的时间,也可以防止维修工程师的误操作带来不必要的麻烦。
附图说明
图1为本发明Boot loader固件刷写的流程图。
图2为本发明Boot loader固件刷写的时间轴。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以互相结合。
如图1、图2所示,本发明提供一种基于多核ECU的Boot loader刷写方法,将待刷写的整段固件按顺序分为若干段子固件,采用主核和次核依次交替刷写的方式刷写每段子固件,直至所有子固件刷写完成。其中每段子固件完成后,由应用层通信协议判别是否完成所有子固件的刷写,所述应用层通信协议为UDS(统一诊断服务)。所有子固件刷写完成后,由主核完成基于块校验的完整校验,完整校验为CRC32校验(CRC即循环冗余校验)。
上述方案中,刷写包括刷新和校验两个过程,刷新的时间大于所述校验的时间。所述主核和次核依次交替刷写的方式为:主核完成第i段子固件的刷新后,主核继续进行第i段子固件的校验,并同步次核,将固件刷新的权限转移给次核,之后次核开始进行第i+1段段子固件的刷新;次核完成第i+1段子固件的刷新后,次核继续进行第i+1段子固件的校验,同步主核,并将固件刷新的权限转移给主核,之后主核核开始进行第i+2段子固件的刷新,如此反复刷写直至所有子固件刷写完成。
利用多核架构,可实现多线程特性,使ECU宏观上处于不间断刷写状态。从时间轴上看,整个固件刷新过程中,刷新过程是不间断的,同时也完成了对刷新固件的校验,宏观上实现了固件的刷新和校验的同时进行,较大提高了固件刷新的实效性。
本发明还提供一种电子设备,包括存储器和处理器,存储器,用于存储一个或多个程序;当所述一个或多个程序被所述处理器执行时,实现如上述的Boot loader固件刷写方法。所述电子设备可以是但不限于是智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)等等。
上述Boot loader固件刷写方法实现的功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种基于多核ECU的Boot loader刷写方法,其特征在于:将待刷写的整段固件按顺序分为若干段子固件,采用主核和次核依次交替刷写的方式刷写每段子固件,直至所有子固件刷写完成。
2.根据权利要求1所述的基于多核ECU的Boot loader刷写方法,其特征在于:所述刷写包括刷新和校验两个过程,所述主核和次核依次交替刷写的方式为:主核完成第i段子固件的刷新后,主核继续进行第i段子固件的校验,同时次核开始进行第i+1段段子固件的刷新;次核完成第i+1段子固件的刷新后,次核继续进行第i+1段子固件的校验,同时主核核开始进行第i+2段子固件的刷新,如此反复刷写直至所有子固件刷写完成。
3.根据权利要求2所述的基于多核ECU的Boot loader刷写方法,其特征在于:所述主核完成第i段子固件的刷新后,同步次核,并将固件刷新的权限转移给次核,次核再进行第i+1段段子固件的刷新;次核完成第i+1段子固件的刷新后,同步主核,并将固件刷新的权限转移给主核。
4.根据权利要求2所述的基于多核ECU的Boot loader刷写方法,其特征在于:所述刷新的时间大于所述校验的时间。
5.根据权利要求1所述的基于多核ECU的Boot loader刷写方法,其特征在于:每段子固件刷写完成后,由应用层通信协议判别是否完成所有子固件的刷写。
6.根据权利要求5所述的基于多核ECU的Boot loader刷写方法,其特征在于:所述应用层通信协议为UDS。
7.根据权利要求1所述的基于多核ECU的Boot loader刷写方法,其特征在于:所有子固件刷写完成后,由主核完成基于块校验的完整校验。
8.根据权利要求7所述的基于多核ECU的Boot loader刷写方法,其特征在于:所述完整校验为CRC32校验。
9.一种电子设备,其特征在于:包括
存储器,用于存储一个或多个程序;
处理器;
当所述一个或多个程序被所述处理器执行时,实现如权利要求1-8中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
CN202011631771.2A 2020-12-31 2020-12-31 一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质 Active CN112732295B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011631771.2A CN112732295B (zh) 2020-12-31 2020-12-31 一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011631771.2A CN112732295B (zh) 2020-12-31 2020-12-31 一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112732295A true CN112732295A (zh) 2021-04-30
CN112732295B CN112732295B (zh) 2022-11-01

Family

ID=75608345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011631771.2A Active CN112732295B (zh) 2020-12-31 2020-12-31 一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112732295B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590160A (zh) * 2021-08-13 2021-11-02 北京经纬恒润科技股份有限公司 一种软件在线升级方法及多核ecu

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130179870A1 (en) * 2012-01-05 2013-07-11 Lenovo (Singapore) Pte. Ltd. Updating firmware in a hybrid computing environment
CN103646082A (zh) * 2013-12-12 2014-03-19 北京奇虎科技有限公司 一种文件校验的方法及装置
CN104090795A (zh) * 2014-07-08 2014-10-08 三星电子(中国)研发中心 实现多核移动终端升级的方法、系统及装置
CN107977233A (zh) * 2016-10-19 2018-05-01 华为技术有限公司 内核镜像文件快速加载方法和装置
US20180373863A1 (en) * 2017-06-25 2018-12-27 Microsoft Technology Licensing, Llc Remote attestation for multi-core processor
JP2019053452A (ja) * 2017-09-14 2019-04-04 株式会社明電舎 情報処理装置
CN110806942A (zh) * 2019-11-08 2020-02-18 广州华多网络科技有限公司 数据处理的方法和装置
CN111475362A (zh) * 2020-04-20 2020-07-31 西安太乙电子有限公司 一种多核同构dsp处理器测试系统及方法
CN111930407A (zh) * 2020-10-19 2020-11-13 广州汽车集团股份有限公司 车辆ecu软件升级方法、系统、车载tbox的微控制器和soc端

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130179870A1 (en) * 2012-01-05 2013-07-11 Lenovo (Singapore) Pte. Ltd. Updating firmware in a hybrid computing environment
CN103646082A (zh) * 2013-12-12 2014-03-19 北京奇虎科技有限公司 一种文件校验的方法及装置
CN104090795A (zh) * 2014-07-08 2014-10-08 三星电子(中国)研发中心 实现多核移动终端升级的方法、系统及装置
CN107977233A (zh) * 2016-10-19 2018-05-01 华为技术有限公司 内核镜像文件快速加载方法和装置
US20180373863A1 (en) * 2017-06-25 2018-12-27 Microsoft Technology Licensing, Llc Remote attestation for multi-core processor
JP2019053452A (ja) * 2017-09-14 2019-04-04 株式会社明電舎 情報処理装置
CN110806942A (zh) * 2019-11-08 2020-02-18 广州华多网络科技有限公司 数据处理的方法和装置
CN111475362A (zh) * 2020-04-20 2020-07-31 西安太乙电子有限公司 一种多核同构dsp处理器测试系统及方法
CN111930407A (zh) * 2020-10-19 2020-11-13 广州汽车集团股份有限公司 车辆ecu软件升级方法、系统、车载tbox的微控制器和soc端

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BONSON2004: "汽车 ECU 升级初探", 《HTTPS://BLOG.CSDN.NET/BONSON2004/ARTICLE/DETAILS/68945797》 *
糖果AUTOSAR: "多核ECU的架构挑战及分析工具", 《HTTPS://BLOG.CSDN.NET/HUIHUIGE092/ARTICLE/DETAILS/104913779》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590160A (zh) * 2021-08-13 2021-11-02 北京经纬恒润科技股份有限公司 一种软件在线升级方法及多核ecu

Also Published As

Publication number Publication date
CN112732295B (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
CN109062512B (zh) 一种分布式存储集群、数据读写方法、系统及相关装置
CN108268501B (zh) 一种在线数据迁移过程中的业务处理方法及装置
CN110377436A (zh) 持久性内存的数据存储访问方法、设备及装置
US20210049715A1 (en) Blockchain-based data procesing method, apparatus, and electronic device
CN110399227B (zh) 一种数据访问方法、装置和存储介质
CN103729304A (zh) 数据处理方法及装置
CN105808374B (zh) 一种快照处理方法及相关设备
CN105550306A (zh) 多副本数据的读写方法及系统
CN112732295B (zh) 一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质
CN111198705A (zh) 一种防止ecu刷死的内存备份方法、装置、存储介质及电子设备
CN111880956A (zh) 一种数据同步方法和装置
CN111507694A (zh) 区块链跨链交互方法及系统
US8312239B2 (en) Cache management for increasing performance of high-availability multi-core systems
CN105938446B (zh) 基于rdma和硬件事务性内存支持的数据复制容错方法
US20210303403A1 (en) Transaction processing method, apparatus, and electronic device for blockchain
CN111597035B (zh) 基于多线程的仿真引擎时间推进方法及系统
CN109298953B (zh) 一种共享内存数据读写的装置和方法
CN114661818B (zh) 图数据库中集群间数据实时同步的方法、系统和介质
US9317322B2 (en) Simulating synchronous execution of asynchronous operations
CN111625606B (zh) 一种联盟链数据处理方法、装置以及电子设备
CN103685350B (zh) 存储系统的同步方法及相关的设备
KR20070062537A (ko) 혼합된 아키텍처를 갖는 시스템에서 원자적 연산을이용하여 정보 유닛을 수정하기 위한 방법 및 장치
CN115905402B (zh) 处理事务日志的方法及装置
EP4174645A1 (en) Mirror image distribution method, electronic device, and storage medium
CN114692431B (zh) 一种避免仿真模型库膨胀提高模型重用度的方法

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