车机数据存储方法、系统及电子设备与流程
未命名
09-22
阅读:42
评论:0
1.本发明涉及数据存储技术领域,尤其是涉及一种车机数据存储方法、系统及电子设备。
背景技术:
2.车机中mcu(micro control unit,微控制器)自身的存储空间有限,一般只用来存储代码和关键数据,其运行过程产生的日志数据无法进行存储,只能通过外接方式实时输出。当车机运行异常时,难以通过日志数据文件来对车机进行故障分析,开发人员只能重新搭建测试环境来复现车机的异常,需要花费大量的时间和精力。
3.综上所述,现有技术中的车机系统还存在着mcu日志数据缺少保存方式的技术问题。
技术实现要素:
4.有鉴于此,本发明的目的在于提供一种车机数据存储方法、系统及电子设备,该方案可将mcu微控制器产生的日志数据保存至车机的soc存储器中,在对车机系统进行故障分析时可直接从soc存储器中使用该存储文件,减少了开发人员的工作量,从而解决了现有技术中存在的mcu日志数据缺少保存方式的技术问题。
5.第一方面,本发明实施例提供了一种车机数据存储方法,该方法用于对车机系统中微控制器的日志数据进行存储;该方法包括;
6.当检测到车机系统完成上电后,控制微控制器实时输出日志数据,并将日志数据保存在第一存储空间;其中,第一存储空间位于微控制器的内置存储器中;
7.控制微控制器创建缓存链,并将第一存储空间中的日志数据按照生成顺序依次保存至缓存链中;
8.控制微控制器将缓存链中的日志数据保存在车机系统的第二存储空间中;其中,第二存储空间位于车机系统中soc芯片的内置存储器中。
9.在一些实施方式中,控制微控制器创建缓存链,并将第一存储空间中的日志数据按照生成顺序依次保存至缓存链中的步骤,包括:
10.从预设的配置文件确定缓存链的初始化数据,并控制微控制器利用初始化数据初始化缓存链;其中,缓存链包括第一缓存链表和第二缓存链表;
11.根据日志数据的生成顺序,依次将日志数据保存至第一缓存链表中;其中,第一缓存链表包括:长度链表、目标链表以及数据链表;日志数据保存至数据链表中;
12.将第一缓存链表中数据链表的日志数据保存至第二缓存链表中;其中,第二缓存链表包括:头链表、数量链表、主命令链表、子命令链表、序号链表、日志链表以及查验链表;其中,数据链表中的日志数据保存至第二缓存链表的子命令链表中。
13.在一些实施方式中,控制微控制器创建缓存链,并将第一存储空间中的日志数据按照生成顺序依次保存至缓存链中的步骤之后,方法还包括:
14.利用日志数据生成日志数据对应的日志协议帧,并将日志协议帧保存至第一存储空间中;其中,日志协议帧中包含日志数据的数据存储协议;
15.控制微控制器将日志协议帧发送至车机系统中的soc芯片中。
16.在一些实施方式中,控制微控制器将缓存链中的日志数据保存在车机系统的第二存储空间中的步骤之前,方法还包括:
17.控制soc芯片接收日志协议帧,并利用日志协议帧获取数据存储协议;其中,数据存储协议用于将16进制格式的日志数据转化为ascii码格式后保存至第二存储空间中。
18.在一些实施方式中,控制微控制器将缓存链中的日志数据保存在车机系统的第二存储空间中的步骤,包括:
19.当检测到soc芯片完成上电后,创建微控制器与soc芯片之间的数据连接通道;
20.利用数据连接通道,控制微控制器将缓存链中的日志数据传输至soc芯片的内置存储器对应的第二存储空间中。
21.在一些实施方式中,控制微控制器将缓存链中的日志数据保存在车机系统的第二存储空间中的步骤之后,方法还包括:
22.判断日志数据是否保存至第二存储空间中;
23.如果是,则控制微控制器将第一存储空间中的日志数据删除。
24.在一些实施方式中,当检测到车机系统完成上电后,控制微控制器实时输出日志数据,并将日志数据保存在第一存储空间的步骤之后,方法还包括:
25.实时获取第一存储空间中的剩余空间数据,并利用剩余空间数据获取第一存储空间的存储状态;
26.当第一存储空间的存储状态为存满状态时,则控制微控制器停止向第一存储空间传输日志数据。
27.在一些实施方式中,若soc芯片的内置存储器设置有数据传输接口;则控制微控制器将缓存链中的日志数据保存在车机系统的第二存储空间中的步骤之后,方法还包括:
28.获取数据传输接口的存储设备;其中,存储设备通过数据传输接口与soc芯片的内置存储器相连接;
29.控制soc芯片将日志数据拷贝至存储设备。
30.第二方面,本发明实施例提供了一种车机数据存储系统,该系统用于对车机系统中微控制器的日志数据进行存储;该系统包括:
31.第一存储模块,用于当检测到车机系统完成上电后,控制微控制器实时输出日志数据,并将日志数据保存在第一存储空间;其中,第一存储空间位于微控制器的内置存储器中;
32.第二存储模块,用于控制微控制器创建缓存链,并将第一存储空间中的日志数据按照生成顺序依次保存至缓存链中;
33.第三存储模块,用于控制微控制器将缓存链中的日志数据保存在车机系统的第二存储空间中;其中,第二存储空间位于车机系统中soc芯片的内置存储器中。
34.第三方面,发明实施例还提供一种电子设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述第一方面提到的车机数据存储方法的步骤。
35.第四方面,本发明实施例还提供一种可读存储介质,该可读存储介质上存储有计算机程序,其中,计算机程序被处理器运行时实现上述第一方面提到的车机数据存储方法的步骤。
36.本发明实施例带来了至少以下有益效果:
37.本发明提供了一种车机数据存储方法、系统及电子设备,用于对车机系统中微控制器的日志数据进行存储;在对微控制器的日志数据进行存储时,当检测到车机系统完成上电后,控制微控制器实时输出日志数据,并将日志数据保存在第一存储空间;其中,第一存储空间位于微控制器的内置存储器中;然后控制微控制器创建缓存链,并将第一存储空间中的日志数据按照生成顺序依次保存至缓存链中,最后控制微控制器将缓存链中的日志数据保存在车机系统的第二存储空间中;其中,第二存储空间位于车机系统中soc芯片的内置存储器中。该方案可将mcu微控制器产生的日志数据保存至车机的soc存储器中,在对车机系统进行故障分析时可直接从soc存储器中使用该存储文件,减少了开发人员的工作量,从而解决了现有技术中存在的mcu日志数据缺少保存方式的技术问题。
38.本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义的确定,或者通过实施本发明的上述技术即可得知。
39.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
40.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本发明实施例提供的一种车机数据存储方法的流程图;
42.图2为本发明实施例提供的一种车机数据存储方法中步骤s102的流程图;
43.图3为本发明实施例提供的一种车机数据存储方法中步骤s102之后的流程图;
44.图4为本发明实施例提供的一种车机数据存储方法中步骤s103的流程图;
45.图5为本发明实施例提供的一种车机数据存储方法中步骤s103之后的流程图;
46.图6为本发明实施例提供的一种车机数据存储方法中步骤s101之后的流程图;
47.图7为本发明实施例提供的一种soc芯片的内置存储器设置有数据传输接口时,车机数据存储方法中步骤s103之后的流程图;
48.图8为本发明实施例提供的一种车机数据存储方法中车机系统的结构示意图;
49.图9为本发明实施例提供的一种车机数据存储方法中缓存链的结构示意图;
50.图10为本发明实施例提供的另一种车机数据存储方法的流程图;
51.图11为本发明实施例提供的一种车机数据存储系统的结构示意图;
52.图12为本发明实施例提供的一种电子设备的结构示意图。
53.图标:
54.1110-第一存储模块;1120-第二存储模块;1130-第三存储模块;
55.101-处理器;102-存储器;103-总线;104-通信接口。
具体实施方式
56.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
57.车机中mcu自身的存储空间有限,一般只用来存储代码和关键数据,其运行过程产生的日志数据无法进行存储,只能通过外接方式实时输出。当车机运行异常时,难以通过日志数据文件来对车机进行故障分析,开发人员只能重新搭建测试环境来复现车机的异常,需要花费大量的时间和精力。
58.综上所述,现有技术中的车机系统还存在着mcu日志数据缺少保存方式的技术问题。基于此,本发明实施例提供的一种车机数据存储方法、系统及电子设备,可将mcu微控制器产生的日志数据保存至车机的soc存储器中,在对车机系统进行故障分析时可直接从soc存储器中使用该存储文件,减少了开发人员的工作量,从而解决了现有技术中存在的mcu日志数据缺少保存方式的技术问题。
59.为便于对本实施例进行理解,首先对本发明实施例所公开的一种车机数据存储方法进行详细介绍,该方法用于对车机系统中微控制器的日志数据进行存储;如图1所示,该方法包括;
60.步骤s101,当检测到车机系统完成上电后,控制微控制器实时输出日志数据,并将日志数据保存在第一存储空间;其中,第一存储空间位于微控制器的内置存储器中。
61.车机系统内置有微控制器mcu以及soc,mcu中的第一存储空间位于其内置存储器中。虽然该存储器的容量较小,可存储的日志数据量较少,但其在本方案中作为临时存储单元将日志数据进行临时保存,然后用于后续的数据存储过程。
62.步骤s102,控制微控制器创建缓存链,并将第一存储空间中的日志数据按照生成顺序依次保存至缓存链中。
63.本方案的核心思路是利用mcu创建缓存链,将日志文件通过缓存链最终从mcu的存储器中保存至soc的存储器中。因此该步骤中,通过mcu首先初始化缓存链,然后将mcu中第一存储空间内的日志数据按照其生成顺序依次保存至缓存链中。
64.步骤s103,控制微控制器将缓存链中的日志数据保存在车机系统的第二存储空间中;其中,第二存储空间位于车机系统中soc芯片的内置存储器中。
65.缓存链中的日志数据在微控制器的控制下传输至soc中,然后控制soc将日志数据保存至车机系统的第二存储空间中。值得一提的是,soc芯片中内置存储器的容量要远大与mcu中内置存储器的容量,因此可将日志数据通过缓存链从mcu中源源不断的保存至soc中。因此,在对车机系统进行故障分析时,可直接从soc存储器中使用该存储文件,从而减少开发人员的工作量。
66.具体的说,车机系统的结构示意图如图8所示,车机系统中的mcu将log日志文件传输至soc中,soc承载着日志接收、日志存储以及日志导出等功能。在此基础上,在一些实施方式中,控制微控制器创建缓存链,并将第一存储空间中的日志数据按照生成顺序依次保存至缓存链中的步骤s102,如图2所示,包括:
67.步骤s201,从预设的配置文件确定缓存链的初始化数据,并控制微控制器利用初
始化数据初始化缓存链;其中,缓存链包括第一缓存链表和第二缓存链表;
68.步骤s202,根据日志数据的生成顺序,依次将日志数据保存至第一缓存链表中;其中,第一缓存链表包括:长度链表、目标链表以及数据链表;日志数据保存至数据链表中;
69.步骤s203,将第一缓存链表中数据链表的日志数据保存至第二缓存链表中;其中,第二缓存链表包括:头链表、数量链表、主命令链表、子命令链表、序号链表、日志链表以及查验链表;其中,数据链表中的日志数据保存至第二缓存链表的子命令链表中。
70.mcu在初始化缓存链时,可根据不同项目需求设置相应的配置文件,进而通过该配置文件来初始化缓存链。缓存链的结构示意图如图9所示,缓存链包括第一缓存链表和第二缓存链表,第一缓存链表包括:长度链表length、目标链表dest以及数据链表ata。第二缓存链表包括:头链表head、数量链表len、主命令链表cmdmain、子命令链表cmdsub、序号链表sn、日志链表log以及查验链表check。日志数据保存至第一缓存链表的数据链表data中,进而保存至第二缓存链表的子命令链表cmdsub中。
71.实际场景中,soc端可通过mcu上传的日志协议帧来对日志数据进行存储,具体在一些实施方式中,控制微控制器创建缓存链,并将第一存储空间中的日志数据按照生成顺序依次保存至缓存链中的步骤之后,如图3所示,该方法还包括:
72.步骤s301,利用日志数据生成日志数据对应的日志协议帧,并将日志协议帧保存至第一存储空间中;其中,日志协议帧中包含日志数据的数据存储协议;
73.步骤s302,控制微控制器将日志协议帧发送至车机系统中的soc芯片中。
74.上述步骤中的日志协议帧可通过日志数据的格式生成并保存的,日志协议帧中包含日志数据的数据存储协议,其保存在第一存储空间中。在一些实施方式中,控制微控制器将缓存链中的日志数据保存在车机系统的第二存储空间中的步骤之前,该方法还包括:
75.控制soc芯片接收日志协议帧,并利用日志协议帧获取数据存储协议;其中,数据存储协议用于将16进制格式的日志数据转化为ascii码格式后保存至第二存储空间中。
76.微控制器将第一存储空间中的日志协议帧发送至soc芯片后,soc接收到该日志协议帧,并对存储协议将16进制格式的日志数据转化为ascii码格式,并最终将该日志数据保存至第二存储空间中。
77.在一些实施方式中,控制微控制器将缓存链中的日志数据保存在车机系统的第二存储空间中的步骤s103,如图4所示,包括:
78.步骤s401,当检测到soc芯片完成上电后,创建微控制器与soc芯片之间的数据连接通道;
79.步骤s402,利用数据连接通道,控制微控制器将缓存链中的日志数据传输至soc芯片的内置存储器对应的第二存储空间中。
80.soc芯片在完成上电开机后可与mcu进行握手,并创建相应的数据连接通道用于将soc与mcu的数据传递。数据通道建立后,控制mcu将日志数据按照相应的顺序依次发送至soc中的第二存储空间进行存储。在一些实施方式中,控制微控制器将缓存链中的日志数据保存在车机系统的第二存储空间中的步骤s103之后,如图5所示,该方法还包括:
81.步骤s501,判断日志数据是否保存至第二存储空间中;
82.步骤s502,如果是,则控制微控制器将第一存储空间中的日志数据删除。
83.由于第一存储空间的存储容量较小,因此当日志数据存储完毕后,需要对第一存
储空间中的该日志数据进行删除,以释放存储空间,用于后续生成的日志数据的存储。
84.实际场景中,第一存储空间的可用容量需要实时获取,以保证其能够将生成的日志数据顺利存储至第一存储空间之下,因此在一些实施方式中,当检测到车机系统完成上电后,控制微控制器实时输出日志数据,并将日志数据保存在第一存储空间的步骤s101之后,图6所示,该方法还包括:
85.步骤s601,实时获取第一存储空间中的剩余空间数据,并利用剩余空间数据获取第一存储空间的存储状态;
86.步骤s602,当第一存储空间的存储状态为存满状态时,则控制微控制器停止向第一存储空间传输日志数据。
87.如果发现第一存储空间为存满状态,则停止向第一存储空间继续传输日志数据,使得后续产生的日志数据不再执行保存动作。
88.具体场景中,开发人员在对日志数据进行导出时采用u盘等存储介质,将u盘插入至车机系统中预留的usb接口后,最终将日志数据导出至u盘。在一些实施方式中,若soc芯片的内置存储器设置有数据传输接口;则控制微控制器将缓存链中的日志数据保存在车机系统的第二存储空间中的步骤s103之后,如图7所示,该方法还包括:
89.步骤s701,获取数据传输接口的存储设备;其中,存储设备通过数据传输接口与soc芯片的内置存储器相连接;
90.步骤s702,控制soc芯片将日志数据拷贝至存储设备。
91.通过上述操作,开发人员可随时使用u盘等设备导出车机系统中的mcu日志,便于开发人员对车机系统进行故障分析。实际场景中车机系统中设置有sd卡,日志数据最终保存在sd卡中。
92.如图10所示的另一种车机数据存储方法的流程图中可知,在对车机系统中微控制器的日志数据进行存储的过程中,首先控制车机上电并唤醒车机,在控制mcu产生日志文件后,判断soc是否开机。如果已开机,则将日志协议发送至soc;如果没有开机,则将日志文件进行缓存至mcu中。日志缓存完毕后,判断mcu中的缓存是否已满,如果未满,则继续执行存储过程;如果已满则将日志丢弃。
93.从上述实施例中提到的车机数据存储方法可知,该方法可将mcu微控制器产生的日志数据保存至车机的soc存储器中,在对车机系统进行故障分析时可直接从soc存储器中使用该存储文件,减少了开发人员的工作量,从而解决了现有技术中存在的mcu日志数据缺少保存方式的技术问题。
94.对应于上述方法实施例,本发明实施例提供了一种车机数据存储系统,该系统用于对车机系统中微控制器的日志数据进行存储;如图11所示,该系统包括:
95.第一存储模块1110,用于当检测到车机系统完成上电后,控制微控制器实时输出日志数据,并将日志数据保存在第一存储空间;其中,第一存储空间位于微控制器的内置存储器中;
96.第二存储模块1120,用于控制微控制器创建缓存链,并将第一存储空间中的日志数据按照生成顺序依次保存至缓存链中;
97.第三存储模块1130,用于控制微控制器将缓存链中的日志数据保存在车机系统的第二存储空间中;其中,第二存储空间位于车机系统中soc芯片的内置存储器中。
98.在一些实施方式中,第二存储模块1120,还用于:从预设的配置文件确定缓存链的初始化数据,并控制微控制器利用初始化数据初始化缓存链;其中,缓存链包括第一缓存链表和第二缓存链表;根据日志数据的生成顺序,依次将日志数据保存至第一缓存链表中;其中,第一缓存链表包括:长度链表、目标链表以及数据链表;日志数据保存至数据链表中;将第一缓存链表中数据链表的日志数据保存至第二缓存链表中;其中,第二缓存链表包括:头链表、数量链表、主命令链表、子命令链表、序号链表、日志链表以及查验链表;其中,数据链表中的日志数据保存至第二缓存链表的子命令链表中。
99.在一些实施方式中,车机数据存储系统还包括第四存储模块;第四存储模块用于:利用日志数据生成日志数据对应的日志协议帧,并将日志协议帧保存至第一存储空间中;其中,日志协议帧中包含日志数据的数据存储协议;控制微控制器将日志协议帧发送至车机系统中的soc芯片中。
100.在一些实施方式中,车机数据存储系统还包括第五存储模块;第五存储模块用于:控制soc芯片接收日志协议帧,并利用日志协议帧获取数据存储协议;其中,数据存储协议用于将16进制格式的日志数据转化为ascii码格式后保存至第二存储空间中。
101.在一些实施方式中,第三存储模块1130,还用于:当检测到soc芯片完成上电后,创建微控制器与soc芯片之间的数据连接通道;利用数据连接通道,控制微控制器将缓存链中的日志数据传输至soc芯片的内置存储器对应的第二存储空间中。
102.在一些实施方式中,车机数据存储系统还包括第六存储模块;第六存储模块用于:判断日志数据是否保存至第二存储空间中;如果是,则控制微控制器将第一存储空间中的日志数据删除。
103.在一些实施方式中,车机数据存储系统还包括第七存储模块;第七存储模块用于:实时获取第一存储空间中的剩余空间数据,并利用剩余空间数据获取第一存储空间的存储状态;当第一存储空间的存储状态为存满状态时,则控制微控制器停止向第一存储空间传输日志数据。
104.在一些实施方式中,若soc芯片的内置存储器设置有数据传输接口,则车机数据存储系统还包括第八存储模块;第八存储模块用于:获取数据传输接口的存储设备;其中,存储设备通过数据传输接口与soc芯片的内置存储器相连接;控制soc芯片将日志数据拷贝至存储设备。
105.通过上述实施例中提到的车机数据存储系统可知,该系统可将mcu微控制器产生的日志数据保存至车机的soc存储器中,在对车机系统进行故障分析时可直接从soc存储器中使用该存储文件,减少了开发人员的工作量,从而解决了现有技术中存在的mcu日志数据缺少保存方式的技术问题。
106.本实施例提供的车机数据存储系统,与上述实施例提供的车机数据存储方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。为简要描述,实施例部分未提及之处,可参考前述车机数据存储方法实施例中相应内容。
107.本实施例还提供一种电子设备,该电子设备的结构示意图如图12所示,该设备包括处理器101和存储器102;其中,存储器102用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述车机数据存储方法的步骤。
108.图12所示的电子设备还包括总线103和通信接口104,处理器101、通信接口104和
存储器102通过总线103连接。
109.其中,存储器102可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。总线103可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
110.通信接口104用于通过网络接口与至少一个用户终端及其它网络单元连接,将封装好的ipv4报文或ipv4报文通过网络接口发送至用户终端。
111.处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微控制器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器102,处理器101读取存储器102中的信息,结合其硬件完成前述实施例的方法的步骤。
112.本发明实施例还提供了一种可读存储介质,该可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前述实施例的车机数据存储方法的步骤。
113.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
114.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
115.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
116.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以用软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得
一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
117.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种车机数据存储方法,其特征在于,所述方法用于对车机系统中微控制器的日志数据进行存储;所述方法包括:当检测到所述车机系统完成上电后,控制所述微控制器实时输出日志数据,并将所述日志数据保存在第一存储空间;其中,所述第一存储空间位于所述微控制器的内置存储器中;控制所述微控制器创建缓存链,并将所述第一存储空间中的所述日志数据按照生成顺序依次保存至所述缓存链中;控制所述微控制器将所述缓存链中的所述日志数据保存在所述车机系统的第二存储空间中;其中,所述第二存储空间位于所述车机系统中soc芯片的内置存储器中。2.根据权利要求1所述的车机数据存储方法,其特征在于,所述控制所述微控制器创建缓存链,并将所述第一存储空间中的所述日志数据按照生成顺序依次保存至所述缓存链中的步骤,包括:从预设的配置文件确定所述缓存链的初始化数据,并控制所述微控制器利用所述初始化数据初始化所述缓存链;其中,所述缓存链包括第一缓存链表和第二缓存链表;根据所述日志数据的生成顺序,依次将所述日志数据保存至所述第一缓存链表中;其中,所述第一缓存链表包括:长度链表、目标链表以及数据链表;所述日志数据保存至所述数据链表中;将所述第一缓存链表中所述数据链表的所述日志数据保存至所述第二缓存链表中;其中,所述第二缓存链表包括:头链表、数量链表、主命令链表、子命令链表、序号链表、日志链表以及查验链表;其中,所述数据链表中的所述日志数据保存至所述第二缓存链表的所述子命令链表中。3.根据权利要求1所述的车机数据存储方法,其特征在于,所述控制所述微控制器创建缓存链,并将所述第一存储空间中的所述日志数据按照生成顺序依次保存至所述缓存链中的步骤之后,所述方法还包括:利用所述日志数据生成所述日志数据对应的日志协议帧,并将所述日志协议帧保存至所述第一存储空间中;其中,所述日志协议帧中包含所述日志数据的数据存储协议;控制所述微控制器将所述日志协议帧发送至所述车机系统中的所述soc芯片中。4.根据权利要求3所述的车机数据存储方法,其特征在于,所述控制所述微控制器将所述缓存链中的所述日志数据保存在所述车机系统的第二存储空间中的步骤之前,所述方法还包括:控制所述soc芯片接收所述日志协议帧,并利用所述日志协议帧获取所述数据存储协议;其中,所述数据存储协议用于将16进制格式的所述日志数据转化为ascii码格式后保存至所述第二存储空间中。5.根据权利要求1所述的车机数据存储方法,其特征在于,所述控制所述微控制器将所述缓存链中的所述日志数据保存在所述车机系统的第二存储空间中的步骤,包括:当检测到所述soc芯片完成上电后,创建所述微控制器与所述soc芯片之间的数据连接通道;利用所述数据连接通道,控制所述微控制器将所述缓存链中的所述日志数据传输至所述soc芯片的内置存储器对应的所述第二存储空间中。
6.根据权利要求1所述的车机数据存储方法,其特征在于,所述控制微控制器将所述缓存链中的所述日志数据保存在所述车机系统的第二存储空间中的步骤之后,所述方法还包括:判断所述日志数据是否保存至所述第二存储空间中;如果是,则控制所述微控制器将所述第一存储空间中的所述日志数据删除。7.根据权利要求1所述的车机数据存储方法,其特征在于,所述当检测到所述车机系统完成上电后,控制所述微控制器实时输出日志数据,并将所述日志数据保存在第一存储空间的步骤之后,所述方法还包括:实时获取所述第一存储空间中的剩余空间数据,并利用所述剩余空间数据获取所述第一存储空间的存储状态;当所述第一存储空间的存储状态为存满状态时,则控制所述微控制器停止向所述第一存储空间传输所述日志数据。8.根据权利要求1所述的车机数据存储方法,其特征在于,若所述soc芯片的内置存储器设置有数据传输接口;则控制所述微控制器将所述缓存链中的所述日志数据保存在所述车机系统的第二存储空间中的步骤之后,所述方法还包括:获取所述数据传输接口的存储设备;其中,所述存储设备通过所述数据传输接口与所述soc芯片的内置存储器相连接;控制所述soc芯片将所述日志数据拷贝至所述存储设备。9.一种车机数据存储系统,其特征在于,所述系统用于对车机系统中微控制器的日志数据进行存储;所述系统包括:第一存储模块,用于当检测到所述车机系统完成上电后,控制所述微控制器实时输出日志数据,并将所述日志数据保存在第一存储空间;其中,所述第一存储空间位于所述微控制器的内置存储器中;第二存储模块,用于控制所述微控制器创建缓存链,并将所述第一存储空间中的所述日志数据按照生成顺序依次保存至所述缓存链中;第三存储模块,用于控制所述微控制器将所述缓存链中的所述日志数据保存在所述车机系统的第二存储空间中;其中,所述第二存储空间位于所述车机系统中soc芯片的内置存储器中。10.一种电子设备,其特征在于,包括:处理器和存储装置;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时实现上述权利要求1至8任一项所述的车机数据存储方法的步骤。
技术总结
本发明提供了一种车机数据存储方法、系统及电子设备,在对微控制器的日志数据进行存储时,当检测到车机系统完成上电后,控制微控制器实时输出日志数据,并将日志数据保存在微控制器的第一存储空间;然后控制微控制器创建缓存链,并将第一存储空间中的日志数据按照生成顺序依次保存至缓存链中,最后控制微控制器将缓存链中的日志数据保存在车机系统SOC芯片的第二存储空间中。该方案可将MCU微控制器产生的日志数据保存至车机的SOC存储器中,在对车机系统进行故障分析时可直接从SOC存储器中使用该存储文件,减少了开发人员的工作量,从而解决了现有技术中存在的MCU日志数据缺少保存方式的技术问题。方式的技术问题。方式的技术问题。
技术研发人员:刘超 王德亮
受保护的技术使用者:北斗星通智联科技有限责任公司
技术研发日:2023.06.20
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种相机调整装置的制作方法 下一篇:一种装配式建筑外挂防护装置的制作方法