Go to file
Christopher Haster e77d57e0bc fatfs: Added erase disk to format
Right now, many users are trying out many different filesystems.
Unfortunately, this can leave partially written filesystems on disk
in various states.

A very common pattern for using embedded filesystems is to attempt
a mount, and on failure, format the storage with the filesystem.

Unfortunately, this simply doesn't work if you try to change the
filesystem being used on a piece of storage. Filesystems don't always
use the same regions of storage, and can leave enough metadata lying
around from old filesystems to trick a different mount into thinking a
valid filesystem exists on disk. The filesystems we have were never
designed to check for malicious modification and can't protect against
arbitrary changes.

That being said, it's caused enough problems for users, so as a
workaround this patch adds a disk erase to the FAT filesystem format.
The most common error happens when you use LittleFS, followed by FAT,
followed again by LittleFS.

No other combination of filesystem usage has shown a similar failure,
but it is possible after extensive filesystem use, so it is still
suggested to force a format of the storage when changing filesystems.
2018-05-14 10:54:01 -05:00
.github Update URL that points at a blank page. 2018-04-24 12:19:40 +01:00
TESTS Re-enable flash clock test for NRF52 but with higher tolerance 2018-04-26 09:33:43 -07:00
cmsis Move defines into "cmsis/RTE_Components.h" to make CMSIS files less changed 2018-04-26 11:31:03 +08:00
drivers Eliminate complier warning and remove superfluous call to empty() 2018-04-16 07:23:47 -07:00
events Make event queue use RTOS tick count 2018-04-20 11:44:36 +03:00
features fatfs: Added erase disk to format 2018-05-14 10:54:01 -05:00
hal Merge pull request #6630 from OpenNuvoton/nuvoton_add_nonsecure_flash 2018-04-19 17:24:27 +02:00
platform Make poll() use RTOS tick count 2018-04-23 14:42:59 +03:00
rtos Support RTOS-less secure image build with Cortex-M23/M33 2018-04-26 09:33:09 +08:00
targets Merge pull request #6746 from marcuschangarm/fix-vector-relocation 2018-04-30 13:51:22 -05:00
tools Merge pull request #6644 from OpenNuvoton/nuvoton_fix_armc6_armv8m 2018-04-26 20:20:12 -05:00
.astyleignore Add astyleignore file 2018-04-19 12:55:07 +01:00
.astylerc AStyle: options update 2018-04-19 12:55:08 +01:00
.coveragerc Exclude libraries and tests from coverage numbers 2017-09-25 11:51:31 -05:00
.gitattributes Added .gitattributes for automatic LF line ending conversion 2013-08-08 13:19:34 +03:00
.gitignore add few files to gitignore list 2018-02-09 10:57:31 +00:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml travis: add astyle run for all changes in the PR 2018-04-19 12:55:54 +01:00
CONTRIBUTING.md Update link in CONTRIBUTING.md 2017-06-09 16:38:38 -05:00
DOXYGEN_FRONTPAGE.md Very minimal text 2016-08-04 14:09:59 +01:00
Jenkinsfile Jenkinsfile: remove client app test temporarily 2017-06-01 12:15:09 +01:00
LICENSE Add Apache v2 LICENSE file 2013-08-06 12:05:04 +01:00
LICENSE-BSD-3-Clause Adding license text and BSD-Clause 3 2018-02-09 11:00:56 -06:00
README.md Simple typo fix in the README.md 2018-01-08 19:50:18 +00:00
doxyfile_options Add missing Doxygen descriptions for Nanostack 2018-03-21 14:15:28 +02:00
doxygen_options.json Update doxygen options rules to not strip code comments 2018-04-17 10:42:59 -05:00
logo.png Readme updates for style and branding 2017-12-04 14:59:16 -06:00
mbed.h Merge pull request #6230 from bulislaw/system_reset 2018-03-01 10:31:07 -06:00
requirements.txt requirements: add future 2018-04-13 14:17:10 +01:00

README.md

Mbed OS

Build status release Build status master Tools coverage status PR progress

Arm Mbed OS is an open source embedded operating system designed specifically for the "things" in the Internet of Things. It includes all the features you need to develop a connected product based on an Arm Cortex-M microcontroller, including security, connectivity, an RTOS and drivers for sensors and I/O devices.

Mbed OS provides a platform that includes:

  • Security foundations.
  • Cloud management services.
  • Drivers for sensors, I/O devices and connectivity.

Release notes

The release notes detail the current release. You can also find information about previous versions.

Getting started for developers

We have a developer website for asking questions, engaging with others, finding information on boards and components, using an online IDE and compiler, reading the documentation and learning about what's new and what's coming next in Mbed OS.

Getting started for contributors

We also have a contributing and publishing guide that covers licensing, contributor agreements and style guidelines.