数据采样方法及相关硬件与流程
- 国知局
- 2024-08-02 14:14:54
本发明涉及计算机,尤指一种数据采样方法及相关硬件。
背景技术:
1、多核处理器是一种集成了多个内核的处理器,其中多核处理器的每个内核都可以独立地执行指令。这样多核处理器可以同时处理多个任务,提高了处理器的整体性能和效率。
2、目前,在汽车电子领域已经广泛应用了多核处理器的计算设备,以实现处理器并行执行不同的任务。一般地,对于采用多核处理器的汽车电子设备,通常会将不同类型的任务分配至不同的内核执行,例如对变量数据记录任务由一个专门的内核执行,与其它设备通信的任务由另一个专门的通信内核执行等。在作为下位机的汽车电子设备受上位机调试的过程中,上位机对下位机下发的数据采样任务会由通信内核执行,如果对被采样的变量进行数据记录写入的任务由非通信内核执行,那么可能会出现通信内核在对该变量的数据进行采样的同时,非通信内核对该变量进行数据写入修改,导致对该变量采样的数据结果错误。
技术实现思路
1、本发明实施例提供一种数据采样方法及相关硬件,用以解决现有技术中存在采用多核处理器的下位机进行数据采样时,由于对被采样的变量进行数据写入的内核与采样内核不同而可能发生采样结果错误的问题。
2、本发明实施例提供了一种数据采样方法,应用于上位机,所述上位机与下位机通过控制器局域网can总线连接,所述下位机包括多核处理器;
3、所述方法包括:
4、对任一待采样变量,确定所述待采样变量在所述下位机的多核处理器中对应的内核,其中所述待采样变量对应的内核为具有对所述待采样变量进行数据修改逻辑的内核;
5、根据所述下位机的目标内核对应的目标待采样变量,生成所述目标内核对应的目标数据采样指令并通过can总线以显示控制协议xcp下发给所述下位机;以使所述下位机的所述目标内核响应于所述目标数据采样指令,对所述目标待采样变量采样并将采样数据上报给所述上位机;其中,所述目标内核为所述下位机的多核处理器中的任一内核;
6、接收所述下位机通过can总线以xcp协议上传的所述采样数据。
7、可选地,所述对任一待采样变量,确定所述待采样变量在所述下位机的多核处理器中对应的内核,具体包括:
8、获取所述下位机运行的嵌入式软件锁对应的map文件和至少一个目标文件;
9、对所述至少一个目标文件进行程序静态分析,确定各目标文件对应的函数以及各函数所对应的变量;
10、对所述map文件进行程序静态分析,确定各待采样变量在所述下位机的多核处理器中所对应的内核;
11、和/或,在所述嵌入式软件的程序处于动态运行的情况下,对所述目标文件和所述待采样变量进行递归搜索,得到递归搜索结果;根据所述递归搜索结果和多个所述函数,生成函数调用树;根据所述函数调用树,确定动态运行过程中对各待采样变量进行数据修改操作的内核。
12、基于同一发明构思,本发明实施例还提供了一种数据采样方法,应用于下位机,所述下位机与上位机通过can总线连接,且所述下位机包括多核处理器和运行内存;
13、所述方法包括:
14、接收上位机发送的数据采样指令并保存在所述运行内存中;其中,对于同一数据采样指令指示的待采样变量,各所述待采样变量均至少对应所述数据采样指令对应的内核;对任一待采样变量,所述待采样变量对应的内核为具有对所述待采样变量进行数据修改逻辑的内核;
15、对所述多核处理器中的目标内核,从所述运行内存中获取所述目标内核对应的目标数据采样指令,对所述目标数据采样指令指示的任一目标待采样变量,采样所述目标待采样变量并将采样数据通过can总线以xcp协议上传给所述上位机;
16、其中,所述目标内核为所述多核处理器中的任一内核。
17、可选地,所述目标待采样变量包括目标第一跨核变量;对任一第一跨核变量,所述第一跨核变量对应多个内核,且在被对应的内核进行数据修改时以并发锁的方式进行修改;
18、对任一数据采样指令,所述数据采样指令中携带指示的待采样变量所对应的内核信息;
19、所述对所述目标数据采样指令对应的任一目标待采样变量,采样所述目标待采样变量,具体包括:
20、对所述目标数据采样指令对应的任一目标第一跨核变量,通过并发锁的方式采样所述目标第一跨核变量;
21、其中,所述并发锁为原子锁或者自旋锁或者互斥锁。
22、基于同一发明构思,本发明实施例还提供了一种数据采样方法,应用于下位机,所述下位机与上位机通过can总线连接,且所述下位机包括多核处理器和运行内存;所述多核处理器包括通信内核和至少一个非通信内核;
23、所述方法包括:
24、通过所述通信内核接收上位机通过can总线以xcp协议下发的对目标待采样变量的数据采样指令;
25、对任一目标第二跨核变量,通过所述通信内核通过并发锁的方式采样所述目标第二跨核变量并将采样数据通过can总线以xcp协议上传给所述上位机;
26、其中,所述目标第二跨核变量为对应的内核包括所述非通信内核的目标待采样变量;
27、对任一待采样变量,所述待采样变量对应的内核为具有对所述待采样变量进行数据修改逻辑的内核;
28、对任一第二跨核变量,所述第二跨核变量在被对应的内核进行数据修改时以并发锁的方式进行修改;
29、所述并发锁为原子锁或者自旋锁或者互斥锁。
30、基于同一发明构思,本发明实施例还提供了一种上位机,包括:
31、分析模块,用于对任一待采样变量,确定所述待采样变量在所述下位机的多核处理器中对应的内核,其中所述待采样变量对应的内核为具有对所述待采样变量进行数据修改逻辑的内核;
32、采样指令下发模块,用于根据所述下位机的目标内核对应的目标待采样变量,生成所述目标内核对应的目标数据采样指令并通过can总线以显示控制协议xcp下发给所述下位机;以使所述下位机的所述目标内核响应于所述目标数据采样指令,对所述目标待采样变量采样并将采样数据上报给所述上位机;其中,所述目标内核为所述下位机的多核处理器中的任一内核;
33、采样数据接收模块,用于接收所述下位机通过can总线以xcp协议上传的所述采样数据。
34、基于同一发明构思,本发明实施例还提供了一种下位机,包括:
35、采样指令接收模块,用于接收上位机发送的数据采样指令并保存在所述运行内存中;其中,对于同一数据采样指令指示的待采样变量,各所述待采样变量均至少对应所述数据采样指令对应的内核;对任一待采样变量,所述待采样变量对应的内核为具有对所述待采样变量进行数据修改逻辑的内核;
36、采样数据上报模块,用于对所述多核处理器中的目标内核,从所述运行内存中获取所述目标内核对应的目标数据采样指令,对所述目标数据采样指令指示的任一目标待采样变量,采样所述目标待采样变量并将采样数据通过can总线以xcp协议上传给所述上位机;
37、其中,所述目标内核为所述多核处理器中的任一内核。
38、基于同一发明构思,本发明实施例还提供了一种电子设备,包括:处理器和用于存储所述处理器可执行指令的存储器;
39、其中,所述处理器被配置为执行所述指令,以实现如上任一项所述的数据采样方法。
40、基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述如上任一项所述的数据采样方法。
41、基于同一发明构思,本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述如上任一项所述的数据采样方法。
42、本发明有益效果如下:
43、本发明实施例提供的数据采样方法及相关硬件,上位机通过对下位机中所涉及的待采样变量分析对应的具有数据修改逻辑的内核,并指示下位机在对待采样变量进行采样时由具有对该待采样变量进行数据修改逻辑的内核来执行采样操作,从而对于待采样变量仅有一个内核具有数据修改逻辑的情况而言,待采样变量的写入修改与采样操作由同一个内核实现。由于同一个内核在同一时刻仅能执行一条指令,因而对于待采样变量仅有一个内核具有数据修改逻辑的情况而言,此类待采样变量对应的内核无法实现同时对所述待采样变量的数据修改写入与采样操作,避免出现下位机对此类待采样变量采样错误的情况。或者,上位机通过对下位机中所涉及的待采样变量分析对应的具有修改逻辑的内核,并指示下位机对修改操作与采样操作的执行内核不同的第二跨核变量进行采样时使用并发锁,从而保证同一时刻该第二跨核变量仅能被一个内核操作(尤其是采样操作),避免出现下位机对此类待采样变量采样错误的情况。
本文地址:https://www.jishuxx.com/zhuanli/20240801/242154.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表