Commit Graph

10 Commits (3ea1c561241f5e196c10a6bdc0d281a04875671f)

Author SHA1 Message Date
Kevin Bracey 87396e0bf6 Assembler atomics
Reimplement atomic code in inline assembly. This can improve
optimisation, and avoids potential architectural problems with using
LDREX/STREX intrinsics.

API further extended:
* Bitwise operations (fetch_and/fetch_or/fetch_xor)
* fetch_add and fetch_sub (like incr/decr, but returning old value -
  aligning with C++11)
* compare_exchange_weak
* Explicit memory order specification
* Basic freestanding template overloads for C++

This gives our existing C implementation essentially all the functionality
needed by C++11.

An actual Atomic<T> template based upon these C functions could follow.
2019-04-26 13:12:35 +03:00
Yossi Levy b17d13e75e Documnent changes and adding const to get_type method 2018-12-23 14:27:14 +02:00
Yossi Levy b8b7292d8e astyle fix 2018-12-23 11:03:45 +02:00
Yossi Levy 1d71fb1c9f Add get_type method to block devices. 2018-12-23 11:03:45 +02:00
deepikabhavnani da69da972f Add BlockDevice and Filesystem classes inside mbed namespace.
Adding new modules inside the namespace could be breaking change for existing code base
hence add `using namespace::class` for classes newly added to mbed namespace to maintian
backwards compatibility.

MBED_NO_GLOBAL_USING_DIRECTIVE is added to remove auto-addition of namespace
Macro guard `MBED_NO_GLOBAL_USING_DIRECTIVE` is added around namespace, to avoid
polluting users namespace.
2018-11-26 13:35:40 -06:00
Jaakko Korhonen 0d04f03882 Added missing mutex to DataFlash for thread safety. 2018-11-01 14:51:07 +02:00
Christopher Haster 761405592b Added mutex to DataFlash for thread safety 2018-11-01 14:51:07 +02:00
Martin Kojtal 53f1397522 storage component: update astyle 2018-10-25 09:51:09 +01:00
Yossi Levy ed8e170d15 Moving SD, SPIF and FLASHIAP into mbedos and refactoring features storage directory structure. 2018-08-29 12:01:11 +03:00
Yossi Levy 9a0844a84f Add 'components/storage/blockdevice/COMPONENT_DATAFLASH/' from commit 'baabb520973d3e8aa8c4c1dc0af12ed1585200cd'
git-subtree-dir: components/storage/blockdevice/COMPONENT_DATAFLASH
git-subtree-mainline: 5294ef72b7
git-subtree-split: baabb52097
2018-08-29 11:47:56 +03:00