Commit Graph

27 Commits (tools-release-test-cov-patterns)

Author SHA1 Message Date
Chun-Chieh Li 123c254f52 KVStore: Remove incorrect check with non-default configuration FLASHIAP
With non-default configuration FLASHIAP, the region can be defined in front of application. The after-application check must be skipped.
2020-04-15 16:50:06 +08:00
Kyle Kearney ae7c6203cc kv_config: Remove hard fail on too few pages
STORE_SECTORS is a hard requirement. If there are fewer than 2 pages
then the kvstore will not work, because the garbage collection process
relies on having at least two sectors to work with.
STORE_PAGES is a heuristic. It is a reasonable default to use if the
application does not specify the amount of flash to use for TDBStore.
But if an application knows that a smaller number of pages will suffice
for its specific needs, then that is valid and should be permitted.
2020-03-24 12:27:21 -07:00
Kyle Kearney 7f18a6ce49 Move flash bounds helpers from TDBStore to kv_config 2020-03-24 12:27:21 -07:00
Kyle Kearney 622a50ff6a KV_CONFIG: Change errors to use tr_error not tr_warning 2020-03-24 12:27:21 -07:00
Kyle Kearney e1b857078a Remove unnecessary reference-typed arguments
No callers make use of the modified argument values, so change
them to a more straightforward pass by value.
2020-03-24 12:27:21 -07:00
Kyle Kearney 3ef04db1a3 TDBStore: Increase min pages to 14
Increase minimum page count from 10 to 14 based on further experiments
with features-storage-tests-kvstore-static_tests.
2020-03-24 12:27:21 -07:00
Kyle Kearney 7cd4d11a8a Expand error checks in _calculate_blocksize_match_tdbstore
The minimum size required by tdbstore is either 2 sectors or 10 pages,
whichever is larger. Correspondingly, adjust the error checks in
_calculate_blocksize_match_tdbstore to match this requirement.
2020-03-24 12:27:20 -07:00
Kyle Kearney cda0af66eb Move TDB bounds computation for better reuse
Migrate into TDBStore so that DirectAccessDeviceKey can use it as well.
2020-03-24 12:27:20 -07:00
Kyle Kearney afa88b76d4 Refactor internal flash TDB bounds determination
Default the size to the larger of two sectors or 10 pages, so that the
  computation works better on devices with a low sector to page size ratio.
Reduce code duplication.
2020-03-24 12:27:20 -07:00
Marcin Tomczyk 6a21dfa080 [Storage] Use internal flash for KVStore always if default configuration. TDB_INTERNAL is always for first choose. 2020-03-18 06:05:52 -07:00
Przemyslaw Stekiel 25f354fe1f storage: fix static pin-map for ARMC5 2019-12-16 15:38:07 +01:00
Przemyslaw Stekiel ee5953ad74 Add static pinmap support: SDBlockDevice, kvstore, system storage
This is done in order to enable static pin-map for Mbed Cloud Client Example. This should give extra ROM savings, ~1KB.
2019-12-10 12:26:23 +01:00
Seppo Takalo 168b51c415 Add storage related files to baseline unittest.
* Refactor some headers to use relative path from Mbed OS root.
* Refactor some data types to compile on 64bit machines.
* Refactor some debug traces to use mbed_trace.
2019-11-04 16:12:36 +02:00
Martin Kojtal 9203c88b1e
Merge pull request #11275 from VeijoPesonen/disable_nvstore
Enable building feature storage with a bare metal profile
2019-08-29 17:05:54 +02:00
Vairamuthu Ramasamy 782734cae2 Added MBED_CONF_ prefix to QSPI pins, GitHub issue# 10060 2019-08-28 13:12:07 +01:00
Kyle Kearney 5820a3172f Fix typos in comments 2019-08-28 13:12:05 +01:00
Veijo Pesonen 8d44d8c130 Enables building storage with bare metal profile
To compile Mbed Bootloader with bare metal profile certain defines are
not added anymore automatically. Because of this checks for those
defines needed to be introduced.
2019-08-21 12:22:34 +03:00
Veijo Pesonen 722628be02 [TDBStore] changes the default TDBStore location
Thus far the default position has been after the application plus two
spare sectors. For simplicity and to have a predictable location for the
TDBStore with the default configuration the location is now switched to
the end of the flash. Two last sectors to be exact.
2019-08-15 09:26:57 +03:00
ccli8 63d9cde507 KVStore: Support block device out of mbed-os tree
To support block device out of mbed-os tree in KVStore, user needs to:
1. Configure blockdevice to "other".
2. Override get_other_blockdevice() to provide block device out of mbed-os tree.
2019-04-25 09:56:20 +08:00
Yossi Levy 5de92ca4c6 Fixing a bug in FileSystemStore to get the folder path from kv_config in FILESYSTEM and default configuration 2019-01-21 11:19:14 +02:00
Yossi Levy 71afcf6c40 Adding return MBED_ERROR_UNSUPPORTED in _storage_config_default if no component is defined. 2019-01-07 16:50:06 +02:00
Yossi Levy 719395f347 fixing FAT mount failure in kvstore FILESYSTEM 2019-01-03 14:47:24 +02:00
Yossi Levy 388da7f841 Remove ROM overlaps checkup for kvstore FLASHIAP blockdevice if non default values are use
remove of rbp_number_of_entries from the kvstore configuration. Adding default option for storage_type
allowing the system to choose TDB_INTERNAl, TDB_EXTERNAL or FILESYSTEM base on the blockdevice component
set in the target board. Adding remarks to kv_config.cpp and break simplify the _get_blockdevice_FLASHIAP function
2019-01-03 14:01:42 +02:00
David Saada f3bac3451c Fix FLASHIAP_ROM_END macro for GCC_ARM & IAR toolchains
- Consider data section in GCC_ARM toolchain
- Consider init_array section in IAR toolchain
- Rename macro to FLASHIAP_APP_ROM_END_ADDR for clarity sake
2018-12-19 12:05:08 +02:00
David Saada cb7f68e992 Fix a few SecureStore issues (following preliminary security review)
- Remove require integrity flag (authentication) - always authenticate
- Use RBP KV to store CMAC also in write once case
- Allow removing a key if reading it failed on RBP authentication error
- Disable SecureStore if user disables MBED TLS AES CTR or CMAC
2018-12-10 23:34:57 +02:00
David Saada e1bd5c9fac Fix a few bugs in TDBStore and KV config 2018-12-05 17:02:02 +02:00
David Saada e9c25e23a5 KVStore & derived classes: design docs, implementation & configuration
Implement the following:
KVStore base class
TDBStore class
FileSystemStore class
SecureStore class
Global APIs
Configuration framework
Design documentation
2018-11-24 17:43:35 +02:00