CN112732295B - 一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质 - Google Patents
一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112732295B CN112732295B CN202011631771.2A CN202011631771A CN112732295B CN 112732295 B CN112732295 B CN 112732295B CN 202011631771 A CN202011631771 A CN 202011631771A CN 112732295 B CN112732295 B CN 112732295B
- Authority
- CN
- China
- Prior art keywords
- firmware
- core
- sub
- refreshing
- flashing
- 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.)
- Active
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Abstract
本发明公开了一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质。它将待刷写的整段固件按顺序分为若干段子固件,采用主核和次核依次交替刷写的方式刷写每段子固件,直至所有子固件刷写完成。本发明采用主核和次核实现对固件的不间断的刷新和校验,不需要等待一个核的固件完全刷新和校验完毕再进行另外一个核的固件刷新,能较大的提高固件刷新的实效性。
Description
技术领域
本发明属于软件更新技术领域,具体涉及一种基于多核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 (8)
1.一种基于多核ECU的Boot loader刷写方法,其特征在于:将待刷写的整段固件按顺序分为若干段子固件,采用主核和次核依次交替刷写的方式刷写每段子固件,直至所有子固件刷写完成;
所述刷写包括刷新和校验两个过程,所述刷新的时间大于所述校验的时间;所述主核和次核依次交替刷写的方式为:主核完成第i段子固件的刷新后,主核继续进行第i段子固件的校验,同时次核开始进行第i+1段子固件的刷新;次核完成第i+1段子固件的刷新后,次核继续进行第i+1段子固件的校验,同时主核开始进行第i+2段子固件的刷新,如此反复刷写直至所有子固件刷写完成。
2.根据权利要求1所述的基于多核ECU的Boot loader刷写方法,其特征在于:所述主核完成第i段子固件的刷新后,同步次核,并将固件刷新的权限转移给次核,次核再进行第i+1段子固件的刷新;次核完成第i+1段子固件的刷新后,同步主核,并将固件刷新的权限转移给主核。
3.根据权利要求1所述的基于多核ECU的Boot loader刷写方法,其特征在于:每段子固件刷写完成后,由应用层通信协议判别是否完成所有子固件的刷写。
4.根据权利要求3所述的基于多核ECU的Boot loader刷写方法,其特征在于:所述应用层通信协议为UDS。
5.根据权利要求1所述的基于多核ECU的Boot loader刷写方法,其特征在于:所有子固件刷写完成后,由主核完成基于块校验的完整校验。
6.根据权利要求5所述的基于多核ECU的Boot loader刷写方法,其特征在于:所述完整校验为CRC32校验。
7.一种电子设备,其特征在于:包括
存储器,用于存储一个或多个程序;
处理器;
当所述一个或多个程序被所述处理器执行时,实现如权利要求1-6中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
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 CN112732295A (zh) | 2021-04-30 |
CN112732295B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590160A (zh) * | 2021-08-13 | 2021-11-02 | 北京经纬恒润科技股份有限公司 | 一种软件在线升级方法及多核ecu |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646082A (zh) * | 2013-12-12 | 2014-03-19 | 北京奇虎科技有限公司 | 一种文件校验的方法及装置 |
CN104090795A (zh) * | 2014-07-08 | 2014-10-08 | 三星电子(中国)研发中心 | 实现多核移动终端升级的方法、系统及装置 |
CN107977233A (zh) * | 2016-10-19 | 2018-05-01 | 华为技术有限公司 | 内核镜像文件快速加载方法和装置 |
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端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8972966B2 (en) * | 2012-01-05 | 2015-03-03 | Lenovo (Singapore) Pte. Ltd. | Updating firmware in a hybrid computing environment |
US10503892B2 (en) * | 2017-06-25 | 2019-12-10 | Microsoft Technology Licensing, Llc | Remote attestation for multi-core processor |
-
2020
- 2020-12-31 CN CN202011631771.2A patent/CN112732295B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646082A (zh) * | 2013-12-12 | 2014-03-19 | 北京奇虎科技有限公司 | 一种文件校验的方法及装置 |
CN104090795A (zh) * | 2014-07-08 | 2014-10-08 | 三星电子(中国)研发中心 | 实现多核移动终端升级的方法、系统及装置 |
CN107977233A (zh) * | 2016-10-19 | 2018-05-01 | 华为技术有限公司 | 内核镜像文件快速加载方法和装置 |
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)
Title |
---|
多核ECU的架构挑战及分析工具;糖果Autosar;《https://blog.csdn.net/huihuige092/article/details/104913779》;20200317;1-14 * |
汽车 ECU 升级初探;bonson2004;《https://blog.csdn.net/bonson2004/article/details/68945797》;20170401;1-13 * |
Also Published As
Publication number | Publication date |
---|---|
CN112732295A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105550229B (zh) | 分布式存储系统数据修复的方法和装置 | |
US20210049715A1 (en) | Blockchain-based data procesing method, apparatus, and electronic device | |
CN110377436A (zh) | 持久性内存的数据存储访问方法、设备及装置 | |
CN110399227B (zh) | 一种数据访问方法、装置和存储介质 | |
CN109951547A (zh) | 事务请求并行处理方法、装置、设备和介质 | |
CN112732295B (zh) | 一种基于多核ECU的Boot loader刷写方法、电子设备及存储介质 | |
CN111198705A (zh) | 一种防止ecu刷死的内存备份方法、装置、存储介质及电子设备 | |
CN105550306A (zh) | 多副本数据的读写方法及系统 | |
CN111880956A (zh) | 一种数据同步方法和装置 | |
CN111507694A (zh) | 区块链跨链交互方法及系统 | |
US8312239B2 (en) | Cache management for increasing performance of high-availability multi-core systems | |
CN105302489A (zh) | 一种异构多核远程嵌入式存储器系统与方法 | |
CN105938446B (zh) | 基于rdma和硬件事务性内存支持的数据复制容错方法 | |
US20210303403A1 (en) | Transaction processing method, apparatus, and electronic device for blockchain | |
CN111597035B (zh) | 基于多线程的仿真引擎时间推进方法及系统 | |
CN109298953B (zh) | 一种共享内存数据读写的装置和方法 | |
CN114661818B (zh) | 图数据库中集群间数据实时同步的方法、系统和介质 | |
CN102904946A (zh) | 集群内节点管理方法和装置 | |
US9317322B2 (en) | Simulating synchronous execution of asynchronous operations | |
CN111625606B (zh) | 一种联盟链数据处理方法、装置以及电子设备 | |
CN114692431B (zh) | 一种避免仿真模型库膨胀提高模型重用度的方法 | |
CN115905402B (zh) | 处理事务日志的方法及装置 | |
CN112817717B (zh) | 一种定时任务的调度方法及装置 | |
CN103973723A (zh) | 一种集中式科学数据同步的方法和系统 | |
CN105404599B (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 |