This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 在 SPI 数据闪存上实施 FATFS 文件系统时遇到的问题

Guru**** 2609955 points
Other Parts Discussed in Thread: TM4C1294NCPDT

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1218015/issue-while-implementing-fatfs-file-system-on-spi-data-flash

主题中讨论的其他器件:TM4C1294NCPDT

大家好、我正在数据闪存上实施文件系统以写入固件 SPI 数据闪存型号为 S25FL128SAGNFI003。 目前、我使用的是与 TI RTOS 兼容的 FATFS 文件系统问题是 SPI 闪存没有通过逻辑驱动器安装。 闪存未根据 FATFS 进行格式化、那么我该如何对 SPI 闪存进行格式化、因为 f_mount 函数要求将 SPI 闪存格式化为 FATFS?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Muhammad、

    请指明您正在使用的处理器。  

    谢谢!

    ~Leonard   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    TM4C1294NCPDT、DataFlash 为  S25FL128SAGNFI003

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     读取  S25FL128SAGNFI003数据表、它只是一个 SPI 闪存、而不是 SD 卡。 为什么需要对 SPI 闪存采用 FATFS? SPI 闪存只是一个具有 SPI 接口的存储器、但与也可以在 SPI 模式下运行的 SD 卡不同。  SD 卡类型的存储设备通常需要 FATFS。  

     本文提供了一些有关 SPI 闪存与 SD 卡的有用信息。  https://forums.parallax.com/discussion/129414/when-to-use-sram-sd-card-spi-flash-and-eeprom

    TivaWare 提供用于访问 SPI 闪存的实用程序。 您可以在 C:\ti\TivaWare_C_Series-2.2.0.295\utils/spi_flash.c 中找到 API

    我认为、有关用于访问其器件的命令的详细信息、您还需要参阅您的存储器器件数据表。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的系统中已经存在 SPI 闪存、我正在通过写入扇区和页面来上传固件、现在我想使用文件系统写入相同的固件。  

    在 FATFS 中、在访问数据闪存上的文件和目录之前、必须安装文件系统。 每个目录条目都包含有关单个文件的信息、包括文件名、扩展名、属性、创建、文件大小、 和起始群集编号。 当我们安装 FAT 文件系统时,FATFS 库会将引导扇区和 FAT 表从驱动器读取到内存中,并使用此信息找到驱动器上的文件和目录。

    安装文件系统后、我们可以使用各种 FATFS 库函数(f_open、f_read、f_write)

    问题在于未装入闪存、或者我们必须使用 fatfs 格式化数据闪存、这在技术上非常困难、因此另一种方法是我们可以擦除扇区并写入特定的数据字节、以识别支持的文件系统。 您可以在初始化期间进行。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    另一种方法是我们可以擦除扇区并写入特定数据字节,这些数据字节将标识支持的文件系统。 您可以在初始化期间执行此操作。

     我明白你想要什么。 但是、在搜索后、我们没有这样的实用程序或库来格式化 用于 SPI 闪存的 FAT16文件系统。 如果您认为可以自己重新创建 FAT16引导扇区结构、请告知我们。 我对这将需要何种努力没有经验。    

     说了这么多、我发现这篇文章可能很有用。  

    https://www.mischianti.org/2022/11/21/stm32-add-spi-flash-memory-with-fat-fs/