logging - microSD 卡 FAT 模块

标签 logging embedded sd-card fat32 msp430

我最近一直在使用 GHI Electronics 的 uALFAT microSD 板进行数据记录,但我一直对它的可靠性有疑问;有时,它的一些函数调用花费的时间远远超过我的处理能力。我目前正在使用 MSP430微 Controller 与 uALFAT 对话。

我可以使用哪些类似的电路板来代替 uALFAT,希望它更可靠?

如果我需要设计自己的接口(interface)板以与 MSP430 配合使用,最有利的 OEM 解决方案是什么?

最佳答案

我会以不同的方式考虑这个问题。任何基于闪存的存储设备都可能具有可变的写入时序。尤其是具有文件系统和磨损均衡以及类似功能的系统。这往往是闪存的本质,因为您必须删除整个 block 并四处移动。如果您不能忍受可变时间,我过去所做的就是将这部分从代码的时间关键部分中移出。

通常我会添加一个时间关键代码写入的队列,然后在后台从队列中拉出并写入 SD 卡。在 RTOS 中,这将是一个较低优先级的任务。在轮询循环中,它将是系统空闲时调用的函数。

这将约束从函数调用的最坏情况时间更改为能够满足日志记录的平均吞吐量要求。最坏情况下的延迟和吞吐量决定了队列必须有多大;通常这可能很小。

关于logging - microSD 卡 FAT 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5824957/

相关文章:

python - Flask 阻止特定端点的日志记录

c - 函数处理1-256字节的最佳实践

c - 首选 : Suspend all tasks OR mutex when accessing shared resource ? [freeRTOS]

android - 为什么我的 SD 卡不可写 (Android)?

c - 使用 FatFs 会导致 PIC18F46J50 uC 上的 f_write 无限循环

git - 初始化 git 仓库对 linux 根目录的影响 3 :)

asp.net-core - 带有 json 格式化程序的控制台记录器不会序列化对象

logging - 如何为 glib 调试日志添加文件名、行、函数前缀

c - C 多久/何时执行 if/else 语句中的内容?

linux - 在屏幕上打印消息并同时发送到系统日志