一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种继电保护装置裸核程序日志记录方法和系统与流程

2022-06-01 20:05:04 来源:中国专利 TAG:


1.本发明涉及嵌入式存储技术领域,具体涉及一种继电保护装置裸核程序日志记录方法和系统。


背景技术:

2.在继电保护装置中为了确保继电保护装置动作的快速性,通常使用裸核运行保护程序。而日志的存储通常需要将日志内容通过ascii转码后以文本形式存储在文件系统。但在裸核程序中对日志内容进行ascii转码会耗费较长的cpu运行时间,无法满足保护中断程序中发生异常需要进行日志存储的需求;此外裸核本身又不支持文件系统。
3.现有嵌入式系统日志一般存储在ram中或者文件系统中,存储在ram中存在掉电易失的问题,而文件系统则存在传输异常中断时日志无法保存或者保存不及时的问题。如专利申请cn201510690375.x采用缓存的方式保证日志保存的连续性,再通过通信接口和软件保存到非易失存储器上。在配有操作系统的情况下,专利申请cn201810479161.1通过预留内存来快速保存日志,避免断电引起的日志丢失问题。专利申请cn202011183299.0通过对日志输出模块设定级别实现多个目的输出设备(包括服务器、串口、usb)的日志输出,实现根据现场需求实时输出日志,避免大量缓存的同时保证优先级较高的日志处理速度。以上专利均考虑了日志存储速度或者非易失其中的一点,两者无法兼备。在多核处理器中,嵌入式通常是由系统核和裸核组成,专利申请cn200710181024.1中系统核负责创建共享队列以及通过轮询方式取出队列里的异常消息,裸核完成异常信号的采集处理和存储,但是如在中断程序中使用该方法会因为日志转码与存储时间较长而影响中断程序的执行速度。
4.上述现有技术公开的日志管理主要是在存储速度和存储容量间达到平衡,此外断电恢复也是重要的考虑因素。处理器只有裸核的情况下,采用缓存方式很难应对突发异常情况,而在配有操作系统下的情况下,通过任务管理可以定时将日志存储在非易失存储器中,避免断电重启后日志丢失无法复位的情况。在多核处理器中,裸核负责信息的处理存储,系统核负责共享内存的创建和信息的提取,但是和异常信息不同的是,日志存储容量需求大,且存在优先级的考虑,因此专利申请cn202011183299.0中两核之间的任务分配并不适用于日志管理。


技术实现要素:

