Commit Graph

296 Commits (fd05ebf96ddcee3e231dd602abfd176b3d4ed2c7)

Author SHA1 Message Date
Martin Kojtal 5f7ecea00b
Revert "MbedCRC and CRC HAL revisions" 2019-11-26 13:45:37 +00:00
Martin Kojtal eb60e67d92
Merge pull request #11913 from VeijoPesonen/tdbstore_min_size
LPC55S69_NS default TDBStore size increased to 32kB
2019-11-22 14:47:56 +01:00
Martin Kojtal 04ed9c5c8c
Merge pull request #11851 from amq/patch-2
Enable FAT ChaN lib configuration with mbed_lib.json
2019-11-22 13:38:56 +01:00
Veijo Pesonen 8a0af607f3 LPC55S69_NS: Sets default TDBStore size to 32kB
Previously it was 2 pages - 1kB - which isn't sufficient to store
Reserved Area and Master Record. Reserved are requires one page and Master
Record takes two pages. With 512B page size and having two areas, active and
inactive, the minimum size requirement becomes 2 areas * 3 pages = 3kB. That
isn't enough to store any keys though.
2019-11-21 11:28:59 +02:00
Veijo Pesonen 458f5f43f3 TDBStore: Adds sanity check for storage size when compiled with debug profile 2019-11-21 11:28:59 +02:00
Seppo Takalo af0708ca48 IOTSTOR-978: Skip a unstable testcase until fixed 2019-11-15 10:38:32 +02:00
Martin Kojtal fd22997b60
Merge pull request #11559 from kjbracey-arm/crc
MbedCRC and CRC HAL revisions
2019-11-13 18:24:04 +01:00
amq 5ec0a911fa
Change "MBED_CONF_FAT" to MBED_CONF_FAT_CHAN" 2019-11-13 16:08:08 +01:00
amq 1b55cbe92d
Change library name from "fat" to "fat_chan" 2019-11-13 15:51:55 +01:00
Kevin Bracey 8811972201 Adjust code for MbedCRC changes
* Make mbed_error use bitwise MbedCRC call rather than local
  implementation.
* Remove use of POLY_32BIT_REV_ANSI from LittleFS.
* Move some MbedCRC instances closer to use - construction cost is
  trivial, and visibility aids compiler optimisation.
2019-11-13 14:31:49 +02:00
Kyle Kearney 0103e3a06a General Block Device Test: Expand Thread Stack
The addition of trace logging during greentea tests pushes the multithreaded
read-write test beyond the limits of the stack it allocates for its threads.
The increase of 128 bytes was chosen by experimentation.
2019-11-12 15:41:12 -08:00
Matthew Macovsky 78569aa808 Enable TDBStore whitebox test on PSoC 6 2019-11-12 12:26:25 -08:00
Matthew Macovsky 92829bd9a4 Generalize KVStore phase 1/2 test BlockDevice sizes 2019-11-12 12:26:25 -08:00
Matthew Macovsky a1c74036ea Enable some of the kvstore tests for PSoC 6 MCUs 2019-11-12 12:26:25 -08:00
amq b90838d6df
Change "description" to "help" 2019-11-12 19:15:39 +01:00
amq 52beee2bce
Add mbed_lib.json for the FAT ChaN library 2019-11-12 15:42:22 +01:00
amq 9b3affa78b
Enable FAT configuration with mbed_lib.json 2019-11-12 15:39:19 +01:00
Martin Kojtal dd753abcb8
Merge pull request #11825 from rajkan01/feature-baremetal-greentea-storage
Bare metal green tea test for storage component
2019-11-12 11:01:29 +01:00
RAJKUMAR KANAGARAJ d8e2dd5b47 Incorporated the review comments 2019-11-08 09:50:09 -08:00
Martin Kojtal f079dce02a
Merge pull request #11810 from kyle-cypress/pr/securestore-struct-init
SecureStore: Add member initializers for inc_handle_t
2019-11-07 09:20:43 +01:00
RAJKUMAR KANAGARAJ 8ecce14dad Skip Bare metal green tea test for storage related components or the components test cases which is based on RTOS 2019-11-06 04:49:19 -08:00
Kyle Kearney db4dafc15a SecureStore: Add member initializers for inc_handle_t
_inc_set_handle is new'd in SecureStore::init(), then its members are
referenced in various functions without being explicitly initialized
first. These pre-existing values can confuse the SecureStore's internal
state and cause various undesired behavior.
2019-11-04 14:49:57 -08:00
Seppo Takalo 4ab3c8bb48 IOTSTOR-953: Fix address calculations from SlicingBlockDevice
* Change MBED_ASSERTS() to return valid error code, so that
  checks are not bypassed on release builds.
