Skip to main content
Associate II
February 13, 2025
Solved

Issues with FileX on STM32H747IIT6 – Error 0x90 on fx_media_open

  • February 13, 2025
  • 2 replies
  • 1906 views

Hello everyone,

I'm trying to interface a microSD card using FileX on a custom board with an STM32H747IIT6.
The microSD card is connected to the SDMMC1 peripheral using a 4-bit wide bus, with external pull-ups on the data lines.

Initially, we used FATFS to interface with the microSD card, which worked flawlessly. Now, as we transition to Azure, we want to use FileX. Additionally, we are using NetXDuo to create a web server, with the SD card serving as storage for web server files.

The issue occurs when calling fx_media_open (app_netxduo.c, line 522), which almost always returns error code 0x90 (except for a single successful attempt going step by step via the debugger).

Current Configuration:

  • SDMMC1 pin speed: medium
  • SDMMC1 peripheral clock: 40 MHz, scaled down to 10 MHz using a divider (set to 4)
  • SD card: SanDisk 64GB, formatted in exFAT (exFAT support is enabled)

Troubleshooting Steps Taken:

  • Adjusted clock speed via divider (1–40 MHz)
  • Changed pin speed (medium, high, very high)
  • Tested different microSD cards (4–64GB, all SanDisk)
    • Lower-spec cards failed with a different error code (0x03)
    • If formatted with FAT, the exFAT option was disabled

I would greatly appreciate any insights or suggestions on how to resolve this issue.

Best regards,
OskarP.

This topic has been closed for replies.
Best answer by MOBEJ

Hello @OskarP  ,

 

Please try downloading the latest X-CUBE-AZRTOS-H7 package from ST.com or Github 

For your project, you can start with the FileX example on the STM32H747I-DK board and compare it with the FileX/Fx_Dual_Instance  project.

For the NetXDuo web server project, use the Nx_WebServer example.  It demonstrates how to develop a web HTTP server on the STM32H735G-DK board based on Azure RTOS NetX Duo stack , and you can easily port it to your STM32H747 board.

Regards 

 

2 replies

MOBEJ
MOBEJBest answer
ST Employee
February 14, 2025

Hello @OskarP  ,

 

Please try downloading the latest X-CUBE-AZRTOS-H7 package from ST.com or Github 

For your project, you can start with the FileX example on the STM32H747I-DK board and compare it with the FileX/Fx_Dual_Instance  project.

For the NetXDuo web server project, use the Nx_WebServer example.  It demonstrates how to develop a web HTTP server on the STM32H735G-DK board based on Azure RTOS NetX Duo stack , and you can easily port it to your STM32H747 board.

Regards 

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
OskarPAuthor
Associate II
February 20, 2025

Hello @MOBEJ,

Sorry for the late reply. In the meantime, I got it working. The code provided in the example you mentioned works fine.

The issue was that the filesystem on the tested SD cards was not compatible with FileX.

In the non-working state, I had formatted the cards using the latest macOS system. After reformatting them on Windows (with the "Fast Format" option disabled), everything works as expected.

Thank you for your help!

Best regards,
OskarP.