Skip to main content
Garnett.Robert
Senior III
January 15, 2023
Question

Why has CubeMX changed FatFS Version from 0.14 (2019) to 0.12 (2023?). - Which version should I use and why?

  • January 15, 2023
  • 2 replies
  • 3353 views

Hi,

In 2019 I built a project using an SD Card and cube MX built the platform with FatFS R0.14 which came out in 2019.

I revisited this project with a view to updating drivers and third party software. To find out what version of FatFs cube was using now I built a dummy project for the same and other processors and found CubeMX was using FatFs R0.12.

the questions I have are:

  • Why the reversion from R0.14 to R0.12?
  • Are there any issues with using higher versions, currently the latest is R0.15?
  • Has anyone played around with various versions and if so what were the conclusions drawn?

Version R0.12 does not provide support for 64-bit LBA and GUID partition tables (FF_LBA64). Version R0.14 does.

I am using FatFs R0.14 with an sqLite amalgamation and have occasional errors hence the reason for revisiting the FatFs version.

This topic has been closed for replies.

2 replies

JFieb
Associate
March 26, 2024

Hi Robert,

Did you get any answers on this?

It seems ST maintains a fork of the FatFs code (https://github.com/STMicroelectronics/stm32_mw_fatfs/tree/master) which has been updated to R0.15. However, all the auto-generated code I can get from CubeMx is using R0.12c.

It's not a direct copy/paste from the R0.15 version github. The CubeMx generates some additional layering for multiple volumes on different hardware and the source code structure is different. And the R0.12c to R0.15 API changes in FatFs also require some porting.

 

Cheers,

 +Joel.

Explorer
April 28, 2024

Anyone... looking for answers here too on this topic ...

Tesla DeLorean
Guru
April 28, 2024

The 0.12c version (2017) ST ships is 7+ years old and has a number of serious bugs. The DISKIO layer interface changed a little, but 0.15 or 0.14 have many less bugs, and don't fail with large volumes. elm-chan has always had documentation on their change logs,

I don't recall ST updating the Middleware, I know I've complained about it for years, and always used newer versions in my own projects, but I'm also not beholden to code generators, or just using demo/example code.

Don't limit yourself by what ST chooses to do.

Port over code you want, and do basic validation and testing to confirm things do indeed work properly.

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..