* Fix starting address calculations so that "addr" parameter is always
  relative to SlicingDevice and "_start" is only added when calls to
  underlying storage block is made.
* Bypass BlockDevice:is_valid_*() to underlying block device.
  Slicingblockdevice was just verifying addresses independently, without
  verifying those from underlying block storage.
2019-11-04 16:13:32 +02:00
Seppo Takalo a6d8f74b09 Add unittest for HeapBlockDevice and change some MBED_ASSERTS to errors. 2019-11-04 16:12:36 +02: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
Seppo Takalo 7f089ac074 Add empty unittest to generate zero baseline for untested files. 2019-11-04 16:12:36 +02:00
Martin Kojtal a927ab8f7c
Merge pull request #11789 from jeromecoutant/PR_STM32H7
STM32H7: code and feature alignment for both NUCLEO and DISCO targets
2019-11-04 09:48:09 +01:00
Veijo Pesonen b01fe020cd Deprecates NVStore 2019-10-31 14:54:54 +02:00
jeromecoutant d7d0d0b8cb STM32H7 FLASH and DEVICE_KEY
- Enable FLASHIAP for all H7 boards
- Use "TDB_INTERNAL" for all H7 boards
- Define specific internal_base_address only for DISCO_H747I_CM7
  (default address is the end of FLASH which is correct for other H7 boards)
- Correct GetSectorBase function with Dual Bank information
2019-10-31 13:04:49 +01:00
Janne Kiiskila 3ab36cb934 Add default TDBStore location for DISCO_H747I (end of BANK1)
Place it at the end of the bank1, last two erase sectors.
As erase sector is 128 kB, default size must be double of that.

This can't be in bank2 as that is apparently dedicated to the M4 core.

Memory map is available in;

https://github.com/ARMmbed/mbed-os/blob/master/targets/TARGET_STM/TARGET_STM32H7/TARGET_STM32H747xI/flash_data.h

Memory map does not have this information, but issue [11617](https://github.com/ARMmbed/mbed-os/issues/11617) has.
2019-10-30 15:25:13 +02:00
Janne Kiiskila 655274a16e DISCO_H747I - define default storage (TDB_INTERNAL)
DeviceKey needs the definition of the default storage place,
define it to be TDB_INTERNAL (as for the other boards).
2019-10-30 15:25:13 +02:00
midd 6fbc610448 Update the internal kvstore size to from 7k to 65K for device that use the internal flash for kvstore 2019-10-23 12:26:07 -07:00
Martin Kojtal bb48dd35c6
Merge pull request #11624 from geky/littlefs-v1.7.2
LittleFS: Update to v1.7.2
2019-10-23 14:55:10 +02:00
Martin Kojtal fcd40ab1a5
Merge pull request #11628 from kyle-cypress/pr/directaccess-devicekey-test
Make devicekey remainder test more meaningful
2019-10-15 21:41:05 +08:00
Anna Bridge 489c30f569
Merge pull request #11297 from kyle-cypress/pr/qspi-dummy-cycles
Differentiate alt and dummy cycles in QSPIF
2019-10-11 14:34:17 +01:00
Kyle Kearney 1cb6f7b31c Make devicekey remainder test more meaningful
As of 722628be02, the "remainder" configuration
also uses the default location near the end of flash. Which makes the two tests
nearly identical with the exception that the "last two sectors" test correctly
handles parts with a low (possibly 1:1) erase size to program size ratio.
Therefore, change the "remainder" test to instead be a "default" test that uses
the tdb_internal_address/size values, so that it
a.) tests something meaningfully different and
b.) tests using the custom TDB address/size values if they are provided.
c.) functions correctly on devices where the default sector-based size computation
    does not work (e.g. because of the low erase size to program size ratio)
    and therefore a custom location and size has been specified.
