CN112100032B - 一种嵌入式设备日志输出记录方法及系统 - Google Patents

一种嵌入式设备日志输出记录方法及系统 Download PDF

Info

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
Application number
CN202010982492.4A
Other languages
English (en)
Other versions
CN112100032A (zh
Inventor
杨波波
李悦坤
陆发忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vision Microsystems Shanghai Co ltd
Original Assignee
Vision Microsystems Shanghai Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vision Microsystems Shanghai Co ltd filed Critical Vision Microsystems Shanghai Co ltd
Priority to CN202010982492.4A priority Critical patent/CN112100032B/zh
Publication of CN112100032A publication Critical patent/CN112100032A/zh
Application granted granted Critical
Publication of CN112100032B publication Critical patent/CN112100032B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (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和变量值,并通过使用预设数字替代日志输出中的文本信息。
CN202010982492.4A 2020-09-17 2020-09-17 一种嵌入式设备日志输出记录方法及系统 Active CN112100032B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114265745A (zh) * 2021-12-21 2022-04-01 绿能慧充数字技术有限公司 基于can总线的监控板输出日志方法、系统、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 オムロン株式会社 産業用制御システムとその支援装置、制御支援方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
基于弱关联挖掘的网络取证数据采集系统设计与实现;许学添;邹同浩;;计算机测量与控制(第01期);128-131 *

Also Published As

Publication number Publication date
CN112100032A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
US20060259822A1 (en) Profiling system
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) 视频切片上报方法、系统、存储介质及计算机
CN108847714B (zh) 一种高压直流输电暂态数据录波装置及控制保护装置
CN111324653B (zh) 一种离线数据的采集方法、装置、设备及存储介质
CN104678292A (zh) 一种复杂可编程逻辑器件cpld测试方法和装置
CN116361111A (zh) 一种数据获取方法、装置及电子设备
US8935200B2 (en) Dynamic database dump
CN115617600A (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) 一种日志优化测试方法、装置、计算机设备及存储介质
CN101551802B (zh) 用于一管理系统的文件存取方法
CN114924924B (zh) 基于oses的sas链路测试方法、平台、设备、介质
CN213780945U (zh) 一种日志数据快速存储装置
CN116227395B (zh) 数字芯片的仿真测试方法、装置及电子设备
CN116389786B (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