CN112100032B - 一种嵌入式设备日志输出记录方法及*** - Google Patents
一种嵌入式设备日志输出记录方法及*** Download PDFInfo
- Publication number
- CN112100032B CN112100032B CN202010982492.4A CN202010982492A CN112100032B CN 112100032 B CN112100032 B CN 112100032B CN 202010982492 A CN202010982492 A CN 202010982492A CN 112100032 B CN112100032 B CN 112100032B
- Authority
- CN
- China
- Prior art keywords
- log
- local bus
- cpu local
- current
- data
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000013500 data storage Methods 0.000 claims abstract description 42
- 238000004458 analytical method Methods 0.000 claims abstract description 17
- 238000005516 engineering process Methods 0.000 claims abstract description 8
- 239000013307 optical fiber Substances 0.000 claims abstract description 8
- 230000005540 biological transmission Effects 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种嵌入式设备日志输出记录***及方法,包括:日志自动生成模块:通过源码分析技术,在源码中关键位置***日志语句,完整记录程序的执行流程,实现日志的完整性;CPU局部总线采集模块:利用CPU局部总线对日志自动生成模块生成的完整日志进行数据采集;主机数据存储模块:与CPU局部总线采集模块进行通信,通过光纤将采集的日志信息记录到主机平台的文件磁盘中;所述关键位置包括函数入口、函数出口和分支执行点。本发明通过日志自动生成模块解决了日志文字输出占用空间较大,以及由于人为因素造成的关键位置没有日志输出时日志不完整的问题。
Description
技术领域
本发明涉及嵌入式设备领域,具体地,涉及一种嵌入式设备日志输出记录方法及***,更为具体地,涉及一种基于源码分析与CPU局部总线采集的嵌入式设备日志输出记录方法。
背景技术
实时日志记录了软件真实的运行过程,一般用来调试软件或者定位软件运行过程中出现故障的位置。目前市场上的嵌入式日志记录设备都不能达到实时记录,主要受限于日志的大小、日志产生的速度、接口通信的速度。
本发明的目的在于克服已有的嵌入式设备控制器无法及时实时输出日志信息,导致技术人员无法及时对现场故障加以处理的缺陷,从而提供一种实时日志记录方法。为实现上述目的,本发明提供了一种基于源码分析与CPU局部数据采集的嵌入式设备控制器的实时日志记录方法。
专利文献CN103544097A(申请号:201310496989.5)公开了一种嵌入式***的日志存储方法、***及日志读取方法和***,所述日志存储方法包括:获取嵌入式***的日志数据;将所述日志数据写入随机存储器中;将写入所述随机存储器中的日志数据复制到外存储器中。本发明的嵌入式***的日志存储方法、***及日志读取方法和***,先将日志数据保存在随机存储器中,再从随机存储器中将日志数据复制到外存储器。嵌入式***的日志存储方法、***及日志读取方法和***中通过将日志写入内存,周期性再写入文件存储器中,降低日志实时输出的速度影响,但依然收到日志大小、日志产生速度的影响,日志较大或速度较快时,要么丢失日志,要么等到日志高速存储内存可用,不能达到实时输出的目标。
专利文献CN106919479A(申请号:201510984551.0)公开了一种嵌入式设备控制器的实时日志记录方法,包括:判断嵌入式设备控制器是否存在文件***,若存在文件***,将日志消息以文件方式存储,若不存在,则判断通讯口缓存中的空闲字节数是否大于所要发送的日志消息的长度,若大于或等于,则在通讯口处于不忙的状态时,将日志消息的数据拷贝到通讯口的发送缓存中,重置DMA的内存地址及发送长度,使能DMA发送。一种嵌入式设备控制器的实时日志记录方法中首先将日志写入接口缓存,在空闲时进行发送。由于接口缓存大小本身非常有限,所以此技术这个也会收到日志大小、日志产生速度的影响,并不能达到实时的日志记录。
专利文献CN106815120B(申请号:201710046109.2)公开了一种嵌入式日志管理***和方法,涉及日志管理技术领域,包括日志信息编码模块、日志信息表生成模块、告警器件注册模块和联动告警模块;日志信息编码模块用于对日志信息进行编码,得到多个日志信息码;日志信息表生成模块用于根据多个日志信息码和多个联动告警器件链表生成日志信息表;告警器件注册模块用于根据日志信息表将告警器件注册到对应的日志信息码上;联动告警模块用于根据日志信息码遍历日志信息表,得到日志信息码对应的联动告警器件链表,并根据日志信息码的状态信息对告警器件进行配置和操作,以使告警器件产生告警提示。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种嵌入式设备日志输出记录***及方法。
根据本发明提供的一种嵌入式设备日志输出记录***,包括:
日志自动生成模块:通过源码分析技术,在源码中关键位置***日志语句,完整记录程序的执行流程,实现日志的完整性;
CPU局部总线采集模块:利用CPU局部总线对日志自动生成模块生成的完整日志进行数据采集;
主机数据存储模块:与CPU局部总线采集模块进行通信,通过光纤将采集的日志信息记录到主机平台的文件磁盘中;
所述关键位置包括函数入口、函数出口和分支执行点。
优选地,所述日志自动生成模块包括:对待***日志输出的嵌入式***源码进行分析,通过源码分析结果找出日志输出关键点,在关键点位置***日志语句;
所述日志语句包括当前任务ID、关键位置ID和变量值,并通过使用预设数字替代日志输出中的文本信息。
优选地,所述CPU局部总线采集模块包括:
CPU局部总线采集模块M1:日志输出语句向内存写入日志信息,触发CPU局部总线的地址线、数据线信号的变化;
CPU局部总线采集模块M2:CPU局部总线采集模块监控CPU局部总线的控制线、地址线和数据线的信号变化,当控制线信号为写信号并且地址线表示的地址为预设日志输出地址,则采集数据线的信号,将地址信号和数据信号转换为数据信息;
CPU局部总线采集模块M3:CPU局部总线在采集到数据信息后,对数据信息进行缓存。
优选地,所述CPU局部总线采集模块M3中对数据信息进行缓存包括:在CPU局部总线采集器中设置预设个缓存区间,轮流进行缓存写入。
优选地,所述缓存写入包括:查询当前缓存块ID,向当前缓存块ID写入数据,修改当前缓存块数据大小记录,判断当前缓存块ID是否已满,当已经写满,则设置下一个缓存块为当前缓存块。
优选地,所述主机数据存储模块包括:
主机数据存储模块M1:查询当前发送缓存块ID;
主机数据存储模块M2:判断当前发送缓存块数据大小记录,当当前发送缓存块数据大小为0时,则设置下一个缓存块为当前发送缓存块,直至当前发送缓存块数据大小不为0;
主机数据存储模块M3:判断当前发送缓存块是否为当前写入缓存块,当当前发送缓存块是当前写入缓存块时,则设置当前写入缓存块为下一个缓存块;
主机数据存储模块M4:当前发送缓存块向主机发送缓存块数据,发送完成后,标记下一个缓存块为当前发送缓存块,持续查询当前发送缓存块,重复触发主机数据存储模块M1至主机数据存储模块M4执行。
根据本发明提供的一种嵌入式设备日志输出记录方法,包括:
日志自动生成步骤:通过源码分析技术,在源码中关键位置***日志语句,完整记录程序的执行流程,实现日志的完整性;
CPU局部总线采集步骤:利用CPU局部总线对日志自动生成模块生成的完整日志进行数据采集;
主机数据存储步骤:与CPU局部总线采集器进行通信,通过光纤将采集的日志信息记录到主机平台的文件磁盘中;
所述关键位置包括函数入口、函数出口和分支执行点。
优选地,所述日志自动生成步骤包括:对待***日志输出的嵌入式***源码进行分析,通过源码分析结果找出日志输出关键点,在关键点位置***日志语句;
所述日志语句包括当前任务ID、关键位置ID和变量值,并通过使用预设数字替代日志输出中的文本信息。
优选地,所述CPU局部总线采集步骤包括:
CPU局部总线采集步骤M1:日志输出语句向内存写入日志信息,触发CPU局部总线的地址线、数据线信号的变化;
CPU局部总线采集步骤M2:CPU局部总线采集器监控CPU局部总线的控制线、地址线和数据线的信号变化,当控制线信号为写信号并且地址线表示的地址为预设日志输出地址,则采集数据线的信号,将地址信号和数据信号转换为数据信息;
CPU局部总线采集步骤M3:CPU局部总线在采集到数据信息后,对数据信息进行缓存;
所述CPU局部总线采集步骤M3中对数据信息进行缓存包括:在CPU局部总线采集器中设置预设个缓存区间,轮流进行缓存写入;
所述缓存写入包括:查询当前缓存块ID,向当前缓存块ID写入数据,修改当前缓存块数据大小记录,判断当前缓存块ID是否已满,当已经写满,则设置下一个缓存块为当前缓存块。
优选地,所述主机数据存储步骤包括:
主机数据存储步骤M1:查询当前发送缓存块ID;
主机数据存储步骤M2:判断当前发送缓存块数据大小记录,当当前发送缓存块数据大小为0时,则设置下一个缓存块为当前发送缓存块,直至当前发送缓存块数据大小不为0;
主机数据存储步骤M3:判断当前发送缓存块是否为当前写入缓存块,当当前发送缓存块是当前写入缓存块时,则设置当前写入缓存块为下一个缓存块;
主机数据存储步骤M4:当前发送缓存块向主机发送缓存块数据,发送完成后,标记下一个缓存块为当前发送缓存块,持续查询当前发送缓存块,重复执行主机数据存储步骤M1至主机数据存储步骤M4。
与现有技术相比,本发明具有如下的有益效果:
1、本发明通过日志自动生成模块解决了日志文字输出占用空间较大,以及由于人为因素造成的关键位置没有日志输出时日志不完整的问题;
2、本发明通过CPU局部总线采集,解决了日志的快速输出采集,解决了日志输出过程对***执行有较大影响的问题;
3、本发明通过CPU局部总线与主机存储模块的光纤连接方式,解决了日志输出速度块,且数据量很大时的数据传输、存储瓶颈;
4、本发明的方法能够更加完整的记录***的执行过程,并能够实时对每一条日志进行存储记录,保证日志信息的完整性以及对***执行效率的低影响性。使得***在执行过程中,执行效率基本不受日志输出影响,并且在出现故障时,技术人员可以查看日志,迅速定位故障点。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为嵌入式设备日志输出记录***及***示意图;
图2为CPU局部总线采集采集执行流程图;
图3为CPU局部总线采集器中的数据发送流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
根据本发明提供的一种嵌入式设备日志输出记录***,包括:如图1所示,
日志自动生成模块:通过源码分析技术,在源码中关键位置***日志语句,完整记录程序的执行流程,实现日志的完整性;
CPU局部总线采集模块:利用CPU局部总线对日志自动生成模块生成的完整日志进行数据采集,达到高效、实时的记录日志的目的;
主机数据存储模块:与CPU局部总线采集模块进行通信,通过光纤将采集的日志信息记录到主机平台的文件磁盘中;
所述关键位置包括函数入口、函数出口和分支执行点。
具体地,所述日志自动生成模块包括:对待***日志输出的嵌入式***源码进行分析,通过源码分析结果找出日志输出关键点,在关键点位置***日志语句;
所述日志语句输出多种信息,包括当前任务ID、关键位置ID和变量值。并且通过使用数字来替代传统日志输出中的文本信息,来降低日志输出大小。
例如:为记录函数进入,日志书写为log(“fun1 enter”);利用数字替代文本信息后,日志书写为log(20);在分析结果中记录20代表的含义。
具体地,所述CPU局部总线采集模块包括如图2所示:
CPU局部总线采集模块M1:日志输出语句向内存写入日志信息,触发CPU局部总线的地址线、数据线信号的变化;CPU局部总线是CPU与内存通信的总线,当CPU进行内存数据读写时,CPU局部总线会有对应的控制信号、数据信号、地址信号。日志输出语句通过向某内存地址写入数据的方式,引发CPU局部总线的信号变化,使得CPU局部总线采集器可以监控到日志输出数据信息。
CPU局部总线采集模块M2:CPU局部总线采集模块监控CPU局部总线的控制线、地址线和数据线的信号变化,当控制线信号为写信号并且地址线表示的地址为预设日志输出地址,则采集数据线的信号,将地址信号和数据信号转换为数据信息;
CPU局部总线采集模块M3:CPU局部总线在采集到数据信息后,对数据信息进行缓存。
具体地,所述CPU局部总线采集模块M3中对数据信息进行缓存包括:在CPU局部总线采集器中设置4个缓存区间,轮流进行缓存写入。
具体地,所述缓存写入包括:查询当前缓存块ID,向当前缓存块ID写入数据,修改当前缓存块数据大小记录,判断当前缓存块ID是否已满,当已经写满,则设置下一个缓存块为当前缓存块。
CPU局部总线有一个单独的通信模块不断将缓存中的数据推送到主机存储模块中。
具体地,所述主机数据存储模块包括:如图3所示,
主机数据存储模块M1:查询当前发送缓存块ID;
主机数据存储模块M2:判断当前发送缓存块数据大小记录,当当前发送缓存块数据大小为0时,则设置下一个缓存块为当前发送缓存块,直至当前发送缓存块数据大小不为0;
主机数据存储模块M3:判断当前发送缓存块是否为当前写入缓存块,当当前发送缓存块是当前写入缓存块时,则设置当前写入缓存块为下一个缓存块;
主机数据存储模块M4:当前发送缓存块向主机发送缓存块数据,发送完成后,标记下一个缓存块为当前发送缓存块,持续查询当前发送缓存块,重复触发主机数据存储模块M1至主机数据存储模块M4执行。
根据本发明提供的一种嵌入式设备日志输出记录方法,包括:
日志自动生成步骤:通过源码分析技术,在源码中关键位置***日志语句,完整记录程序的执行流程,实现日志的完整性;
CPU局部总线采集步骤:利用CPU局部总线对日志自动生成模块生成的完整日志进行数据采集,达到高效、实时的记录日志的目的;
主机数据存储步骤:与CPU局部总线采集器进行通信,通过光纤将采集的日志信息记录到主机平台的文件磁盘中;
所述关键位置包括函数入口、函数出口和分支执行点。
具体地,所述日志自动生成步骤包括:对待***日志输出的嵌入式***源码进行分析,通过源码分析结果找出日志输出关键点,在关键点位置***日志语句;
所述日志语句输出多种信息,包括当前任务ID、关键位置ID和变量值。并且通过使用数字来替代传统日志输出中的文本信息,来降低日志输出大小。
例如:为记录函数进入,日志书写为log(“fun1 enter”);利用数字替代文本信息后,日志书写为log(20);在分析结果中记录20代表的含义。
具体地,所述CPU局部总线采集步骤包括:
CPU局部总线采集步骤M1:日志输出语句向内存写入日志信息,触发CPU局部总线的地址线、数据线信号的变化;CPU局部总线是CPU与内存通信的总线,当CPU进行内存数据读写时,CPU局部总线会有对应的控制信号、数据信号、地址信号。日志输出语句通过向某内存地址写入数据的方式,引发CPU局部总线的信号变化,使得CPU局部总线采集器可以监控到日志输出数据信息。
CPU局部总线采集步骤M2:CPU局部总线采集器监控CPU局部总线的控制线、地址线和数据线的信号变化,当控制线信号为写信号并且地址线表示的地址为预设日志输出地址,则采集数据线的信号,将地址信号和数据信号转换为数据信息;
CPU局部总线采集步骤M3:CPU局部总线在采集到数据信息后,对数据信息进行缓存。
具体地,所述CPU局部总线采集步骤M3中对数据信息进行缓存包括:在CPU局部总线采集器中设置4个缓存区间,轮流进行缓存写入。
具体地,所述缓存写入包括:查询当前缓存块ID,向当前缓存块ID写入数据,修改当前缓存块数据大小记录,判断当前缓存块ID是否已满,当已经写满,则设置下一个缓存块为当前缓存块。
CPU局部总线有一个单独的通信模块不断将缓存中的数据推送到主机存储模块中。
具体地,所述主机数据存储步骤包括:
主机数据存储步骤M1:查询当前发送缓存块ID;
主机数据存储步骤M2:判断当前发送缓存块数据大小记录,当当前发送缓存块数据大小为0时,则设置下一个缓存块为当前发送缓存块,直至当前发送缓存块数据大小不为0;
主机数据存储步骤M3:判断当前发送缓存块是否为当前写入缓存块,当当前发送缓存块是当前写入缓存块时,则设置当前写入缓存块为下一个缓存块;
主机数据存储步骤M4:当前发送缓存块向主机发送缓存块数据,发送完成后,标记下一个缓存块为当前发送缓存块,持续查询当前发送缓存块,重复执行主机数据存储步骤M1至主机数据存储步骤M4。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的***、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (5)
1.一种嵌入式设备日志输出记录***,其特征在于,包括:
日志自动生成模块:通过源码分析技术,在源码中关键位置***日志语句,完整记录程序的执行流程,实现日志的完整性;
CPU局部总线采集模块:利用CPU局部总线对日志自动生成模块生成的完整日志进行数据采集;
主机数据存储模块:与CPU局部总线采集模块进行通信,通过光纤将采集的日志信息记录到主机平台的文件磁盘中;
所述关键位置包括函数入口、函数出口和分支执行点;
所述CPU局部总线采集模块包括:
CPU局部总线采集模块M1:日志输出语句向内存写入日志信息,触发CPU局部总线的地址线、数据线信号的变化;
CPU局部总线采集模块M2:CPU局部总线采集模块监控CPU局部总线的控制线、地址线和数据线的信号变化,当控制线信号为写信号并且地址线表示的地址为预设日志输出地址,则采集数据线的信号,将地址信号和数据信号转换为数据信息;
CPU局部总线采集模块M3:CPU局部总线在采集到数据信息后,对数据信息进行缓存;
所述CPU局部总线采集模块M3中对数据信息进行缓存包括:在CPU局部总线采集器中设置预设个缓存区间,轮流进行缓存写入;
所述缓存写入包括:查询当前缓存块ID,向当前缓存块ID写入数据,修改当前缓存块数据大小记录,判断当前缓存块ID是否已满,当已经写满,则设置下一个缓存块为当前缓存块。
2.根据权利要求1所述的嵌入式设备日志输出记录***,其特征在于,所述日志自动生成模块包括:对待***日志输出的嵌入式***源码进行分析,通过源码分析结果找出日志输出关键点,在关键点位置***日志语句;
所述日志语句包括当前任务ID、关键位置ID和变量值,并通过使用预设数字替代日志输出中的文本信息。
3.根据权利要求1所述的嵌入式设备日志输出记录***,其特征在于,所述主机数据存储模块包括:
主机数据存储模块M1:查询当前发送缓存块ID;
主机数据存储模块M2:判断当前发送缓存块数据大小记录,当当前发送缓存块数据大小为0时,则设置下一个缓存块为当前发送缓存块,直至当前发送缓存块数据大小不为0;
主机数据存储模块M3:判断当前发送缓存块是否为当前写入缓存块,当当前发送缓存块是当前写入缓存块时,则设置当前写入缓存块为下一个缓存块;
主机数据存储模块M4:当前发送缓存块向主机发送缓存块数据,发送完成后,标记下一个缓存块为当前发送缓存块,持续查询当前发送缓存块,重复触发主机数据存储模块M1至主机数据存储模块M4执行。
4.一种嵌入式设备日志输出记录方法,其特征在于,包括:
日志自动生成步骤:通过源码分析技术,在源码中关键位置***日志语句,完整记录程序的执行流程,实现日志的完整性;
CPU局部总线采集步骤:利用CPU局部总线对日志自动生成模块生成的完整日志进行数据采集;
主机数据存储步骤:与CPU局部总线采集器进行通信,通过光纤将采集的日志信息记录到主机平台的文件磁盘中;
所述关键位置包括函数入口、函数出口和分支执行点;
所述CPU局部总线采集步骤包括:
CPU局部总线采集步骤S1:日志输出语句向内存写入日志信息,触发CPU局部总线的地址线、数据线信号的变化;
CPU局部总线采集步骤S2:CPU局部总线采集模块监控CPU局部总线的控制线、地址线和数据线的信号变化,当控制线信号为写信号并且地址线表示的地址为预设日志输出地址,则采集数据线的信号,将地址信号和数据信号转换为数据信息;
CPU局部总线采集步骤S3:CPU局部总线在采集到数据信息后,对数据信息进行缓存;
所述CPU局部总线采集步骤S3中对数据信息进行缓存包括:在CPU局部总线采集器中设置预设个缓存区间,轮流进行缓存写入;
所述缓存写入包括:查询当前缓存块ID,向当前缓存块ID写入数据,修改当前缓存块数据大小记录,判断当前缓存块ID是否已满,当已经写满,则设置下一个缓存块为当前缓存块。
5.根据权利要求4所述的嵌入式设备日志输出记录方法,其特征在于,所述日志自动生成步骤包括:对待***日志输出的嵌入式***源码进行分析,通过源码分析结果找出日志输出关键点,在关键点位置***日志语句;
所述日志语句包括当前任务ID、关键位置ID和变量值,并通过使用预设数字替代日志输出中的文本信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010982492.4A CN112100032B (zh) | 2020-09-17 | 2020-09-17 | 一种嵌入式设备日志输出记录方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010982492.4A CN112100032B (zh) | 2020-09-17 | 2020-09-17 | 一种嵌入式设备日志输出记录方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100032A CN112100032A (zh) | 2020-12-18 |
CN112100032B true CN112100032B (zh) | 2023-11-10 |
Family
ID=73758809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010982492.4A Active CN112100032B (zh) | 2020-09-17 | 2020-09-17 | 一种嵌入式设备日志输出记录方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100032B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114265745A (zh) * | 2021-12-21 | 2022-04-01 | 绿能慧充数字技术有限公司 | 基于can总线的监控板输出日志方法、***、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101482747A (zh) * | 2007-09-27 | 2009-07-15 | 洛克威尔自动控制技术股份有限公司 | 工业***中的预订与通知 |
CN106250125A (zh) * | 2016-07-26 | 2016-12-21 | 深圳天珑无线科技有限公司 | 获取日志的方法及装置 |
CN108089971A (zh) * | 2017-11-27 | 2018-05-29 | 上海华元创信软件有限公司 | 基于嵌入式实时***的日志服务方法和*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050010812A1 (en) * | 2003-06-19 | 2005-01-13 | International Business Machines Corporation | Computer system software "black box" capture device |
JP5533097B2 (ja) * | 2010-03-18 | 2014-06-25 | 株式会社リコー | 情報処理装置、画像形成装置及び情報処理プログラム |
JP6493506B1 (ja) * | 2017-12-15 | 2019-04-03 | オムロン株式会社 | 産業用制御システムとその支援装置、制御支援方法およびプログラム |
-
2020
- 2020-09-17 CN CN202010982492.4A patent/CN112100032B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101482747A (zh) * | 2007-09-27 | 2009-07-15 | 洛克威尔自动控制技术股份有限公司 | 工业***中的预订与通知 |
CN106250125A (zh) * | 2016-07-26 | 2016-12-21 | 深圳天珑无线科技有限公司 | 获取日志的方法及装置 |
CN108089971A (zh) * | 2017-11-27 | 2018-05-29 | 上海华元创信软件有限公司 | 基于嵌入式实时***的日志服务方法和*** |
Non-Patent Citations (1)
Title |
---|
基于弱关联挖掘的网络取证数据采集***设计与实现;许学添;邹同浩;;计算机测量与控制(第01期);128-131 * |
Also Published As
Publication number | Publication date |
---|---|
CN112100032A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7603589B2 (en) | Method and system for debugging a software program | |
CN103577310A (zh) | 记录软件调试日志的方法以及装置 | |
CN115292266B (zh) | 一种基于存储器的高可靠日志存储方法 | |
US20040117690A1 (en) | Method and apparatus for using a hardware disk controller for storing processor execution trace information on a storage device | |
CN112100032B (zh) | 一种嵌入式设备日志输出记录方法及*** | |
CN109542341B (zh) | 一种读写io监测方法、装置、终端及计算机可读存储介质 | |
CN108170571B (zh) | 一种芯片追踪调试装置及方法 | |
CN117156172B (zh) | 视频切片上报方法、***、存储介质及计算机 | |
CN104516953B (zh) | 一种用于电力调度自动化海量报文的黑匣子*** | |
CN110134615B (zh) | 应用程序获取日志数据的方法及装置 | |
CN109190146B (zh) | 一种bim模型信息检验方法、***、终端及存储介质 | |
CN116361111A (zh) | 一种数据获取方法、装置及电子设备 | |
US8935200B2 (en) | Dynamic database dump | |
CN115617600A (zh) | 收集用于调试和分析的运行时信息 | |
CN114706371A (zh) | 整车网络不休眠诊断方法、装置、电子设备及存储介质 | |
CN113050981A (zh) | 代码线上自动发布方法、服务器和存储介质 | |
US9251023B2 (en) | Implementing automated memory address recording in constrained random test generation for verification of processor hardware designs | |
CN115700549A (zh) | 模型训练方法、故障确定方法、电子设备和程序产品 | |
JP2022084087A (ja) | 障害解析装置および障害解析方法 | |
CN113760696A (zh) | 一种程序问题定位方法、装置、电子设备和存储介质 | |
CN112711380A (zh) | 一种存储设备的日志管理方法、装置及相关组件 | |
CN117407315B (zh) | 一种日志优化测试方法、装置、计算机设备及存储介质 | |
CN114924924B (zh) | 基于oses的sas链路测试方法、平台、设备、介质 | |
CN213780945U (zh) | 一种日志数据快速存储装置 | |
CN116227395B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |