Commit Graph

16 Commits (tools-release-test)

Author SHA1 Message Date
Martin Kojtal ab76e0a59e component storage: fix SPDX identifiers 2020-02-21 07:01:04 +00:00
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
Amir Cohen 4d6240d26e Add flashiap block device comment 2019-03-18 14:34:00 +02:00
Amir Cohen 7fac0722a4 Fix functionality for FlashIAPBD & SlicingBD
Due to discovery of inconsistent sector sizes in devices storage the is_valid_erase function was adjusted,
For FlashIAPBD the 'code size' was included to the calculation, preventing faulty "virtual" addresses calculation.
For SlicingBD the same error was fixed and in all 3 validation functions that sent addresses for validation and program/read/erase
different addresses.
2019-03-14 17:46:10 +02:00
David Saada 22309c93d0 FlashIAP BD: Assert if default constructor is used w/o config change 2019-01-23 16:30:36 +02:00
Martin Kojtal 0eabafa551
Merge pull request #9135 from yossi2le/yossi_get_type_for_bd
Get type for BlockDevice
2019-01-07 12:26:29 +00:00
Antti Kauppila 02b0f79e15 mbed.h includes removed 2018-12-28 14:36:10 +02: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
Alastair D'Silva 2617c5d55b Don't use define checks on DEVICE_FOO macros (mbed code)
The DEVICE_FOO macros are always defined (either 0 or 1).

This patch replaces any instances of a define check on a DEVICE_FOO
macro with value test instead.

Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2018-12-20 10:16:42 +11: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
David Saada 542744d03c Support erase value in Flash HAL drivers, FlashIAP and block devices 2018-11-07 14:23:07 +02:00
Yossi Levy b84f377b73 Removing nvstore. adding back the option for configuration as in the external repo 2018-10-10 17:15:46 +03:00
Yossi Levy 473f8d3f94 Fixing the order of component if more than one is included for a target.
Revert deprecation of FlashIAPBlockDevice 2 argument constructor has this was a breaking change. This follows a similar change in the external flashiap-driver repo.
2018-10-10 12:32:08 +03:00
Yossi Levy 881929eef7 Add 'components/storage/blockdevice/COMPONENT_FLASHIAP/' from commit '8f1ac821f1c411986b8533cbf4878ea9b3fe5efb'
git-subtree-dir: components/storage/blockdevice/COMPONENT_FLASHIAP
git-subtree-mainline: 9a0844a84f
git-subtree-split: 8f1ac821f1
2018-08-29 11:48:04 +03:00