一种基于嵌入式SD卡的日志回放系统构建方法技术方案

技术编号:32187286 阅读:17 留言:0更新日期:2022-02-08 15:51
本发明专利技术公开了一种基于嵌入式SD卡的日志回放系统及其构建方法,属于嵌入式系统日志管理技术领域。该方法通过在嵌入式系统中移植物联网操作系统,创建线程用于运行日志系统任务,在嵌入式系统中移植FATFS文件系统,根据SD卡模块的驱动程序对所述FATFS文件系统优化,根据所述RCT时钟模块中的时间确定所述日志系统中读写协议;接收运行参数,按照所述日志系统中读写规则,将所述运行参数转换为字符串作为日志记录写入FATFS文件系统,并存入SD卡中,能够实时将设备运行的数据保存在SD卡中,即使当嵌入式设备故障时,也可以通过SD卡中的数据检查故障原因;另外,采用多线程的方式进行数据读写,读写线程分开执行,互不干扰,资源利用率高,时延较低。时延较低。时延较低。

【技术实现步骤摘要】
一种基于嵌入式SD卡的日志回放系统构建方法


[0001]本专利技术属于嵌入式系统日志管理
,具体地说,涉及一种嵌入式SD卡的日志回放系统及其构建方法。

技术介绍

[0002]现有的大多数嵌入式设备的日志信息输出已经成为监测设备运行状态的一种常用调试方式,目前主要通过串口设备实时打印新数据或者嵌入式内部空间存储数据等两种方式来获取日志信息。
[0003]经检索发现如下专利文献:专利名称为应用程序日志记录方法及系统,公开了一种日志服务系统,该专利技术利用进程间通讯技术将原来频繁的磁盘I/O操作大大降低,既能进行日志的详细记录,又保持较低的资源占用率。该专利技术针对的是PC系统,嵌入式系统与PC系统的差别在于硬件资源更加缺乏,且由于工作环境复杂,随时可能出现看门狗复位的情况,针对嵌入式系统的特点,提出了一种在提高效率的同时确保日志记录可靠性的方法。
[0004]目前,现存的嵌入式设备输出日志信息存在一些缺点和不足,1)在设备运行的过程中实时输出数据却不能保存数据信息,当嵌入式设备故障时无法检查故障原因;2)嵌入式系统RAM和Flash存储空间小,可运用资源有限,无法通过内部存储空间来保存数据;3)传统的这种日志服务方法针对日志记录信息的读写,都需要对存储介质进行读写。然而外部存储介质访问速度慢,频繁的读写访问对系统资源消耗严重,使用效率低;且读取到的所有日志记录信息,庞大而无序,无法区分日志是属于当前系统运行时的日志,还是系统历史的日志信息,难于实现系统的快速、准确的诊断和定位;基于文件系统进行读写访问,对于嵌入式实时系统来说,异常故障导致看门狗复位系统随时可能发生,它会导致文件系统不一致,带来文件系统的破坏和信息的丢失。

技术实现思路

[0005]针对现有嵌入式系统内部空间较小无法保存大量实时数据的缺陷,本专利技术提供一种基于嵌入式SD卡的日志回放系统及其构建方法,在嵌入式系统中移植物联网操作系统,创建线程用于运行日志系统任务,在嵌入式系统中移植FATFS文件系统,根据SD卡模块的驱动程序对所述FATFS文件系统优化,根据所述RCT时钟模块中的时间确定所述日志系统中读写协议;接收运行参数,按照所述日志系统中读写规则,将所述运行参数转换为字符串作为日志记录写入FATFS文件系统,并存入SD卡,能够实时将设备运行的数据保存在SD卡中,即使当嵌入式设备故障时,也可以通过SD卡中的数据检查故障原因;另外,采用多线程的方式进行数据读写,读写线程分开执行,互不干扰,资源利用率高,时延较低。
[0006]为了实现本专利技术目的,本专利技术公开了一种基于嵌入式SD卡的日志回放系统的方法,包括以下步骤:在嵌入式系统中移植物联网操作系统,创建线程用于运行日志系统任务,所述日志系统任务分为写日志任务和读日志任务;
初始化嵌入式系统的SD卡模块和RCT时钟模块;在嵌入式系统中移植FATFS文件系统,根据SD卡模块的驱动程序对所述FATFS文件系统优化,根据所述RCT时钟模块中的时间确定所述日志系统中读写协议;接收运行参数,按照所述日志系统中读写规则,将所述运行参数转换为字符串作为日志记录写入FATFS文件系统,并存入SD卡中。
[0007]作为优选的方案,在嵌入式系统设定的时间阈值,删除存储在SD卡中超过所述时间阈值内的日志记录。
[0008]作为优选的方案,根据所述写日志任务和所述读日志任务所需堆栈空间大小给线程分配内存空间。
[0009]作为优选的方案,所述初始化嵌入式系统的SD卡模块的步骤包括:基于模拟SPI的SD卡驱动程序,初始化SD卡,对SD卡进行数据读写操作。
[0010]作为优选的方案,根据所述RCT时钟模块中的时间确定所述日志系统中读写协议步骤包括:获取RCT时钟模块的时间,把RCT时钟的时间通过sprintf函数转换为字符串,作为日志时间;将日志时间和对应的数据整体打组,作为所述日志系统的写入格式;按照年份和月份设定文件夹目录,在每个月份的文件夹中,将每一天做为一个csv文件,每一个csv文件中每行按照所述日志系统的写入格式存储数据。
[0011]作为优选的方案,所述方法还包括根据上位机的读取指令,读取日志系统的数据内容。
[0012]建立嵌入式系统端串口与网络端的TCP通信接口连接,进行数据通信和传输;接收来自所述网络端的TCP通信接口的读取指令;所述读取指令包括第一读取指令和第二读取指令;其中,所述第一读取指令用于根据年份和月份信息确定目标文件夹信息;所述第二读取指令用于确定目标文件夹中某时间的数据。
[0013]本专利技术第二方面提供一种基于嵌入式SD卡的日志回放系统,采用上述的方法构建。
[0014]本专利技术第三方面提供一种电子设备,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器依次连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如上述的方法。
[0015]相比于现有技术,本专利技术的有益效果为:(1)本专利技术使用RT thread操作系统,RT

