CN117762449A - 一种毫米波雷达软件升级备份方法 - Google Patents
一种毫米波雷达软件升级备份方法 Download PDFInfo
- Publication number
- CN117762449A CN117762449A CN202311755716.8A CN202311755716A CN117762449A CN 117762449 A CN117762449 A CN 117762449A CN 202311755716 A CN202311755716 A CN 202311755716A CN 117762449 A CN117762449 A CN 117762449A
- Authority
- CN
- China
- Prior art keywords
- file
- software
- boot2
- app1
- boot3
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 claims abstract description 46
- 230000008569 process Effects 0.000 claims abstract description 14
- 238000004891 communication Methods 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 abstract description 6
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001680 brushing effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明属于雷达技术领域,具体涉及一种毫米波雷达软件升级备份方法,软件升级备份方案为:boot1+boot2+boot3+app1+app2,涉及到的硬件有MCU和外部flash芯片;涉及到软件有boot1、boo2和app1。boot1为一级bootloader,主要为备份文件拷贝及跳转boot2;boot2为二级bootloader,主要为跳转app校验及升级功能;boot3为备份bootloader;app1为正常app,运行app;app2为备份app,本发明保证了boot及app不管在任何情况下刷写失败后,雷达都能够从安全稳定启动后重新进行升级,用于保障系统的稳定性和可用性,尤其是对于关键系统和可靠性要求高的应用,在3级boot加上2级app的架构下,不仅可以随意升级boot和app,升级失败后能立即上电重新安全稳定工作,提高了雷达固件升级过程的抗风险能力。
Description
技术领域
本发明属于雷达技术领域,具体涉及一种毫米波雷达软件升级备份方法。
背景技术
近年来车路协同技术蓬勃发展,基于雷达的路测感知系统需求日益旺盛。通常路侧感知采用毫米波雷达进行项目实施,在实施过程中,需要针对实际的检测环境、定制化需求对雷达固件进行频繁的迭代优化。且因检测环境千差万别,通常需要对雷达固件进行定制开发,以至于同一项目的正常运营需要多个版本的雷达固件。
而雷达家族中的一部分特殊产品,例如毫米波雷达由于应用场景特殊,场地分散、安装度高、内网环境。绝大部分时候需要通过网络进行远程升级,但是因为可能存在的通讯质量不稳定、低速率等各种不确定性因素导致升级失败。雷达在任何时候都不允许处于不可启动的状态,我们需要确保在升级过程中发生的任何错误都能回退到安全固件运行,而传统的通信设备固件升级方法,一旦固件在升级过程中出现问题,很可能导致设备宕机。
发明内容
本发明的目的在于提供一种毫米波雷达软件升级备份方法,提高了雷达固件升级过程的抗风险能力,以解决上述背景技术中提出现有技术中的问题。
为实现上述目的,本发明采用了如下技术方案:
一种毫米波雷达软件升级备份方法,包括:将软件包烧录到flash芯片,所述软件包包括boot1、boot2和app1;对雷达第一次上电,软件首先进入boot1中并判断boot3及app2是否存在,然后软件对boot2文件进行文件完整性校验后将boot2文件拷贝到boot3文件地址,拷贝完成后,软件对boot3文件进行文件完整性校验,然后设定boot3Flag的数值并保存;在判断app2Flag的数值与boot3Flag的数值不同时,软件对app1文件进行文件完整性校验成功后,将app1文件拷贝到app2文件地址,拷贝完成后,软件对app2文件进行文件完整性校验正常后,设定app2Flag的数值并保存;软件在app1中收到升级命令时,软件设置一次升级标志位并且进行复位;从boot1进入boot2,软件在boot2中判断是否有升级标志,并进行升级操作;在app1或boot2升级成功后,进行文件完整性校验,将app1文件备份到app2地址;在升级boot2后,对比升级后的boot2和boot3的版本号前两位,不相同则抹除boot3文件,将boot2文件重新备份到boot3文件的所在地址。
优选的,所述软件首先进入boot1中并判断boot3及app2是否存在,包括:在boot1里软件通过读取flash里boot3Flag和app2Flag通过存在标志判断boot3及app2是否存在。
优选的,所述存在标志包括:boot3的存在标志为boot3Flag的数值是否等于0x7EE7;app2的存在标志为app2Flag的数值是否等于0x7EE7。
优选的,所述boot3Flag的数值设定为0x7EE7。
优选的,所述app2Flag的数值设置为0x7EE7。
优选的,在所述雷达第一次上电后,完成boot2文件和app1文件的备份,备份文件分别为boot3和app2。
优选的,所述软件在app1中收到升级命令时,软件设置一次升级标志位并且进行复位,包括:跳转回到boot1,在boot1中判断boot3Flag的数值是否等于0x7EE7或者app2Flag的数值是否等于0x7EE7。
优选的,所述升级操作,包括:独立升级新的app1文件或独立升级新的boot2文件,或者两者一起升级。
优选的,还包括:在升级过程中,因通讯不稳定或者断电,导致app1或者boot2升级失败时,在重启boot1后,将boot3备份文件拷贝到boot2,app2备份文件拷贝到app1。
本发明的技术效果和优点:本发明提出的一种毫米波雷达软件升级备份方法,与现有技术相比,具有以下优点:
本发明保证了boot及app不管在任何情况下刷写失败后,雷达都能够从安全稳定启动后重新进行升级,用于保障系统的稳定性和可用性,尤其是对于关键系统和可靠性要求高的应用,在3级boot加上2级app的架构下,不仅可以随意升级boot和app,升级失败后能立即上电重新安全稳定工作,提高了雷达固件升级过程的抗风险能力。
附图说明
图1为本发明雷达硬件框架图;
图2为本发明Flash芯片内部分区示意图;
图3为本发明雷达上电的启动过程流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中提供了一种毫米波雷达软件升级备份方法,旨在保证了boot及app不管在任何情况下刷写失败后,雷达都能够从安全稳定启动后重新进行升级,用于保障系统的稳定性和可用性,尤其是对于关键系统和可靠性要求高的应用,在3级boot加上2级app的架构下,不仅可以随意升级boot和app,升级失败后能立即上电重新安全稳定工作,提高了雷达固件升级过程的抗风险能力。
在详述上述的毫米波雷达软件升级备份方法之前需要对其涉及到的软件、硬件进行说明,如下。
雷达主要硬件构成,如图1所示:毫米波雷达的主要硬件构成:MCU(Microcontroller Unit,微控制器单元):负责控制雷达系统的整体操作和处理任务。FLASH(闪存)芯片:用于存储雷达系统的程序代码和相关数据,可以快速读取和写入。PMIC(Power Management Integrated Circuit,功率管理集成电路):负责管理雷达系统的电源供应和功耗管理,包括电池管理、功率转换和电源监控等功能。这些硬件组件一起协同工作,使得雷达系统能够运行正常,并提供所需的功能和性能。
雷达上电的启动过程,如图3所示,雷达软件由bootloader(简称boot)+app组成;
bootloader是一段固化在放在FLASH中的程序加载代码,连接底层硬件与应用程序。主要功能是完成微处理器与周边电路正常运行的初始化工作,建立内存空间的映射,判断系统能否运行,将系统的软硬件环境带到一个合适的状态,加载flash中的系统程序或者数据,每次mcu复位后,都会运行bootloader。
在本实施例中主要说明毫米波雷达(基于220P型号)的升级备份是如何实现的,传统的软件升级方案为:boot+app,boot当雷达运行在app,收到升级任务,会跳转到boot下进行app升级操作,擦除flash中app的存储位置,重新写入app程序,如果升级过程中通讯出现问题或者电压不稳定,app将升级失败,下次开机必须在boot下进行app再次升级,升级效率不高以及boot也升级不了,如果有需求需要修改到boot,软件无法对boot进行升级。
传统的升级方案boot+app,只能升级app并且app升级失败后必须重新等待升级,效率不高,需求也不满足。此方案改为3级boot加上2级app的架构下,不仅可以随意升级boot和app,升级失败后能立即上电重新安全稳定工作。
本方法是:boot1+boot2+boot3+app1+app2,涉及到的硬件有MCU和外部flash芯片;涉及到软件有boot1、boo2和app1。boot1为一级bootloader,主要为备份文件拷贝及跳转boot2;boot2为二级bootloader,主要为跳转app校验及升级功能;boot3为备份bootloader;app1为正常app,运行app;app2为备份app,具体如下。
在本实施例中一种毫米波雷达软件升级备份方法,包括如下步骤:
通过硕飞烧录工具直接将软件包烧录到flash芯片,所述软件包包括boot1、boot2和app1;
对雷达第一次上电,软件首先进入boot1中并判断boot3及app2是否存在,然后软件对boot2文件进行文件完整性校验后将boot2文件拷贝到boot3文件地址,拷贝完成后,软件对boot3文件进行文件完整性校验,然后设定boot3Flag的数值并保存;
具体的,雷达第一次上电,软件首先进入boot1中,在boot1里软件通过读取flash里boot3Flag和app2Flag判断boot3及app2是否存在,即boot3存在标志boot3Flag的数值是否等于0x7EE7和app2存在标志app2Flag的数值是否等于0x7EE7。由于是雷达硬件第一次上电,所以boot3Flag和app2Flag的数值是初始值(0x0或者0xFFFF),此时软件判断boot3Flag的数值都不等于0x7EE7,然后软件会对boot2文件进行文件完整性校验(boot2文件是否能正常启动),校验成功后,将boot2文件拷贝到boot3文件地址。拷贝完成后,软件会对boot3文件进行文件完整性校验(boot3文件是否能正常启动),校验正常后,就将boot3Flag的数值设置为0x7EE7并且保存下来(下次上电不会丢失)。
在判断app2Flag的数值与boot3Flag的数值不同时,软件对app1文件进行文件完整性校验成功后,将app1文件拷贝到app2文件地址,拷贝完成后,软件对app2文件进行文件完整性校验正常后,设定app2Flag的数值并保存;
具体的,判断app2Flag数值,此时软件判断app2Flag的数值都不等于0x7EE7,然后软件会对app1文件进行文件完整性校验(app1文件是否能正常启动),文件完整性校验成功后,将app1文件拷贝到app2文件地址。拷贝完成后,软件会对app2文件进行文件完整性校验(app2文件是否能正常启动),文件完整性校验正常后,就将app2Flag的数值设置为0x7EE7并且保存下来(断电不会丢失)。
通过以上操作,即可以将boot2文件和app1文件备份,备份文件分别是boot3和app2。
雷达硬件通过第一次上电,完成了boot2和app1的备份。在以后的上电过程中,由于已经备份文件,所以不会再去备份,软件直接从boot1进入boo2,再进入app1。
软件在app1中收到升级命令时,软件设置一次升级标志位并且进行复位;
具体的,软件在app1中,收到升级命令:需要进行升级,此时软件会设置一次升级标志位并且进行复位:跳转回到boot1,在boot1中判断boot3Flag的数值是否等于0x7EE7或者app2Flag的数值是否等于0x7EE7。
从boot1进入boot2,软件在boot2中判断是否有升级标志,并进行升级操作;升级可以独立升级新的app1文件或独立升级新的boot2文件,或者两者一起升级。
在app1或boot2升级成功后,进行文件完整性校验,将app1文件备份到app2地址;
具体的,升级app1或boot2成功后,进行新的文件完整性校验,校验正常后,会将app1文件备份到app2地址,并且将app2Flag设置为0x7EE7。
在升级boot2后,对比升级后的boot2和boot3的版本号前两位,不相同则抹除boot3文件,将boot2文件重新备份到boot3文件的所在地址。
具体的,升级boot2后,会对比升级后的boot2和备份区的文件(即boot3文件)的版本号前两位,不相同则抹除备份区文件(即boot3文件),将boot2文件重新备份到备份区(即boot3文件所在地址)。
通过以上操作之后,软件升级备份成功,如果过程中因为通讯不稳定或者断电,导致app1或者boot2升级失败,重新boot1起来后会将boot3备份文件拷贝到boot2,app2备份文件拷贝到app1,机器可以迅速正常启动,不用等待升级才能启动。
新的升级备份方案保证了boot及app不管在任何情况下(通讯不稳定、掉电、程序读写有问题)刷写失败后,雷达都能够从安全稳定启动后重新进行升级。
以上升级与备份的做法,通常用于保障系统的稳定性和可用性,尤其是对于关键系统和可靠性要求高的应用。
1.双模块冗余:本文所描述的方法通常涉及两个模块,一个是活动模块(Active),另一个是备份模块(Backup)。活动模块负责正常的系统操作,而备份模块处于闲置状态。如果活动模块出现故障或失败,备份模块可以立即接管,确保系统的连续性运行。
2.故障切换:本升级与备份方法允许系统在检测到活动模块故障时进行切换到备份模块。这种切换通常是无缝的,以减少系统中断时间。在嵌入式系统中,特别是在一些关键应用中,减少停机时间非常重要。
3.可用性和容错性:本方法可以显著提高系统的可用性和容错性。无论是硬件故障还是软件故障,备份模块可以迅速接管,从而确保系统的持续运行。
4.实时系统:在嵌入式实时系统中,本方法通常用于确保任务的连续性执行。如果主任务或模块出现问题,备份任务或模块可以接管,以确保系统满足实时性要求。
总之,使用以上升级与备份方法在嵌入式系统中是一种有效的方法,特别适用于对系统可靠性和稳定性要求高的应用。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种毫米波雷达软件升级备份方法,其特征在于,包括:
将软件包烧录到flash芯片,所述软件包包括boot1、boot2和app1;
对雷达第一次上电,软件首先进入boot1中并判断boot3及app2是否存在,然后软件对boot2文件进行文件完整性校验后将boot2文件拷贝到boot3文件地址,拷贝完成后,软件对boot3文件进行文件完整性校验,然后设定boot3Flag的数值并保存;
在判断app2Flag的数值与boot3Flag的数值不同时,软件对app1文件进行文件完整性校验成功后,将app1文件拷贝到app2文件地址,拷贝完成后,软件对app2文件进行文件完整性校验正常后,设定app2Flag的数值并保存;
软件在app1中收到升级命令时,软件设置一次升级标志位并且进行复位;
从boot1进入boot2,软件在boot2中判断是否有升级标志,并进行升级操作;
在app1或boot2升级成功后,进行文件完整性校验,将app1文件备份到app2地址;
在升级boot2后,对比升级后的boot2和boot3的版本号前两位,不相同则抹除boot3文件,将boot2文件重新备份到boot3文件的所在地址。
2.根据权利要求1所述的一种毫米波雷达软件升级备份方法,其特征在于,所述软件首先进入boot1中并判断boot3及app2是否存在,包括:
在boot1里软件通过读取flash里boot3Flag和app2Flag通过存在标志判断boot3及app2是否存在。
3.根据权利要求2所述的一种毫米波雷达软件升级备份方法,其特征在于,所述存在标志包括:
boot3的存在标志为boot3Flag的数值是否等于0x7EE7;
app2的存在标志为app2Flag的数值是否等于0x7EE7。
4.根据权利要求1所述的一种毫米波雷达软件升级备份方法,其特征在于,所述boot3Flag的数值设定为0x7EE7。
5.根据权利要求4所述的一种毫米波雷达软件升级备份方法,其特征在于,所述app2Flag的数值设置为0x7EE7。
6.根据权利要求5所述的一种毫米波雷达软件升级备份方法,其特征在于,在所述雷达第一次上电后,完成boot2文件和app1文件的备份,备份文件分别为boot3和app2。
7.根据权利要求6所述的一种毫米波雷达软件升级备份方法,其特征在于,所述软件在app1中收到升级命令时,软件设置一次升级标志位并且进行复位,包括:跳转回到boot1,在boot1中判断boot3Flag的数值是否等于0x7EE7或者app2Flag的数值是否等于0x7EE7。
8.根据权利要求7所述的一种毫米波雷达软件升级备份方法,其特征在于,所述升级操作,包括:独立升级新的app1文件或独立升级新的boot2文件,或者两者一起升级。
9.根据权利要求1所述的一种毫米波雷达软件升级备份方法,其特征在于,还包括:在升级过程中,因通讯不稳定或者断电,导致app1或者boot2升级失败时,在重启boot1后,将boot3备份文件拷贝到boot2,app2备份文件拷贝到app1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311755716.8A CN117762449A (zh) | 2023-12-20 | 2023-12-20 | 一种毫米波雷达软件升级备份方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311755716.8A CN117762449A (zh) | 2023-12-20 | 2023-12-20 | 一种毫米波雷达软件升级备份方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117762449A true CN117762449A (zh) | 2024-03-26 |
Family
ID=90309798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311755716.8A Pending CN117762449A (zh) | 2023-12-20 | 2023-12-20 | 一种毫米波雷达软件升级备份方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117762449A (zh) |
-
2023
- 2023-12-20 CN CN202311755716.8A patent/CN117762449A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8601255B2 (en) | Approaches for updating bios | |
US8271833B2 (en) | Method, system and article of manufacture for system recovery | |
US9846616B2 (en) | Boot recovery system | |
US7206971B2 (en) | Selectable and updatable computer boot memory | |
US7941658B2 (en) | Computer system and method for updating program code | |
US9424022B2 (en) | Method for updating firmware of an electronic device within a computer | |
US10684913B2 (en) | Systems and methods for detecting errors and/or restoring non-volatile random access memory using error correction code | |
US10579300B2 (en) | Information handling system firmware persistent memory runtime reclaim | |
JP5963228B2 (ja) | ストレージシステム及びデータバックアップ方法 | |
CN103299276A (zh) | 嵌入式装置的软件更新过程 | |
CN110874237A (zh) | 软件升级方法、装置、终端以及可读存储介质 | |
US20050033954A1 (en) | Computer system having BIOS with multiple memory block | |
CN110865822A (zh) | 整车控制器用Bootloader刷写程序的启动架构及方法 | |
CN113934471A (zh) | 计算机系统的基板管理控制器和启动方法 | |
EP0886211B1 (en) | Initial program load | |
TWI764454B (zh) | 韌體損壞恢復技術 | |
CN112148339A (zh) | 一种双核芯片及其程序更新方法 | |
CN111552592A (zh) | 一种双备份启动方法及系统 | |
CN117762449A (zh) | 一种毫米波雷达软件升级备份方法 | |
CN113377425B (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
TW202209124A (zh) | 於斷電保護備份失敗後支援唯讀模式之固態硬碟 | |
CN112148531A (zh) | 一种双核芯片及其程序备份和恢复的方法 | |
CN112883384B (zh) | 一种强鲁棒性的嵌入式计算机引导加载程序的保护方法 | |
KR100775887B1 (ko) | 임베디드시스템에서 하드디스크를 이용한 운영체계 로딩 및업데이트 방법 | |
CN213751050U (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 |