一种嵌入式设备日志输出记录方法及系统技术方案

技术编号:26762122 阅读:17 留言:0更新日期:2020-12-18 23:07
本发明专利技术提供了一种嵌入式设备日志输出记录系统及方法,包括:日志自动生成模块:通过源码分析技术,在源码中关键位置插入日志语句,完整记录程序的执行流程,实现日志的完整性;CPU局部总线采集模块:利用CPU局部总线对日志自动生成模块生成的完整日志进行数据采集;主机数据存储模块:与CPU局部总线采集模块进行通信,通过光纤将采集的日志信息记录到主机平台的文件磁盘中;所述关键位置包括函数入口、函数出口和分支执行点。本发明专利技术通过日志自动生成模块解决了日志文字输出占用空间较大,以及由于人为因素造成的关键位置没有日志输出时日志不完整的问题。

【技术实现步骤摘要】
一种嵌入式设备日志输出记录方法及系统
本专利技术涉及嵌入式设备领域,具体地,涉及一种嵌入式设备日志输出记录方法及系统,更为具体地,涉及一种基于源码分析与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局部总线采集器中设置本文档来自技高网...

【技术保护点】
1.一种嵌入式设备日志输出记录系统,其特征在于,包括:/n日志自动生成模块:通过源码分析技术,在源码中关键位置插入日志语句,完整记录程序的执行流程,实现日志的完整性;/nCPU局部总线采集模块:利用CPU局部总线对日志自动生成模块生成的完整日志进行数据采集;/n主机数据存储模块:与CPU局部总线采集模块进行通信,通过光纤将采集的日志信息记录到主机平台的文件磁盘中;/n所述关键位置包括函数入口、函数出口和分支执行点。/n

【技术特征摘要】
1.一种嵌入式设备日志输出记录系统,其特征在于,包括:
日志自动生成模块:通过源码分析技术,在源码中关键位置插入日志语句,完整记录程序的执行流程,实现日志的完整性;
CPU局部总线采集模块:利用CPU局部总线对日志自动生成模块生成的完整日志进行数据采集;
主机数据存储模块:与CPU局部总线采集模块进行通信,通过光纤将采集的日志信息记录到主机平台的文件磁盘中;
所述关键位置包括函数入口、函数出口和分支执行点。


2.根据权利要求1所述的嵌入式设备日志输出记录系统,其特征在于,所述日志自动生成模块包括:对待插入日志输出的嵌入式系统源码进行分析,通过源码分析结果找出日志输出关键点,在关键点位置插入日志语句;
所述日志语句包括当前任务ID、关键位置ID和变量值,并通过使用预设数字替代日志输出中的文本信息。


3.根据权利要求1所述的嵌入式设备日志输出记录系统,其特征在于,所述CPU局部总线采集模块包括:
CPU局部总线采集模块M1:日志输出语句向内存写入日志信息,触发CPU局部总线的地址线、数据线信号的变化;
CPU局部总线采集模块M2:CPU局部总线采集模块监控CPU局部总线的控制线、地址线和数据线的信号变化,当控制线信号为写信号并且地址线表示的地址为预设日志输出地址,则采集数据线的信号,将地址信号和数据信号转换为数据信息;
CPU局部总线采集模块M3:CPU局部总线在采集到数据信息后,对数据信息进行缓存。


4.根据权利要求3所述的嵌入式设备日志输出记录系统,其特征在于,所述CPU局部总线采集模块M3中对数据信息进行缓存包括:在CPU局部总线采集器中设置预设个缓存区间,轮流进行缓存写入。


5.根据权利要求4所述的嵌入式设备日志输出记录系统,其特征在于,所述缓存写入包括:查询当前缓存块ID,向当前缓存块ID写入数据,修改当前缓存块数据大小记录,判断当前缓存块ID是否已满,当已经写满,则设置下一个缓存块为当前缓存块。


6.根据权利要求5所述的嵌入式设备日志输出记录系统,其特征在于,所述主机数据存储模块包括:
主机数据存储模块M1:查询当前发送缓存块ID;
主机数据存储模块M2:判断当前发送缓存块数据大小记录,当当前发送缓存块数据大小为0时,则设置下一个缓存块为当前发送缓存块,直至当前发送缓存块数据大小不为0;
主机数据存储模块M3:判断当前发送缓存块是否为当前写入缓存块,当当前发送缓存块是当前写入缓存块时,则设置当前写入缓存块为下一个缓存块;
主机数据存储模块M4:当前发送缓存块向主机发送缓存块数据,发送完成后,标记下一个缓存块为当前发送缓存块,持续查询...

【专利技术属性】
技术研发人员:杨波波李悦坤陆发忠
申请(专利权)人:上海创景信息科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1