Thread Nano 是一个极简版的硬实时内核,是一款可裁剪的、抢占式实时多任务的 RTOS;其内存资源占用极小,功能包括任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实时操作系统特性;通过采用多线程的方式进行数据读写,读写线程分开执行,互不干扰,资源利用率高,时延较低。
[0016](2)采用模拟SPI的方式驱动SD卡并挂载文件系统,相比于硬件SPI和SDIO模式驱动SD卡,在GPIO引脚资源利用设计具有较高的灵活性,不受硬件资源的限制,任意四个引脚就可以驱动SD卡,在复杂的嵌入式系统中解决了引脚资源不够用的缺陷。
[0017](3)采用树状目录的存储结构,方便查询数据;采用查询时间段的数据,提高查询效率,选择性去除无效信息,进行信息过滤,提高查询精度。
[0018]当然,实施本专利技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
[0019]通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。附图中:图1为本专利技术提供的一种嵌入式SD卡的日志回放系统的构建方法流程图;图2是本专利技术方法的嵌入式硬件结构图;图3是本专利技术方法的文件系统存储结构图;图4图示了根据本申请实施例的电子设备的框图。
具体实施方式
[0020]下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
[0021]示例性方法本专利技术公开了一种基于嵌入式SD卡的日志回放系统构建方法,包括以下步骤:S102:在嵌入式系统中移植物联网操作本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于嵌入式SD卡的日志回放系统构建方法,其特征在于,所述方法包括:在嵌入式系统中移植物联网操作系统,创建线程用于运行日志系统任务,所述日志系统任务分为写日志任务和读日志任务;初始化嵌入式系统的SD卡模块和RCT时钟模块;在嵌入式系统中移植FATFS文件系统,根据SD卡模块的驱动程序对所述FATFS文件系统优化,根据所述RCT时钟模块中的时间确定所述日志系统中读写协议;接收运行参数,按照所述日志系统中读写规则,将所述运行参数转换为字符串作为日志记录写入FATFS文件系统,并存入SD卡中。2.根据权利要求1所述的一种基于嵌入式SD卡的日志回放系统构建方法,其特征在于,在嵌入式系统设定时间阈值,删除存储在SD卡中超过所述时间阈值的日志记录。3.根据权利要求1所述的一种基于嵌入式SD卡的日志回放系统构建方法,其特征在于,根据所述写日志任务和所述读日志任务所需堆栈空间大小给线程分配内存空间。4.根据权利要求1所述的一种基于嵌入式SD卡的日志回放系统构建方法,其特征在于,所述初始化嵌入式系统的SD卡模块的步骤包括:基于模拟SPI的SD卡驱动程序,初始化SD卡,对SD卡进行数据读写操作。5.根据权利要求1所述的一种基于嵌入式SD卡的日志回放系统构建方法,其特征在于,根据所述RCT时钟模块中的时间确定所述日志系统中读写协议步骤包括...

【专利技术属性】
技术研发人员:薛峰张万友管兴柃
申请(专利权)人:江苏提米智能科技有限公司
类型:发明
国别省市:

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

1