Go to file
Olivier Martin 2251b0267d libraries/fs: Added logic to transparently sync written file
fflush() does not do anything in mbed library. The only time the file
was flushed was when it was closed.
For some applications (eg: data logger), files are never closed. It
means when the power went off all the written data were lost.
Actually, they were not lost; they were written into the non-volatile
storage. But the file header was not aware of these new data (its
file information such as file size were not updated).

There is no easy way to retarget fflush() for mbed. So, the workaround
is to fflush (eg: 'sync' in the ChaN terminology) periodically
while writting new data.

The frequency can be changed by the user into ffconf.h.
By default, the updated file will be synced for every new sector (generally
for every 512 bytes). Another available option is to sync for every
new cluster (in my use case, the cluster was 8 sectors long).
2014-02-21 09:57:23 +00:00
libraries libraries/fs: Added logic to transparently sync written file 2014-02-21 09:57:23 +00:00
travis Use only GCC_ARM toolcahin for Travis CI 2013-11-08 11:20:23 +00:00
workspace_tools Add target LPC1549 to release build_release.py 2014-02-20 16:47:55 -06:00
.gitattributes Added .gitattributes for automatic LF line ending conversion 2013-08-08 13:19:34 +03:00
.gitignore Restructuring 2013-10-22 12:13:04 +01:00
.travis.yml Added build script for travis (build_travis.py) 2013-11-08 17:52:10 +02:00
LICENSE Add Apache v2 LICENSE file 2013-08-06 12:05:04 +01:00
MANIFEST.in mbed-tools package improvements 2013-12-18 16:03:27 +02:00
README.md Update README.md 2014-02-18 15:30:45 +00:00
setup.py mbed-tools package improvements 2013-12-18 16:03:27 +02:00

README.md

mbed SDK

Build Status

The mbed Software Development Kit (SDK) is a C/C++ microcontroller software platform relied upon by tens of thousands of developers to build projects fast.

The SDK is licensed under the permissive Apache 2.0 licence, so you can use it in both commercial and personal projects with confidence.

The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

Documentation

Supported Microcontrollers

NXP:

Freescale:

  • KL05Z (Cortex-M0+)
  • KL25Z (Cortex-M0+)
  • KL46Z (Cortex-M0+)

STMicroelectronics:

Supported Toolchains and IDEs

API Documentation

Community

For discussing the development of the mbed SDK itself (Addition/support of microcontrollers/toolchains, build and test system, Hardware Abstraction Layer API, etc) please join our mbed-devel mailing list.

For every topic regarding the use of the mbed SDK, rather than its development, please post on the mbed.org forum, or the mbed.org Q&A.

For reporting issues in the mbed libraries please open a ticket on the issue tracker of the relevant mbed official library.