The is_conf_tdb_internal variable is unused and therefore removed.
2019-10-03 16:04:30 -07:00
Christopher Haster de8df75ec0 Merge commit '70cb12e72bef7a1f220b0e5f21457b6930d984b2' into littlefs-v1.7.2 2019-10-03 09:56:09 -05:00
Matthew Macovsky baf375f8cb Allow for arbitrary QSPI alt sizes
The QSPI spec allows alt to be any size that is a multiple of the
number of data lines. For example, Micron's N25Q128A uses only a
single alt cycle for all read modes (1, 2, or 4 bits depending on
how many data lines are in use).
2019-09-30 14:45:08 -07:00
Seppo Takalo 513891d4f6 Check return of BlockDevice::init() in TDBStore.
Return value was ignored, and TDBStore:init() ended up in a
MBED_ERROR() phase after that.

TDBStore API was limited to allow returning of only two separate
errors, which may end up hiding the actual return value. Change
the documentation slightly to allow returning of original error
code from the underlying block device.

Fixes #11591
2019-09-30 13:26:56 +03:00
Kyle Kearney 832c69b1a6 Explicitly set tdb internal flash size for PSOC6
The default computation assumes that a flash sector is several times
larger than a flash page. On PSoC 6 targets this is not the case
(the two values are the same) so the computed size is too small.
This is a similar change to 1b1f14d36b,
but for devices which implement TDB in internal storage.
2019-09-24 11:31:04 -07:00
Hugues Kamba e65a0c0a99 Remove minor build warnings 2019-09-02 15:04:58 +01:00
Roman Okhrimenko ed9995e06c PSOC6_SB: Initial commit to add CY8CPROTO_064_SB to mbed-os sources. 2019-08-30 15:10:18 +03: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
Veijo Pesonen 155f04713a Revert "Sets NVStore disabled by default"
This reverts commit bda7678071.
2019-08-29 14:50:40 +03:00
Martin Kojtal 453122944c
Merge pull request #11366 from 0xc0170/dev_rollup
Rollup part 2 for 5.14
2019-08-29 09:28:49 +02:00
Martin Kojtal c4a2e3f879
Merge pull request #11349 from VeijoPesonen/tdbstore_ecc_fix
TDBStore bugfix: won't rely on flash erase value to detect is a sector erased
2019-08-29 08:38:48 +02:00
Martin Kojtal 206e52c574 Merge branch 'pr/tdbstore-missing-offset' of git://github.com/kyle-cypress/mbed-os into dev_rollup 2019-08-28 18:37:02 +01: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
Jammu Kekkonen 86640e5bfe Bugfix: won't rely on erase value to detect is a sector erased
When flashing a binary STLink won't skip writing padding which happens
to be the same value as flash's erase value. STM32L4 based targets
have an additional 8-bit of embedded ECC for each 64-bit word of data.
The initial value, when a sector is erased, for the ECC bits is 0xFF.
When you write the erase value to a given address these bits gets
modified to something different due to the ECC algoritm in use. The
visible bits are intact but difference in ECC value prevents flipping
any 1's to 0's. Only way to proceed is to erase the whole sector.
2019-08-27 15:39:47 +03:00