一种在单片机系统中高效存储日志文件的方法技术方案

技术编号:24995722 阅读:43 留言:0更新日期:2020-07-24 17:58
本发明专利技术提供一种在单片机系统中高效存储日志文件的方法,属于日志存储技术领域,包括如下步骤:S1:预处理;S2:预分配连续的文件存储区;S3:初始化循环FIFO缓冲器;S4:对数据进行缩放并存入循环FIFO缓冲器;S5:对齐日志数据到扇区大小的整数倍N;若N≥预设值,则进入步骤S6,否则返回步骤S4;S6:通过迭代方式进行多扇区日志文件存储。该发明专利技术提供的方法能最小化大量、频繁的日志记录和文件操作对系统内其它任务的影响(如任务执行频率、任务执行速度),有利于系统正确、精准地完成既定任务。

【技术实现步骤摘要】
一种在单片机系统中高效存储日志文件的方法
本专利技术涉及单片机系统术领域,尤其涉及一种在单片机系统中高效存储日志文件的方法。
技术介绍
在某些单片机系统应用中,为了便于事后观察系统状态、分析系统性能或排查系统故障,实时记录一些系统数据(如参数值、状态量、指令量等)是必要的,这些数据通常称作日志。一般来说,结合可移动存储介质及文件系统,以文件方式进行日志记录是最优选择,最有利于事后在上位机中利用高级分析软件进行数据分析。然而,对于绝大多数单片机系统尤其是对于需要执行高频率、高实时性任务的单片机系统来说,大量、频繁的日志记录和文件操作会给系统带来繁重的处理负荷和I/O负荷,导致系统运行缓慢甚至崩溃,造成难以估量的后果。如中国专利技术专利CN109002547A公开了一种日志文件存储方法、移动终端及计算机可读存储介质,该方法包括:依据初始配置分区表文件依次下载对应的已编译分区镜像至存储空间,以形成各分区,并生成分区挂载脚本,其中,形成的各分区包括一日志存储分区;开机启动系统时,解析所述分区挂载脚本,获取日志存储分区的分区信息,并按照所述分区信本文档来自技高网...

【技术保护点】
1.一种在单片机系统中高效存储日志文件的方法,其特征在于,包括如下步骤:/nS1:预处理:预先计算所需文件大小和所需循环FIFO大小;/nS2:预分配连续的文件存储区;/n根据步骤S1预处理得到的所需文件大小在存储器中寻找一块连续的、大小等于所需文件大小的存储区,分配给日志文件,并得到文件起始扇区S和结束扇区E;/nS3:初始化循环FIFO缓冲器;/n根据步骤S1预处理得到的所需循环FIFO大小,初始化一块内存作为循环FIFO缓冲器;/nS4:对数据进行合理缩放并存入循环FIFO缓冲器;/n若日志数据是浮点数,则对数据进行缩放,并将浮点型数据转化为定点型数据,再存储到循环FIFO缓冲器中;若日...

【技术特征摘要】
1.一种在单片机系统中高效存储日志文件的方法,其特征在于,包括如下步骤:
S1:预处理:预先计算所需文件大小和所需循环FIFO大小;
S2:预分配连续的文件存储区;
根据步骤S1预处理得到的所需文件大小在存储器中寻找一块连续的、大小等于所需文件大小的存储区,分配给日志文件,并得到文件起始扇区S和结束扇区E;
S3:初始化循环FIFO缓冲器;
根据步骤S1预处理得到的所需循环FIFO大小,初始化一块内存作为循环FIFO缓冲器;
S4:对数据进行合理缩放并存入循环FIFO缓冲器;
若日志数据是浮点数,则对数据进行缩放,并将浮点型数据转化为定点型数据,再存储到循环FIFO缓冲器中;若日志数据是定点数,则直接存储到循环FIFO缓冲器中;
S5:对齐日志数据到扇区大小的整数倍N;
若N≥预设值,则进入步骤S6,否则返回步骤S4;
S6:通过迭代方式进行多扇区日志文件存储。


2.如权利要求1所述的一种在单片机系统中高效存储日志文件的方法,其特征在于,步骤S1中所需文件大小根据应用场景和日志记录需求计算;计算公式如下:
所需文件大小=连续工作时长×主循环频率×每个循环记录的数据量
步骤S1中所需循环FIFO大小根据日志数据量、单片机性能和存储器性能计算;计算公式如下:
所需循环FIFO大小=最大写入时间×主循环频率×每个循环记录的数据量。


3.如权利要求1所述的一种在单片机系统中高效存储日志文件的方法,其特征在于,步骤S5中数据缩放的依据为单位、精度和数据范围。


4.如权利要求1...

【专利技术属性】
技术研发人员:岳欣欣
申请(专利权)人:涵涡智航科技玉溪有限公司
类型:发明
国别省市:云南;53

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

1