Commit Graph

18 Commits (b9d824d67cb15cf43a205aa5c78336aaa2aaeecf)

Author SHA1 Message Date
Seppo Takalo a5e3336c19 Zero initialise all NVStore&kvstore members 2019-08-07 14:17:15 +03:00
Michal Paszta 73b122b2c4 Coverity and compilation warnings fixes 2019-08-07 10:30:52 +03:00
Marcin Tomczyk 6cdb8f0f49 NVStore.cpp (and KVStore) - run-time failure handling missing 2019-07-22 15:04:20 +02:00
Kevin Bracey a522dcfa0a Replace deprecated wait calls 2019-07-15 10:13:50 +03:00
Martin Kojtal 3ea1c56124
Merge pull request #10147 from kjbracey-arm/atomic_bitwise
Assembler atomics
2019-05-13 14:18:05 +01: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
Janne Kiiskila 300c3e767c NVStore.cpp compiler warning removal (os_ret)
One gets this compiler warning from nvstore.cpp:

```
Compile [ 48.6%]: nvstore.cpp
[Warning] nvstore.cpp@814,9: variable 'os_ret' set but not used [-Wunused-but-set-variable]
```

Turns out it's caused by the fact that the variable is only used
with MBED_ASSERTs, which get optimized out or not, depending on your
build profile. In reality we do not need a separate variable for that
in my opinion though, so we can just use the ret-variable instead
and drop the os_ret variable completely and thus avoid this
compiler warning.
2019-04-25 22:55:29 +03:00
Cruz Monrreal 66792b493e
Merge pull request #9445 from davidsaada/david_nvstore_fix_area_calc
NVStore: fix area calculation function
2019-01-31 10:20:44 -06:00
David Saada 48a3ae9636 FlashIAP driver: Add retries to erase and program operations.
Few boards may fail the write actions due to HW limitations (like critical
drivers that disable flash operations). Just retry a few times until success.
In addition, remove the redundant retries in NVStore (not needed now).
2019-01-30 16:05:27 +02:00
David Saada 765b48336f NVStore: fix area calculation function
Don't allocate the sector map array in this function,
as it was buggy and redundant. Separate user config vs. automatic allocation
cases instead (which was essentially the case anyway).
In addition, fix tests to get over failures in low end boards
2019-01-24 16:16:56 +02:00
Yossi Levy 677dbd1612 removing output parameter from avoid_conflict_nvstore_tdbstore function. 2018-12-23 14:27:56 +02:00
Yossi Levy fcd24aa62b Create runtime error if TDBStore and NVStore are created in internal flash 2018-12-23 14:27:56 +02:00
Martin Kojtal cc2e15c84e
Merge pull request #9158 from davidsaada/david_lto_dup_types
Fix LTO build failures due to duplicate local types
2018-12-20 16:30:16 +00: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
David Saada ec0ebc2cec Fix LTO build failures due to duplicate local types 2018-12-19 15:52:43 +02:00
Amir Cohen eff52273f4 Fix max_keys reset limitation
Persist the max_keys value through a soft-reset, also prohibit max_keys set under predefined default value (16)
2018-12-12 15:05:09 +02:00
Martin Kojtal e54ce88bca storage: fix astyle coding style 2018-11-07 08:56:35 +00: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