我仍然很困惑这到底是怎么回事。
当我们将SD卡连接到运行Linux系统的计算机时,我的理解是:
Linux通过存储在SD卡上的标识符将设备标识为SD卡。除了这个标识符之外,还有一个SD卡控制器,它负责卡片之间的读写。
在Linux中,SD卡在/dev
中显示为块设备。然后,SD卡驱动程序将加载到内核中,并连接到设备文件中使用。这个SD卡驱动程序负责读写SD卡上的SD卡控制器。
现在,当我们希望格式化SD卡并为它使用一个特定的文件系统(如FAT32 )时,这些文件系统控制器代码从何而来?它是写在卡上还是只写在Linux计算机上?提前谢谢。
发布于 2021-11-10 23:48:05
FAT是一种格式,类似于JPEG,因为它定义了数据的结构。该结构不依赖于用于编写它的设备(因此它不仅仅是“在linux计算机上”),而且文件系统标识符和地址表被写入格式化分区,以便能够使用fs,因此您正确地说,数据是写入卡片的。对sd卡的内核级读取处理使用特定协议(sd或spi)解码位,这取决于软件包(驱动程序)是否理解原始数据(通过读取地址表)。您的问题有点不清楚,但总括而言:内核模块可用于读取sd中的原始数据,而软件驱动程序则以人类可读的方式构造它。
https://unix.stackexchange.com/questions/676924
复制相似问题