基于POSIX接口的域控制器刷新方法和装置与流程

文档序号:26588790发布日期:2021-09-10 20:12阅读:147来源:国知局
基于POSIX接口的域控制器刷新方法和装置与流程
基于posix接口的域控制器刷新方法和装置
技术领域
1.本发明涉及汽车电子模块刷新领域,特别涉及基于posix接口的域控制器刷新方法、装置、计算机可读存储介质以及集成系统。


背景技术:

2.随着汽车零部件应用技术向智能网联化发展,使得车载模块系统日益复杂,搭载的各类软件数量倍增,对内核芯片运算能力及控制实时性提出了极高要求,以芯片内核为载体的嵌入式系统软件开发面临极大挑战。
3.为满足新挑战,由计算能力超强的微处理器作为传统汽车电控主流微控制器补充而构成的高性能异构多核芯片soc技术应用于车载域控制器领域成为大势所趋。
4.在现有车载域控制器方案中,以m核的mcu和a核的mpu为主流,该方案虽然可以满足域控制器硬件需求,但软件实现很复杂,尤其涉及两个芯片内核的启动过程、休眠唤醒、诊断刷新等协同工作更是使软件复杂度骤增。


技术实现要素:

5.为实现以上目的中的一个或多个,本发明提供以下技术方案。
6.按照本发明的第一方面,提供一种基于posix接口的域控制器刷新方法,所述方法包含下列步骤:接收针对域控制器的第一有效区域的刷新请求;运行在所述第一有效区域的linux操作环境下的posix boot以进行刷新操作;以及将刷新数据写入所述域控制器的内存介质中并在刷新完成时进行数据刷新情况的完整性和有效性检查。
7.根据本发明一实施例的基于posix接口的域控制器刷新方法,其中对数据刷新情况的完整性和有效性检查的步骤进一步包括:a)当刷新全部数据时,将所述刷新数据写入第二有效区域的内存介质中;以及b)当刷新部分数据时,采取以下两种处理方式中的一种:将部分刷新的数据写入所述第一有效区域的内存介质中;以及将所述部分刷新的数据写入第二有效区域的内存介质中。
8.根据本发明另一实施例或以上任一实施例的基于posix接口的域控制器刷新方法,其中对数据刷新情况的完整性和有效性检查的步骤中的所述步骤a)进一步包括:当刷新完成时对所述刷新数据进行有效性检查:在所述有效性检查通过时将所述第一有效区域切换为所述第二有效区域;以及在所述有效性检查不通过时保持所述第一有效区域的有效性。
9.根据本发明另一实施例或以上任一实施例的基于posix接口的域控制器刷新方法,其中对数据刷新情况的完整性和有效性检查的步骤中的所述步骤b)进一步包括以下步骤中的一种:在采取步骤b)中的第一种处理方式的情况下,当刷新完成时对所述部分刷新数据进行有效性检查:在所述有效性检查通过时保持所述第一有效区域的有效性;以及在所述有效性检查不通过时将所述第一有效区域切换为所述第二有效区域;在采取步骤b)中的第二种处理方式的情况下,当刷新完成时对所述部分刷新数据进行有效性检查:在所述
有效性检查通过时将所述第一有效区域切换为所述第二有效区域;以及在所述有效性检查不通过时保持所述第一有效区域的有效性。
10.根据本发明另一实施例或以上任一实施例的基于posix接口的域控制器刷新方法,其中,所述方法进一步包括对所述第一有效区域和所述第二有效区域的修复刷新操作。
11.根据本发明另一实施例或以上任一实施例的基于posix接口的域控制器刷新方法,其中,当所述第一有效区域和所述第二有效区域被破坏时进入存储在第三区域的安全刷新模式,在所述安全刷新模式下对所述第一有效区域和所述第二有效区域进行修复刷新操作,所述安全刷新模式实现为运行在linux操作环境下的posix boot。
12.根据本发明另一实施例或以上任一实施例的基于posix接口的域控制器刷新方法,其中,所述方法实现在包括多个m核和包括多个a核的异构多核芯片soc上,以及所述linux操作环境运行在所述a核上。
13.根据本发明的第二方面,提供一种基于posix接口的域控制器刷新的集成系统,所述系统包含下列模块:第一模块,用于接收针对域控制器的第一有效区域的刷新请求;第二模块,用于运行在所述第一有效区域的linux操作环境下的posix boot以进行刷新操作;以及第三模块,用于将刷新数据写入所述域控制器的内存介质中并在刷新完成时进行数据刷新情况的完整性和有效性检查。
14.根据本发明的第三方面,提供一种基于posix接口的域控制器刷新的装置,包含存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现如本发明的第一方面中的任一实施例所述的基于posix接口的域控制器刷新方法。
15.根据本发明的第四方面,提供一种计算机可读存储介质,其上存储有机器可执行指令,所述机器可执行指令在被处理器执行时实现如本发明的第一方面中的任一实施例所述的基于posix接口的域控制器刷新方法。
16.根据本发明,可以采用如上所述的基于posix接口的域控制器刷新方法,该方法在降低硬件成本的同时也使得软件设计简单化,其通过利用基于posix接口,使得数据刷新易于实现。
17.通过纳入本文的附图以及随后与附图一起用于说明本发明的某些原理的具体实施方式,本发明的方法和系统所具有的其它特征和优点将更为具体地变得清楚或得以阐明。
附图说明
18.本发明的上述和/或其它方面和优点将通过以下结合附图的各个方面的描述变得更加清晰和更容易理解,附图中相同或相似的单元采用相同的标号表示。附图包括:图1为按照本发明一个实施例的基于posix接口的域控制器刷新方法的流程图。
19.图2为应用于图1所示实施例的基于posix接口的域控制器刷新方法的示例架构图。
20.图3为应用于图1所示实施例的基于posix接口的域控制器刷新方法的内存划分示意图。
21.图4为按照本发明一个实施例的基于posix接口的域控制器刷新的集成系统的示
意图。
22.图5为按照本发明一个实施例的基于posix接口的域控制器刷新的装置的示意框图。
具体实施方式
23.在本说明书中,参照其中图示了本发明示意性实施例的附图更为全面地说明本发明。但本发明可以按不同形式来实现,而不应解读为仅限于本文给出的各实施例。给出的各实施例旨在使本文的披露全面完整,以将本发明的保护范围更为全面地传达给本领域技术人员。
24.诸如“包含”和“包括”之类的用语表示除了具有在说明书中有直接和明确表述的单元和步骤以外,本发明的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。诸如“第一”和“第二”之类的用语并不表示单元在时间、空间、大小等方面的顺序而仅仅是作区分各单元之用。
25.下文参考根据本发明实施例的方法和系统的流程图说明、框图和/或流程图来描述本发明。将理解这些流程图说明和/或框图的每个框、以及流程图说明和/或框图的组合可以由计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以构成机器,以便由计算机或其他可编程数据处理设备的处理器执行的这些指令创建用于实施这些流程图和/或框和/或一个或多个流程框图中指定的功能/操作的部件。
26.可以将这些计算机程序指令存储在计算机可读存储器中,这些指令可以指示计算机或其他可编程处理器以特定方式实现功能,以便存储在计算机可读存储器中的这些指令构成包含实施流程图和/或框图的一个或多个框中指定的功能/操作的指令部件的制作产品。
27.可以将这些计算机程序指令加载到计算机或其他可编程数据处理器上以使一系列的操作步骤在计算机或其他可编程处理器上执行,以便构成计算机实现的进程,以使计算机或其他可编程数据处理器上执行的这些指令提供用于实施此流程图和/或框图的一个或多个框中指定的功能或操作的步骤。还应该注意在一些备选实现中,框中所示的功能/操作可以不按流程图所示的次序来发生。例如,依次示出的两个框实际可以基本同时地执行或这些框有时可以按逆序执行,具体取决于所涉及的功能/操作。
28.图1为按照本发明一个实施例的基于posix接口的域控制器刷新方法的流程图。
29.如图1所示,在步骤10中判断域控制器的a区域是否为有效区域。在a区域为有效区域的情况下,进入步骤110和120,接收来自产线的针对域控制器的a区域的刷新请求并且运行在所述a域的linux操作环境下的posix boot以进行刷新操作。在步骤130中,通过数据流参考uds刷新数据流流程,将刷新数据通过调用nor 闪存驱动器或emmc驱动器写入所述域控制器的内存介质中并在刷新完成时进行数据刷新情况的完整性和有效性检查。
30.具体而言,上述对数据刷新情况的完整性和有效性检查的步骤进一步包括:在步骤140中,当刷新a区域的部分数据时,采取以下两种处理方式中的一种:第一种,通过调用相应的驱动器将部分刷新的数据写入a区域的内存介质中;第二种,通过调用相应的驱动器将所述部分刷新的数据写入b区域的内存介质中,并且采用和刷新全部数据到b区域相应内
存介质中类似处理机制来进行处理;以及在步骤150中,当刷新a区域的全部数据时,通过调用相应的驱动器将所述刷新数据写入区域b的内存介质中。可选地,上述对数据刷新情况的完整性和有效性检查的所述步骤140进一步包括以下步骤中的一种:在采取步骤140中的第一种处理方式的情况下,在所述有效性检查通过时保持a区域的有效性;以及在所述有效性检查不通过时将所述a区域切换为b区域;在采取步骤140中的第二种处理方式的情况下,在所述有效性检查通过时将a区域切换为b区域;以及在所述有效性检查不通过时保持所述a区域的有效性。可选地,上述对数据刷新情况的完整性和有效性检查的所述步骤150进一步包括:在所述有效性检查通过时将a区域切换为b区域;以及在所述有效性检查不通过时保持所述a区域的有效性。
31.继续如图1所示,在步骤20中判断域控制器的b区域是否为有效区域。在b区域为有效区域的情况下,进入步骤210和220,接收来自产线的针对域控制器的b区域的刷新请求并且运行在所述b域的linux操作环境下的posix boot以进行刷新操作。在步骤230中,通过数据流参考uds刷新数据流流程,将刷新数据通过调用nor 闪存驱动器或emmc驱动器写入所述域控制器的内存介质中并在刷新完成时进行数据刷新情况的完整性和有效性检查。
32.具体而言,上述对数据刷新情况的完整性和有效性检查的步骤进一步包括:在步骤240中,当刷新b区域的部分数据时,采取以下两种处理方式中的一种:第一种,通过调用相应的驱动器将部分刷新的数据写入b区域的内存介质中;第二种,通过调用相应的驱动器将所述部分刷新的数据写入a区域的内存介质中,并且采用和刷新全部数据到a区域相应内存介质中类似处理机制来进行处理;以及在步骤250中,当刷新b区域的全部数据时,通过调用相应的驱动器将所述刷新数据写入区域a的内存介质中。可选地,上述对数据刷新情况的完整性和有效性检查的所述步骤240进一步包括以下步骤中的一种:在采取步骤240中的第一种处理方式的情况下,在所述有效性检查通过时保持b区域的有效性;以及在所述有效性检查不通过时将所述b区域切换为a区域;在采取步骤240中的第二种处理方式的情况下,在所述有效性检查通过时将b区域切换为a区域;以及在所述有效性检查不通过时保持所述b区域的有效性。可选地,上述对数据刷新情况的完整性和有效性检查的所述步骤250进一步包括:在所述有效性检查通过时将b区域切换为a区域;以及在所述有效性检查不通过时保持所述b区域的有效性。
33.然而,存在一种情况,比如在有效a区域运行时,接收到刷新全部数据,这时是对b区域进行刷新操作,这个如果操作失败,b区域会被破坏,当前有效区域却保持在a区域。进一步的,在有效a区域运行时,接收到刷新部分数据,这时需要对a区域进行刷新操作,如果这时刷新再次失败,会出现a区域和b区域都被破坏,程序无法正常运行的问题。
34.为了解决以上场景以及其他场景导致的a区域和b区域都被破坏、程序无法正常运行的问题,本发明提出了一种安全刷新模式,其可执行对所述a区域和所述b区域的修复刷新操作。
35.具体而言,如图1所示,当所述a区域和所述b区域被破坏时进入步骤310中所示的存储在第三区域(s区域)的安全刷新模式,在所述安全刷新模式下对所述a区域和所述b区域进行修复刷新操作。在步骤320中,所述安全刷新模式实现为运行在linux操作环境下运行在s区域的posix boot。上述安全刷新模式的应用保证了域控制器的刷新过程的安全,同时降低了数据刷新失败时无正常功能的风险。
36.此外,在步骤330和步骤340中,当针对a区域和b区域的刷新请求均无效时,结束整个刷新流程。
37.上述基于posix接口的域控制器刷新方法以包括多个m核和包括多个a核的异构多核芯片soc为载体设计域控制器的硬件,以运行在a核上的linux操作系统环境来实现于posix接口的域控制器刷新方法,使得该方法在降低硬件成本的同时也使得软件设计简单化。
38.图2为应用于图1所示实施例的基于posix接口的域控制器刷新方法的示例架构图。如图2所示,实现基于posix接口的域控制器刷新方法的示例架构主要包括posix刷新控制器、uds服务器、nor 闪存驱动、emmc驱动、eep驱动、内存管理、安全管理、加密驱动、功率电源管理器和消息处理器等模块。需要说明的是,图2中所示的应用于图1所示实施例的基于posix接口的域控制器刷新方法的示例架构仅仅是示例性的,在能够实现图1中所示的基于posix接口的域控制器刷新方法的情况下,本领域技术人员可以搭建与图2中所示的框架不同的其它框架。
39.图3为应用于图1所示实施例的基于posix接口的域控制器刷新方法的内存划分示意图。如图3中所示,其示出了一种基于异构多核芯片闪存划分方法,在rtos上运行的classic autosar相关软件部署在nor 闪存上,主要包括chip-boot,app,cal等;在linux上运行adaptive autosar相关软件部署在基于emmc的nand 闪存上,主要包括u-boot、image 、rfs等。需要说明的是,图3中所示的应用于图1所示实施例的基于posix接口的域控制器刷新方法的内存划分仅仅是示例性的,在能够实现图1中所示的基于posix接口的域控制器刷新方法的情况下,本领域技术人员可以设计与图3中所示的内存划分不同的内存划分。
40.图4为按照本发明一个实施例的基于posix接口的域控制器刷新的集成系统的示意图。示例性地但非必须地,按照本实施例的系统可以提供具有独立功能模块的方式实施上面针对图1所述的方法步骤。可选地,上述独立功能模块也可以与车辆中的其它功能模块集成在一起。
41.图4所示的基于posix接口的域控制器刷新的集成系统40包括第一模块410、第二模块420和第三模块430。在本实施例中,第一模块410用于接收针对域控制器的第一有效区域的刷新请求;第二模块420用于运行在所述第一有效区域的linux操作环境下的posix boot以进行刷新操作;以及第三模块430用于将刷新数据写入所述域控制器的内存介质中并在刷新完成时进行数据刷新情况的完整性和有效性检查。
42.图5为按照本发明一个实施例的基于posix接口的域控制器刷新的装置的示意框图。
43.图5所示的基于posix接口的域控制器刷新的装置50包含存储器510、处理器520以及存储在存储器510上并可在处理器520上运行的计算机程序530,其中,执行计算机程序530可以实现上面借助图1所述的方法。
44.按照本发明的另一方面,还提供了一种计算机可读存储介质,其上存储计算机程序,该程序被处理器执行时可实现上面借助图1所述的方法。
45.根据本发明的方法及其系统,该方法有效的发挥了基于posix 接口操作系统自带文件系统的优势,使得刷新功能变得更容易实现,同时兼顾多种刷新流程,避免了由于引入异构多核的域控制器导致整车架构及刷新方法的变更从而减少了产线和售后流程变更成
本、缩短研发周期、保证了一致性和继承性。
46.提供本文中提出的实施例和示例,以便最好地说明按照本技术及其特定应用的实施例,并且由此使本领域的技术人员能够实施和使用本发明。但是,本领域的技术人员将会知道,仅为了便于说明和举例而提供以上描述和示例。所提出的描述不是意在涵盖本发明的各个方面或者将本发明局限于所公开的精确形式。
47.鉴于以上所述,本公开的范围通过以下权利要求书来确定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1