Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ulog
文件系统
ulog保存日志文件,如何在掉电时把缓存区内容保存起来?
发布于 2022-11-07 09:50:19 浏览:925
订阅该版
[tocm] # ulog保存日志文件,如何在掉电时把缓存区内容保存起来? ## 原因 ### 打印ULOG日志文件时发现,有些日志文件被截断 - 分析发现可能为掉电时,有部分数据还是缓冲区内,缓冲区没满不会把当前缓冲区内容保存至文件中。 - 这就导致掉电时的数据不正常或者被截断。 ### 正常运行时,使用“cat”命令查看文件 - 发现文件末尾的日志缺失的,原因和上述一样。缓冲区没满,没有把当前数据保存起来 ## 如何解决 ### 1.如何判断掉电? - ULOG组件有这部分功能吗? - 没有的话,如何判断掉电?RTT有相关驱动吗? ### 2.掉电的时候,时间足够保存文件吗? - 硬件上是否要加入电容? - 缓冲区改小点?
查看更多
crystal266
2022-11-07
嵌入式
用的什么文件系统?fatfs是不支持掉电保护的,littlefs是支持掉电保护的。 ulog是没有掉电保护的,可以使用 STM32 的 PVD 机制来进行掉电检测,检测到电压低于一定值的时候就刷缓冲区把日志写入到文件系统中。如果使用 PVD 机制进行掉电检测硬件上最好加一个大电容(超级电容),这样掉电的过程会慢一些,检测到掉电之后可以做的事情多一些。 可以测试一下 PVD 的功能,看看不加电容时能做多少事情。 使用方法参考 [STM32 PVD的使用(掉电检测)](https://blog.csdn.net/qq_27575841/article/details/107602983 "STM32 PVD的使用(掉电检测)") [STM32F407中PVD实现掉电检测](https://blog.csdn.net/janson_24/article/details/108137986?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-108137986-blog-107602983.pc_relevant_3mothn_strategy_recovery&spm=1001.2101.3001.4242.2&utm_relevant_index=4 "STM32F407中PVD实现掉电检测")
2
个回答
默认排序
按发布时间排序
用户名由3_15位
2022-11-09
这家伙很懒,什么也没写!
# 问题描述有地方判断不对了。 ## 我现在重新分析一遍发现。 ### 日志使用时开启异步输出后 - 有个异步线程会去判断当前是否有日志正在输出,当日志输出结束后,会等待两秒时间,判断日志是否输出完成。 - 若未完成,继续等待完成。 - 若完成,刷新缓冲区数据至文件后端中 ```c rt_err_t ulog_async_waiting_log(rt_int32_t time) { rt_sem_control(&ulog.async_notice, RT_IPC_CMD_RESET, RT_NULL); return rt_sem_take(&ulog.async_notice, time); } static void async_output_thread_entry(void *param) { ulog_async_output(); while (1) { ulog_async_waiting_log(RT_WAITING_FOREVER); while (1) { ulog_async_output(); if (ulog_async_waiting_log(RT_TICK_PER_SECOND * 2) == RT_EOK) { continue; } else { ulog_flush(); break; } } } } ```
撰写答案
登录
注册新账号
关注者
0
被浏览
925
关于作者
用户名由3_15位
这家伙很懒,什么也没写!
提问
66
回答
256
被采纳
34
关注TA
发私信
相关问题
1
【文件系统】目录查询
2
文件系统Posix 接口 的close API疑问
3
dfs_mount挂载文件系统路径的路径必须为‘/’才能成功
4
SD卡连续读写文件报错
5
文件系统挂载断言机制
6
文件系统是否支持挂载NFS网络文件系统
7
文件系统挂载失败!!!
8
dfs_filesystem_lookup() 返回NULL
9
webnet 是否可以做全动态网页,使用内存池来加快速度
10
“文件系统装在表”报错
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
Studio环境下ST M7系列USB主机(CherryUSB)配置及踩坑
2
RTT串口查找函数使用过程中遇到的问题。
3
RT-Thread CI编译产物artifacts自动上传功能介绍
4
STM32G030移植RT-Thread
5
CubeMX & RT-Thread Studio 联合开发说明
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
rt-smart
RTC
FAL
I2C_IIC
cubemx
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
GD32
定时器
ADC
flashDB
编译报错
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
Debug
SFUD
ulog
msh
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
4
个答案
1
次被采纳
RTT_逍遥
3
个答案
1
次被采纳
a1012112796
2
个答案
1
次被采纳
聚散无由
2
个答案
1
次被采纳
加缪
1
个答案
1
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部