本发明专利技术公开了一种多核车载SoC软件升级分区切换方法,包括:判断所要升级核的ID并读取该ID所对应的升级配置参数;确定当前升级核的活动分区及待升级分区;进行升级文件的校验,校验成功则认为该核升级完成;先将原始配置参数备份至参数备份区,再更新原始配置参数进行分区切换;读取原始配置参数并进行校验;若原始配置参数校验成功,逐一启动SoC各核;若原始配置参数校验失败,读取备份配置参数并进行校验;若备份配置参数校验成功,判断各核的启动分区,并根据启动时序,逐一启动SoC各核;若备份配置参数校验失败,则根据读取的原始配置参数及备份配置参数尝试修复配置参数;若修复后校验成功,则认为参数修复成功,否则退出多核SoC系统启动流程。SoC系统启动流程。SoC系统启动流程。
【技术实现步骤摘要】
多核车载SoC软件升级分区切换方法及存储介质
[0001]本专利技术涉及汽车领域领域,特别是涉及一种多核车载SoC软件升级分区切换方法,以及一种用于执行所述方法中各步骤的计算机可读存储介质。
技术介绍
[0002]OTA(Over The Air)升级是一种通过无线网络将升级包下载到设备终端,完成设备终端系统固件或者应用软件更新的技术。当前在计算机及智能手机领域中已广泛使用OTA升级技术进行设备终端的固件升级,但PC或者智能手机在进行OTA升级时,当固件升级包下载完成后,系统会重启进入一种系统最小模式完成固件升级包的安装,安装完成后,系统再重启才能进入正常的用户应用模式。在固件升级过程中,用户无法正常使用终端设备的功能,降低了用户的体验。
[0003]伴随着汽车智能化、网联化的发展,OTA升级技术在车载控制器领域得到了广泛应用。当前,为了提升车载电子控制单元(Electronic Control Unit,ECU)升级时的稳定性及用户体验,一般采用A/B分区无感升级方式,即可升级分区一般设置成A分区与B分区两个分区,A分区与B分区的分区类型、大小均相同。其中一个分区,即活动分区,存放当前正在运行的程序;当进行OTA升级时,将待升级的应用程序安装至另一个分区,即非活动分区。升级完成,系统重启时,系统将从已升级的分区进行启动。相比较于只有一个分区的单分区系统,A/B双分区系统保证了OTA升级时系统不必切换到一种最小模式,在正常工作模式下即可完成升级,提升了OTA升级时用户的体验。另外,A/B双分区系统在升级失败的情况下,仍然可以从之前正常工作的分区进行启动,避免单分区系统升级失败后终端无法正常工作的情况,可以显著提高升级的稳定性。
[0004]当前,针对单核SoC的单分区或者多分区OTA升级提供了较多的升级方法及解决方案;为了满足日益复杂的汽车智能驾驶场景需求,大算力多核SoC在车载领域开始逐步得到应用,多核SoC进行OTA升级时,涉及到多个核的分区升级及切换,分区切换及管理问题显得愈发重要。
[0005]因此,针对多核SoC的OTA软件升级,需要完整、可靠的分区切换方法及系统。
技术实现思路
[0006]在
技术实现思路
部分中引入了一系列简化形式的概念,该简化形式的概念均为本领域现有技术简化,这将在具体实施方式部分中进一步详细说明。本专利技术的
技术实现思路
部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
[0007]本专利技术要解决的技术问题是提供一种根据需求能进行单核和/或多核车载SoC软件升级的分区切换方法。
[0008]本专利技术还提供了一种用于执行所述多核车载SoC软件升级分区切换方法中步骤的存储介质。
[0009]为解决上述技术问题,本专利技术提供的多核车载SoC软件升级分区切换方法,包括以下步骤:
[0010]S1,将多核SoC支持升级的每个核分别标记ID,每个核形成独立的升级配置参数;
[0011]S2,当收到升级请求时,判断所要升级核的ID并读取该ID所对应的升级配置参数;
[0012]S3,确定当前升级核的活动分区及待升级分区;
[0013]S4,查看对应的升级文件是否存在,若存在则将待升级的程序安装至升级分区的非活动分区;安装完成后,进行升级文件的校验,校验成功则认为该核升级完成,否则认为升级失败直接退出升级模式;
[0014]S5,该核升级完成后,如收到其他核的升级请求,则重复上述步骤升级其他核,直至所有核升级完成;
[0015]S6,先将原始配置参数备份至参数备份区,再更新原始配置参数进行分区切换;
[0016]S7,当收到复位指令后,系统进行重启;重启后,读取原始配置参数并进行校验;
[0017]S8,若原始配置参数校验成功,判断各核的启动分区,并根据启动时序,逐一启动SoC各核;
[0018]若原始配置参数校验失败,读取备份配置参数并进行校验;
[0019]S9,若备份配置参数校验成功,判断各核的启动分区,并根据启动时序,逐一启动SoC各核;
[0020]若备份配置参数校验失败,则根据读取的原始配置参数及备份配置参数尝试修复配置参数;
[0021]S10,若修复后校验成功,则认为参数修复成功,根据原始配置参数进行分区启动流程,否则认为配置参数修复失败,退出多核SoC系统启动流程。
[0022]可选择的,进一步改进所述多核车载SoC软件升级分区切换方法,升级配置参数包括:
[0023](1)ValidFlag,表征该核升级配置参数数据的有效性;
[0024](2)CrcH,每个核参数区Crc校验值;
[0025](3)Counter,升级循环计数值,每升级成功一次在原值的基础上加1;
[0026](4)Part,表明该核的所有分区当前处于A分区或者B分区。
[0027]可选择的,进一步改进所述多核车载SoC软件升级分区切换方法,每个核的标记ID是唯一的。
[0028]可选择的,进一步改进所述多核车载SoC软件升级分区切换方法,实施步骤S6时,Counter升级循环计数值在原来值的基础上加1,更新参数Part值完成分区的切换,重新计算Crc校验值完成CrcH字段的更新。
[0029]可选择的,进一步改进所述多核车载SoC软件升级分区切换方法,参数校验是进行ValidFlag字段与CrcH字段的校验。
[0030]可选择的,进一步改进所述多核车载SoC软件升级分区切换方法,修复配置参数包括:
[0031](a)若原始配置参数与备份配置参数ValidFlag字段为无效值或者Part字段为无效值,认为所有配置参数无效,则直接退出参数修复流程;
[0032](b)若进入参数修复流程,则利用备份参数区的Counter参数对原始参数区的
Counter参数进行修复;
[0033](c)对修复后的字段进行crc计算并与原始参数区的CrcH字段进行校验,若校验成功,则认为参数修复成功,多核启动系统根据原始参数区的Part参数进行分区启动流程,否则认为配置参数修复失败,退出多核SoC系统启动流程。
[0034]本专利技术提供一种计算机可读存储介质,其内部存储有一程序,所述程序被执行时,用于实现上述任意一项所述多核车载SoC软件升级分区切换方法中的步骤。
[0035]本专利技术提供的多核车载SoC软件升级分区切换方法能有效解决多核车载SoC OTA升级后各核的分区切换问题,方法中包含校验、修复机制,在升级重启后如检查到升级后的启动参数错误,则读取备份参数,切换到升级前的原来分区进行启动。在校验原始参数与备份参数都不成功时,通过修复方案对参数进行修复,可以有效提升多核SoC系统OTA升级时的可靠性与稳定性。
附图说明
[0036]本专利技术附图旨在示出根据本专利技术的特定示例性实施例中所使用的方法、结构和/或材料的一般特性,对说明本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种多核车载SoC软件升级分区切换方法,其特征在于,包括以下步骤:S1,将多核SoC支持升级的每个核分别标记ID,每个核形成独立的升级配置参数;S2,当收到升级请求时,判断所要升级核的ID并读取该ID所对应的升级配置参数;S3,确定当前升级核的活动分区及待升级分区;S4,查看对应的升级文件是否存在,若存在则将待升级的程序安装至升级分区的非活动分区;安装完成后,进行升级文件的校验,校验成功则认为该核升级完成,否则认为升级失败直接退出升级模式;S5,该核升级完成后,如收到其他核的升级请求,则重复上述步骤升级其他核,直至所有核升级完成;S6,先将原始配置参数备份至参数备份区,再更新原始配置参数进行分区切换;S7,当收到复位指令后,系统进行重启;重启后,读取原始配置参数并进行校验;S8,若原始配置参数校验成功,判断各核的启动分区,并根据启动时序,逐一启动SoC各核;若原始配置参数校验失败,读取备份配置参数并进行校验;S9,若备份配置参数校验成功,判断各核的启动分区,并根据启动时序,逐一启动SoC各核;若备份配置参数校验失败,则根据读取的原始配置参数及备份配置参数尝试修复配置参数;S10,若修复后校验成功,则认为参数修复成功,根据原始配置参数进行分区启动流程,否则认为配置参数修复失败,退出多核SoC系统启动流程。2.如权利要求1所述多核车载SoC软件升级分区切换方法,其特征在于,升级配置参数包括:(1)ValidFlag,表征该核升级配置参数数据的有效性;(2)CrcH,每个核参数区Crc校验值;(...
【专利技术属性】
技术研发人员:刘爱松,吴纪铎,赵梦海,马纪伟,陈昌盛,
申请(专利权)人:联创汽车电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。