Skip to content

Unable to use sdmmc with any filesystem crate. #5205

@acedogblast

Description

@acedogblast

Hello I am trying to figure out how to get a working filesystem (like fat32) on a micro sd card attached to the sdmmc1 peripheral of an stm32h723 microcontroller.

I have working code for reading and writing blocks of data however setting up a filesystem on top of the provided API in embassy-stm32 has been very difficult.

There seems to be 2 mature crates for fat32 for embedded no-std devices:

  • embedded-sdmmc . To use this I need a blocking api to implement their BlockDevice trait. There is only async functions to read and write blocks currently in embassy-stm32.
  • embedded-fatfs . This is very difficult to use as it needs something that implements embedded-io-async's Read, Write, and Sync which are byte oriented rather than block oriented.

Additionally there seems to be a change to the sdmmc API in embassy-stm32 0.5.0 where the DataBlock struct is now using u32 instead of the u8 before. Can someone explain the reason for this change?

Has someone also tried to use the sdmmc peripheral to get a working filesystem?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions