LittleFS and FatFS

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LittleFS and FatFS

10,553 Views
w2vy
Contributor V

First thing - Adding LittleFS is a big win for embedded systems!

Removing FatFS may be a problem, LittleFS uses an internal file system format,

so anyone needing SD Card or USB MSC will need FatFS

1) Pleased add FatFS back to the SDK (latest I have seen is 2.5.1)

The version of LittleFS in the SDK is about 2 years old and more importantly it is covered by the Apache license and the current version is covered by the BSD Clause 3 license.

The BSD license is what much of (all?) the other NXP provided source is covered by, so upgrading LittleFS would also fix any licensing incompatibilities.

2) Please Upgrade LittleFS in the SDK

I also wish that there were more demos that uses FreeRTOS

and finally

I have found that the New Project wizard and SDK often do not play well together.

It is easy to select the wrong things (forgetting some things) and the code just won't compile with little diagnostics as to what is wrong.

Maybe I have been spoiled by my experience with the ST CubeMX tools.

It it not 100% trouble free, but a much better experience than I have had with MCUXPresso.

We also invested a lot of time in KDS/KSDK, so we are a little gun shy of MCUX.

We LOVE the chips!

We would like to love the tools too!

Tom

ps. NXP processors in use MPC8241, MPC8313, MK60 and RT1050 in development

13 Replies

4,341 Views
BiHDeveloper
Contributor I

Hi,

Is it possible to connect littlefs and MSC with external flash? 
Do you have any examples?
I am using imxrt1050 evkb.

Regards

0 Kudos

4,337 Views
ErichStyger
Senior Contributor V

We are using littleFS for a high-reliability data logger application successfully, see for example https://mcuoneclipse.com/tag/littlefs/

As noted by others here, you won't be able to read it directly (say from a memory stick), because it is not supported like FAT (by FatFS). There is a Linux driver for it, but we were not able to use it.

Where we need to move data from littleFS to a host, we usually have enough space on the flash device. In that case we run a FatFS and a littleFS partition on that device. Data gets stored/used on the littleFS partition, and data is copied/mirrored to the FatFS if needed by the host.

I hope this helps,

Erich

0 Kudos

8,820 Views
alexandrekral
Contributor II

LittleFS is unfortunately unusable. Even the latest version is HORRIBLY buggy. It is not ready for any kind of production system.

It only "works" with tiny file systems. Its performance is also terrible. About 10 to 100x slower than FatFS on very large files because of the way the file blocks are strung together.

We spent a good 2 weeks implementing it and we now have to revert back to a FAT FS because it is just way too buggy. Just go look at the number of open issues on their GitHub repo. It is too buggy and no one is maintaining it anymore. Basically a DOA project...

0 Kudos

8,873 Views
ahmed_gharsella
Contributor II

Hi,
Based on your discussion we can't use the littleFS with an SD Card ?

 

Regards

AG

0 Kudos

8,870 Views
w2vy
Contributor V

I guess you could use LittleFS on an SD Card, but it would not be readable on a PC.

It would only work on your device since the LittleFS is NOT a FAT file system.

(Or any other standard that I am aware)

Tom

8,869 Views
ahmed_gharsella
Contributor II

assez clair, merci

0 Kudos

8,870 Views
w2vy
Contributor V

" But there isn't a case with FreeRTOS+SD or USB host+FatFs+FreeRTOS+MSC."

Since the RT1050 is such a powerful processor, I think there should be, as I would guess that 80% or more users of the RT1050-EVK would find that demo useful, and likely in their end product.

0 Kudos

8,870 Views
jingpan
NXP TechSupport
NXP TechSupport

Yes, you are right. I'll bring your advise to software team. Thanks a lot!

Regards,

Jing

8,870 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi Tom,

Thanks for your advise. I'll report them to software teach.

But you said that FatFS is removed? I think it won't be removed since it is a most common used file system. And 2.5.1 is the highest version till now.

When you find New Project wizard and SDK do not play well together, don't hesitate to tell us. We'll try to improve them with your kindly help.

Thank you very much!

Regards,

Jing

0 Kudos

8,870 Views
w2vy
Contributor V

Maybe saying FatFS was remove is over stating it.

What I can say is that with MCUX 10.3.0_2200 and SDK 2.5.1 if I do a New Project for the RT1050-EVKB then user "middleware" "File System" the only option is LittleFS

I even checked the example programs for the SD Card and all they did was read and write raw blocks on the SD Card, no file system support and Bare Metal (NO RTOS)

Isn't a more typical use case for processors like the RT1050 running FreeRTOS, SD and/or USB MSC with an actual File System?

Tom

0 Kudos

8,870 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi,

yes, in New Project Wizzard, FatFs is not a valid component. I'll give your requirement to software group.

The sdcard example in driver_example is only a demo for use sdcard interface. There is a FatFS example which also use SDCard. But there isn't a case with FreeRTOS+SD or USB host+FatFs+FreeRTOS+MSC.

Regards,

jing

0 Kudos

8,870 Views
w2vy
Contributor V

What is the best way to report?

Posts here or by submitting a Support Case through our Distributor?

Most of those interactions deal with what components the New Project Wizard display or when components are selected some dependencies are not automatically selected.

What support documentation should I include? A zip of the project or are there specific files I could provide (and maybe examine) to see what selections have been made?

Tom

0 Kudos

8,870 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi Tom,

Both of the way are ok. You also can send a support ticket from Support | NXP .  In fact, distributors also feedback customer's questions and suggestions here. Now NXP encourage customers post their questions here. Because people all over the world can share it.

If you can give a zip of the project, it will make the question clearly.

Regards,

Jing

0 Kudos