5.本发明的目的在于提供一种继电保护装置裸核程序日志记录方法,以解决继电保护装置裸核程序日志记录问题。
6.为了实现上述目的,本发明采用如下技术方案:
7.一种继电保护装置裸核程序日志记录方法,继电保护装置使用的芯片为多核amp(asymmetricmulti-processing)架构芯片,其中cpu核心分为裸核与系统核运行,裸核与系统核间有共享内存,裸核程序日志记录步骤包括:
8.a.对于非中断程序的日志记录,采用裸核的printf接口将日志内容进行ascii转
码,再放入共享内存并进行串口打印输出;
9.对于中断程序的日志记录,采用裸核的logmsg接口将日志内容放入队列保存,由定时触发的信息处理任务将队列中的日志内容进行ascii转码,再放入共享内存并进行串口打印输出;
10.b.系统核的日志处理线程读取共享内存中的日志信息,将日志以文本的方式写入掉电安全文件系统。
11.作为一种优选的实施方式,所述由定时触发的信息处理任务将队列中的日志内容进行ascii转码的方式为:
12.定时器触发信息处理任务后,对日志队列进行处理,如果日志队列不为空,则将队列中的日志内容进行ascii转码,转码后的内容放入共享内存并进行串口打印输出;如果日志队列为空,则等待下一次定时器触发信息处理任务。
13.作为一种优选的实施方式,信息处理任务将队列中的日志内容按照先入先出的方式进行ascii转码。
14.作为一种优选的实施方式,系统核采用一个日志处理线程进行共享内存中的日志信息处理。
15.作为一种优选的实施方式,裸核程序日志记录的时间同步方法为:
16.fpga芯片接收外部irig-b信号后,通过拉高裸核gpio引脚触发外部中断,实现对时。
17.作为一种优选的实施方式,所述方法还包括,将写入掉电安全文件系统的日志文本同步至非易失存储器存储。
18.作为一种优选的实施方式,所述日志记录包括运行日志和异常日志。
19.作为一种优选的实施方式,所述运行日志包括时间、位置、运行详细内容;异常日志包括时间、cpu寄存器信息、堆栈内容、异常地址、异常类型。
20.本发明的另一目的在于提供一种继电保护装置裸核程序日志记录系统,包括裸核、系统核和共享内存,所述系统核中安装操作系统;裸核和系统核通过共享内存通信;
21.所述裸核包括printf接口和logmsg接口,printf接口用于处理非中断程序的日志记录,将日志内容进行ascii转码,再放入共享内存并进行串口打印输出;logmsg接口处理中断程序的日志记录,将日志内容放入队列保存,由定时触发的信息处理任务将队列中的日志内容进行ascii转码,再放入共享内存并进行串口打印输出;
22.所述系统核包括日志处理线程和掉电安全文件系统,日志处理线程读取共享内存中的日志信息,将日志以文本的方式写入掉电安全文件系统。
23.作为一种优选的实施方式,信息处理任务将队列中的日志内容按照先入先出的方式进行ascii转码。
24.本发明根据日志记录的延时要求,对不同日志记录过程采用不同的方式进行记录,对于裸核中日志记录占用的延时要求不高的非中断程序,仅需要将日志内容通过ascii转码后放到共享内存,由系统核将共享内存的日志内容以文本方式写入掉电安全文件系统tpsfs,从而解决裸核不支持文件系统的问题。为了支持保护中断程序中要求日志记录占用的延时尽可能低需求,将“日志内容进行ascii转码后放入共享内存”分步执行,首先在保护中断程序中只将日志内容放入队列保存,然后保护中断程序可继续执行其任务,之后由专
门的信息处理任务中对队列的数据按照fifo先入先出的方式进行ascii转码后放入共享内存。由于保护中断程序中不需进行ascii转码,大大降低了日志记录的执行时间。本发明的方法和系统能充分满足继电保护装置在不同执行延时需求下完成对日志记录的要求,提高日志记录的效率。
附图说明
25.为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1是本发明某一实施例提供的裸核程序日志记录流程图。
27.图2是本发明某一实施例提供的printf接口执行流程图。
28.图3是本发明某一实施例提供的logmsg接口与信息处理任务执行流程图。
29.图4是本发明某一实施例提供的信息处理任务执行流程图。
30.图5是本发明某一实施例提供的t_log线程执行流程图。
31.图6是本发明某一实施例提供的裸核时间同步流程图。
32.图7是本发明某一实施例提供的裸核日志存储系统图。
具体实施方式
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.应当理解,文中所使用的步骤编号仅是为了方便描述,不作为对步骤执行先后顺序的限定。
35.应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
36.术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
37.术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
38.实施例中实现所述方法的芯片采用国产4核伏羲芯片,ck-810-0、ck-810-1、2
×
ck-860,其中ck-810-0和ck-810-1运行裸核程序,2
×
ck-860双核运行sylixos操作系统,核间可通过共享内存通信。
39.在某一实施例中,在非中断程序中需要进行日志记录时调用printf接口:voidprintf(const char*format,...);printf接口执行流程如图2所示。printf接口将日志内容进行ascii转码,再放入共享内存并进行串口打印输出。
40.在中断程序中需要进行日志记录时调用logmsg接口:voidlogmsg(constchar*format,int a1,inta2,inta3,inta4,inta5,inta6);
41.logmsg日志信息队列数据结构:
[0042][0043][0044]
logmsg接口执行流程如图3所示。logmsg接口将日志内容存入队列。
[0045]
在某一实施例中,信息处理任务定时触发,从日志队列中按照fifo方式将日志信息进行串口打印并放入共享内存,信息处理任务执行流程如图4所示。定时器触发信息处理任务后,对日志队列进行处理,如果日志队列不为空,则将队列中的日志内容进行ascii转码,转码后的内容放入共享内存并进行串口打印输出;如果日志队列为空,则等待下一次定时器触发信息处理任务。
[0046]
在某一实施例中,系统核t_log线程中将共享内存中的日志内容以文本的方式写入掉电安全文件系统tpsfs,执行流程如图5所示。t_log线程开始运行,如果共享内容中存在未保管的日志内容,则将日志内容以文本形式写入掉电安全文件系统。
[0047]
在某一实施例中,裸核日志记录中时间同步方法为通过一片fpga芯片实现时间同步功能。fpga芯片接受外部的irig-b信号,实现对时功能。fpga芯片同时给裸核提供精确的同步中断信号,实现裸核时间同步功能,时间同步流程如图6所示。fpga接收到irig-b信号后,通过拉高裸核gpio引脚触发外部中断,裸核根据fpga提供的秒脉冲信号完成时间同步。
[0048]
在某一实施例中,裸核日志存储系统结构如图7所示。包括裸核、系统核和共享内存,所述系统核中安装操作系统;裸核和系统核通过共享内存通信;裸核包括printf接口和logmsg接口,printf接口用于处理非中断程序的日志记录,将日志内容进行ascii转码,再
放入共享内存并进行串口打印输出;logmsg接口处理中断程序的日志记录,将日志内容放入队列保存,由定时触发的信息处理任务将队列中的日志内容进行ascii转码,再放入共享内存并进行串口打印输出;系统核包括日志处理线程和掉电安全文件系统,日志处理线程读取共享内存中的日志信息,将日志以文本的方式写入掉电安全文件系统,再同步至非易失存储器。
[0049]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献