Skip to content

Added FAT file system documentation #518

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
May 21, 2018
Merged

Conversation

geky
Copy link
Contributor

@geky geky commented May 14, 2018

Start of additional filesystem documentation. Let me know your feedback.

cc @AnotherButler, @kegilbert, @MarceloSalazar

Amanda Butler added 3 commits May 17, 2018 08:04
Copy edit file, mostly for active voice, consistent tense and removal of marketing tone.
Copy edit file, mostly for active voice and removal of marketing tone.
Copy edit remaining storage content.

##### Portable

The primary feature of the FAT file system is its portability. With support across PC operating systems, the FAT file system lets you access storage from both the embedded system your PC. This gives users a way to get information onto and off of the device.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've read some of this content three times now. Instead of duplicating it, let's keep API-specific content on the API reference pages and general concepts on the overview pages.

Copy link
Contributor Author

@geky geky May 17, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still think this causes problems for users, since the general concepts are important to understand the API and the users I've seen don't ever see the overview page.

But feel free to update it so it's consistent.

Copy link
Contributor

@AnotherButler AnotherButler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@geky Thanks for submitting this. I've left a comment for you to address and some changes for you to review to make sure I didn't accidentally change the meaning of anything.

@@ -27,13 +27,15 @@ The `fopen` function is similar to the open function above but associates a stre

- **Wear leveling** - Because the most common form of embedded storage is erodible flash memories, this file system provides a form of dynamic wear leveling for systems that cannot fit a full flash translation layer.

- **FATFileSystem** - The FAT file system is a well-known file system that you can find on almost every system, including PCs. The Mbed OS implementation of the FAT file system is based on ChanFS and is optimized for small embedded systems.
- **FATFileSystem** - The FAT file system is an established disk-oriented file system that you can find on most operating systems, including Windows, Linux, Mac OS X and Mbed OS.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need a link to page with details about FATFileSystem to make it consistent compared to LittleFS.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah good catch, I believe this should link to the FATFileSystem.md also in this PR.

@AnotherButler, are you able to add this link so it will work on the doc site?

Copy link
Contributor

@MarceloSalazar MarceloSalazar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overal looking really good.
Need a link to FATFilesystem page.

@geky
Copy link
Contributor Author

geky commented May 17, 2018

Looks fine to me


<span class="notes">**Note:** The FAT file system requires at minimum 256 erase blocks. You can find the number of blocks on a block device by dividing the block device's size by its erase size.</span>

The FAT file system supports external flash; however, it must allocate a full erase block for internal operations, which can become large for some forms of flash. If RAM consumption becomes a problem, we suggest switching to LittleFileSsystem. The Mbed OS file system APIs make switching file systems a straightforward task. One common strategy is to use the FAT file system for debugging and switch to LittleFileSystem when the application becomes stable.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there's an extra 's' there

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry - where?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LittleFileSsystem


### FATFileSystem class reference

[![View code](https://www.mbed.com/embed/?type=library)](http://os-doc-builder.test.mbed.com/docs/development/mbed-os-api-doxy/class_f_a_t_file_system.html)

### FATFileSystem example

[Add example here.]
[![View code](https://www.mbed.com/embed/?url=https://github.com/armmbed/mbed-os-example-
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't rendering for me properly, just shows up as the raw text rather than the example button. Could be my browser though.

@kegilbert
Copy link
Contributor

The example button wasn't rendering properly for me, could have been a diff thing in my browser though. Everything else looks good to me!

Fix typo and example link, raised in comments.
@geky
Copy link
Contributor Author

geky commented May 21, 2018

image

pretend I approved it 👍

Add link requested in comments.
@AnotherButler AnotherButler merged commit 6d76cb3 into ARMmbed:new_engine May 21, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants