问题标签 [fat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1596 浏览

filesystems - 文件分配表 (FAT) - 如何允许随机访问?

当涉及到使用 FAT 的文件系统时,这里有一个关于随机访问的直截了当的问题。

我已经看到了对 FAT 的不同解释,不同种类的图片/动画显示了不同的东西。我不明白如果不通过文件一次,随机访问是如何可能的。我想到了某种表格,列出了属于某个文件的所有块,但看起来 FAT 只是映射到下一个块,这意味着你仍然必须通过 FAT 直到找到 End-Of-文件,然后将这些索引保存在一个数组中,只有这样你才能执行随机访问。

我的问题是我上面写的是否属实。是否只有在首先查看表格以找到所有块之后才能进行整个随机访问?

0 投票
2 回答
1217 浏览

java - Android上的IO慢?

这应该显示内部和外部内存速度,但不幸的是它说它是 0.02 或 0.04 MB/s?这是 Android 的一个巨大的低效率,还是编码错误?

0 投票
0 回答
260 浏览

android - 对 fuse/fat 文件系统执行权限

'已经成功交叉编译了 ruby​​ for android 并且在模拟器中一切正常。

但是当我在我的设备(Nexus4)上测试这些有趣的东西时,我注意到 /sdcard (或 /storage/emulated/0 )是一个没有执行权限的保险丝安装。

如何在 sdcard 上执行某些操作?

我看到在 linux 上你可以将它作为参数传递给链接器,在 android 中这不起作用,/system/bin/linker 想要一个指向特殊结构的指针,我相信我可以编写一个小的 c 程序来创建该结构并运行链接器以执行可读程序。

但是共享库呢?ruby 加载数十个共享库(每次你有一个require),我敢打赌加载共享库需要执行权限。

将可执行文件移动到/data/data/my.app.name/files/或任何其他地方都不是解决方案,我的二进制文件非常胖(静态链接),用户应该可以自由指定存储它们的任何位置。

提前感谢您的帮助。

0 投票
1 回答
522 浏览

operating-system - OS开发:实现FAT12写入功能

所以我在操作系统开发方面很新,现在我正在编写我的 FAT12 文件系统代码。我使用 FDC 代码完成了对软盘的所有写入,但我似乎无法理解在将文件写入磁盘时应该如何进行。

我知道我的根目录在哪里以及所有相关信息,但是我应该如何寻找正确的扇区来写入我的文件?在那之后,我应该如何将该条目添加到 FAT 中?

这是我用来遍历根目录并找到文件的代码:

我打算写一些类似的东西并遍历根目录,逐个条目,直到找到一个位置。至于添加/遍历 FAT,我知道每个条目代表一个集群(条目 1 = 集群 1)。但我不知道我是否应该通过 FAT 而不是根目录或两者兼而有之。

我的大部分代码都基于本教程:http ://www.brokenthorn.com/Resources/OSDev22.html但他从未添加过创建/写入文件位,所以我自己做。

任何帮助表示赞赏。

0 投票
1 回答
14926 浏览

raspberry-pi - SD 卡写入限制 - 数据记录

我想在我的系统(Raspberry Pi)关闭时进行跟踪/注册,通常是由于突然断电。

我想通过每 10 分钟将心跳记录到 SD 卡来做到这一点 - 所以每 10 分钟它会去 SD 并将当前时间/日期写入文件中。从长远来看,这会损害 SD 吗?

如果它只有 10 万个写入周期,那么它会在几年内出现坏块。但我读过有电路可以防止它 - 它会防止坏块吗?将日志分布在几个块中会更安全吗?

谢谢

0 投票
2 回答
2114 浏览

c - 如何避免因大量写入而损坏 SD 卡?

好的,首先有一点背景可以帮助我弄清楚我的问题:

我正在开发一种设备,该设备从传感器收集某些数据并使用 GSM 调制解调器将它们发布到服务器。由于 GSM 连接不是 100% 可靠的,它会包含一个日志机制,可以将未发送的数据写入 SD 卡。

我们正在使用Chan 的 FatFs模块为我们提供文件系统,因为我们希望日志在 PC 上可读。

现在我一直在测试 FAT 系统的边界条件,即试图完全填满卡。

在第一次运行中,我打开了文件并将代码设置为继续写入字符串,直到驱动器已满。该程序将在每次写入后同步。

我让代码在一夜之间运行。

第二天,我检查了 SD 卡。我发现该文件只有 150 MB 大小。大约有 120 万行写入其中。该卡仍然可以读取,但不能写入或格式化。

下次我尝试了相同类型的测试,但这次我使用了f_lseek()函数将文件预分配到 1GB。然后它将写入该文件,直到达到该限制。这次数据将在 50 次写入后同步。然后它将关闭该文件并打开另一个文件以执行相同的操作。

正如您可以猜到的那样,另一张勇敢的小卡片在那天丢失了它。

所以这些是我想要帮助的:

  1. 写入大量数据时如何防止卡损坏?
  2. 长时间打开文件是否有任何负面影响?

由于完整的代码可能太长,这里是写作的主要部分

笔记 :

  1. ax_log_msg() 是要在控制台上打印的设备固件的一部分。
  2. FRESULT_S[result] 用于将枚举结果代码转换为字符串。

如果有任何数据丢失,请务必提及。

谢谢你

0 投票
0 回答
1054 浏览

c - fatfs:在 f_stat 之后创建目录

Fatfs为R0.08b 。我所做的是检测目录是否存在。我f_stat用来检查状态。

问题是:如果我清除/root目录然后调用:

frs返回FR_OK。然后我可以发现有一个/testdir创建。但是,在/testdir我重新安装 SD 卡之前无法打开。

任何想法?

0 投票
1 回答
635 浏览

file - FAT32 中的唯一文件 ID

开发环境:安卓手机app

我正在寻找一种方法来唯一标识 FAT32/VFAT 文件系统(没有 inode)中的文件。我考虑过散列(SHA1?)完整路径。这个解决方案的问题是它不支持移动/重命名。

有没有更好的东西,即使在移动/重命名文件时也能保持?

谢谢

0 投票
1 回答
58116 浏览

linux - chown 命令返回 不允许操作

我正在研究树莓派,并且很难授予使用以下教程安装的外部硬盘驱动器的权限:

http://www.howtogeek.com/139433/how-to-turn-a-raspberry-pi-into-a-low-power-network-storage-device/

我现在已经在该外部硬盘驱动器上创建了文件夹,当我执行ls -l命令时,我得到以下返回:

它位于:/media/USBHDD1/shares

现在我正在尝试赋予它所有读写和执行权限,甚至将所有者和组更改为 pi:pi

但是,chmod 777不起作用 - 它不返回错误,只是似乎没有效果

当我使用

我得到错误

这是一个 linux 问题,但我认为具有使用树莓派背景和知识的人可以在这里帮助我。

根据要求提供额外信息:

当我运行pi@raspberrypi /media $ grep USBHDD1 /etc/mtab 它返回:

0 投票
0 回答
76 浏览

c - 如何在 Linux 中使用 C 从 USB 设备获取 FAT 表

如何使用 C 从 USB 设备获取 FAT 表?,我在谷歌上搜索发现可以在 /dev/ 中搜索块的不同扇区,但我需要整个 FAT 表