Commit Graph

33582 Commits (9b0f1907f5ee488eb7315aa087a60fa8ec05ba4e)

Author SHA1 Message Date
Lingkai Dong 42c3c927de Fix DeviceKey documentation regarding RoT
Since the commit

    0e7a53c DeviceKey Root of Trust generation refactored.

the Root of Trust is not automatically generated anymore.
2021-04-15 12:15:50 +01:00
Saheer Babu aa2a067c0d update cmake_examples to latest CI passing list 2021-04-15 11:18:28 +01:00
Lingkai Dong 86e7bc559b CMake: Fix Mbed TLS compilation for Cortex-M0/0+/1/M23
Due to a known issue in Mbed TLS's architecture determination
(ARMmbed/mbedtls#1077), we get the error

    error: inline assembly requires more registers than available

when compiling `bignum.c` for Cortex-M0/0+/1/M23 which do not have
the macro `__thumb2__` set by the compiler.

The workaround is to define the macro `MULADDC_CANNOT_USE_R7` which
is already defined by Mbed CLI 1 but missing in our CMake support.

Fixes ARMmbed/mbed-os-example-lorawan#220
2021-04-15 11:04:40 +01:00
Martin Kojtal 076cf3557a
Merge pull request #14546 from rwalton-arm/dev/rwalton-arm/fix-connectivity-driver
CMake: Fix mbed-802.15.4-rf driver
2021-04-15 11:43:30 +02:00
Martin Kojtal b5652a45c9
Merge pull request #14483 from LDong-Arm/tdbstore_whitebox_low_ram
Improve HeapBlockDevice, TDBStore and tests
2021-04-15 10:36:36 +02:00
Martin Kojtal a3be10c976
Merge pull request #14541 from LDong-Arm/crash-reporting-baud
Increase baud rate of mbed-os-example-crash-reporting to 115200
2021-04-14 20:16:32 +02:00
Martin Kojtal dd1da3da40
Merge pull request #14469 from jeromecoutant/PR_FLASH_PROGRAM
STM32: remove critical sections in flash_program_page
2021-04-14 20:15:11 +02:00
Lingkai Dong 7b763be0e3 TDBStore Whitebox tests: fix memory check
Each block of HeapBlockDevice is only allocated from the heap when
that block is programmed. And erasing a block frees the associated
buffer.

To decide if there is enough heap to run the TDBStore Whitebox tests,
we need to perform a trial program() instead of erase().
2021-04-14 17:19:38 +01:00
Lingkai Dong aedc6009ea TDBStore: call `BlockDevice::erase()` regarless of erase value
From the documentations of `BlockDevice::get_erase_value()`:

    -1 if you can't rely on the value of the erased storage

and `BlockDevice::program()`:

    The blocks must have been erased prior to being programmed

So, `BlockDevice::erase()` should always be called regardless of
erase value.
2021-04-14 17:19:38 +01:00
Lingkai Dong fb4e5e80b4 TDBStore: optimize erase algorithms
Currently `TDBStore::offset_in_erase_unit()` and
`TDBStore::check_erase_before_write()` loop through erase units
one-by-one, until the entire range is covered. This is very inefficient
when the erase size is tiny, e.g. one-byte on a non-flash device for
which we use program as erase.

This commit reworks the algorithms, based on the fact that a block
device can erase or program as many units as needed in one go.
2021-04-14 17:19:38 +01:00
Lingkai Dong e8070514b1 FileSystemStore unit test: remove erased_set_get test
The "erased_set_get" test case deinits `FileSystemStore`, erases the
block device, and reinits `FileSystemStore`. This of course fails,
because `BlockDevice::erase()` removes all stored data including the
format of the `FileSystem` (middle layer), unless the particular type
of block device has a no-op erase implementation.

Note: Previously `HeapBlockDevice::erase()` was essentially a no-op
so this test case did not fail. We recently added the freeing of heap
memory and it uncovered the problem.
2021-04-14 17:16:54 +01:00
Lingkai Dong 6b5e467f96 HeapBlockDevice::erase(): free up heap memory
`HeapBlockDevice::erase()` previously performed a range and alignment
check only. This commit adds freeing of heap memory.
2021-04-14 17:00:17 +01:00
Lingkai Dong 7ef9e6175f HeapBlockDevice: allocate with std::nothrow
Mbed OS does not enable C++ exceptions, so we should call `new` with
`std::nothrow` which returns a C-style NULL pointer when allocation
fails to allow error handling.

For consistency of style within the same file, this commit also
replaces `malloc()` and `free()` to `new (std::nothrow)` and `delete`.
2021-04-14 17:00:17 +01:00
s-bruce13 cdf2d4d0a4 missing analoginapi in cmake list 2021-04-14 09:37:40 -05:00
Martin Kojtal bedd5727af
Merge pull request #14486 from jeromecoutant/PR_CLI2_BLE
CMake COMPONENT_BlueNRG_MS: fix mbed-ble
2021-04-14 16:27:25 +02:00
Anna Bridge 68eff877ca
Merge pull request #14545 from Patater/deprecate-bootloader-example
examples: Deprecate mbed-os-example-bootloader
2021-04-14 13:21:53 +01:00
Martin Kojtal 121c8286da CMake: set CMAKE_MODULE_PATH in the Mbed OS CMakelists.txt
Update CMAKE_MODULE_PATH at once place.

Note, we update also CMAKE_MODULE_PATH in app.cmake. This is temporary until we get a proper way to include
Mbed Os (removing app.cmake need to be included by an application).
2021-04-14 13:09:28 +01:00
Martin Kojtal 65e246fe4d CMake: add mbed_ prefix to our CMake files
To avoid conflicts as we expose our CMake list files via CMAKE_MODULE_PATH. Some files already include it, this
aligns the rest of files.

I leave app.cmake as it is - it's user facing and it would be breaking change. We can clean this one for the next major version.
2021-04-14 13:09:27 +01:00
Martin Kojtal b6a90c4ae1 CMake: fix for CMAKE_CURRENT_LIST_DIR in functions
CMAKE_CURRENT_LIST_DIR behaves differently in functions. We store it in the CMakeLists itself, so anyone
calling a function would get the actual list dir where the scripts are.

To illustrate: if I call a function from src/CMakelists.txt, function located in src/scripts, `CMAKE_CURRENT_LIST_DIR` in the function would point
to the src/ folder but not to src/scripts.
2021-04-14 13:09:27 +01:00
Martin Kojtal ed609f57c4 CMake app: add our cmake folder to CMAKE_MODULE_PATH
All files within tools/cmake can now include within tools/cmake. We do not expose
internal folders like core/profiles/toolchains.
They should be included via toolchain file (mbed_toolchain in our case).
2021-04-14 13:09:27 +01:00
Martin Kojtal b88d5687e2 CMake tools: use CMAKE_CURRENT_LIST_DIR instead of MBED_PATH
Excluding greentea tests, they will be fixed separately (more work needed).
2021-04-14 13:09:27 +01:00
Martin Kojtal afd938491a CMake platform: remove MBED_PATH, use standard variables
As we still use target labels, TFM is not visible to CMake. Protect include of their scripts with the same mechanism.
2021-04-14 13:09:26 +01:00
Martin Kojtal dfc4010e24 CMake targets: remove MBED_PATH, use stadard variables
- list files included via module path
- <project-name>_SOURCE_DIR for sources that are out of the current processed CMake
- CMAKE_CURRENT_LIST_DIR for listfiles
2021-04-14 13:09:26 +01:00
Robert Walton c7c2580f9e CMake: Fix mbed-802.15.4-rf driver
mbed-nanostack should depend on mbed-802.15.4-rf to avoid a linker error
with an undefined reference to `NanostackRfPhy::get_default_instance()`.
The error occurs when `device_has: 802_15_4_PHY` is defined and the
consumer depends on mbed-nanostack in their CMakeLists.txt. Previously
we linked mbed-nanostack to mbed-802.15.4-rf, so mbed-802.15.4-rf's
usage requirements weren't forwarded to consumers who depended on
mbed-nanostack.

With the previous configuration, the consumer would have to depend on
mbed-802.15.4-rf directly to avoid an issue. This seems like a layering
violation: it appears that mbed-nanostack is "the API" and
mbed-802.15.4-rf is one of several possible implementations which are
selected based on configuration macros.

This commit changes the flow of dependencies so that mbed-nanostack ends
up with the correct symbol definitions.
2021-04-14 12:30:35 +01:00
Jaeden Amero f02fbaa061 examples: Deprecate mbed-os-example-bootloader
We no longer support the mbed-os-example-bootloader example.
2021-04-14 11:57:14 +01:00
jeromecoutant 992591e774 STM32WL: standard pin names 2021-04-14 11:18:43 +02:00
jeromecoutant 65a96c57a2 STM32WB: standard pin names 2021-04-14 11:18:43 +02:00
jeromecoutant 768037c05e STM32L5: standard pin names 2021-04-14 11:18:43 +02:00
jeromecoutant 8e3c5f11d4 STM32L4: standard pin names 2021-04-14 11:18:22 +02:00
Martin Kojtal f4f8d8fd3f
Merge pull request #14543 from praveenCY/pr/fix_uart_enable
Fix Unbuffered serial enable/disable issue on Cypress kits
2021-04-14 11:09:24 +02:00
jeromecoutant a5878f45c3 STM32L1: standard pin names 2021-04-14 10:30:04 +02:00
jeromecoutant baa558685c STM32L0: standard pin names 2021-04-14 10:30:03 +02:00
jeromecoutant 68b620bdc2 STM32H7: standard pin names 2021-04-14 10:30:03 +02:00
jeromecoutant ede1741e55 STM32G4: standard pin names 2021-04-14 10:30:03 +02:00
jeromecoutant bd43397f12 STM32G0: standard pin names 2021-04-14 10:29:56 +02:00
jeromecoutant fc54542cf0 STM32F7: standard pin names 2021-04-14 10:23:29 +02:00
jeromecoutant 2323d227fe STM32F4: standard pin names 2021-04-14 10:23:29 +02:00
jeromecoutant 25e85f9fcf STM32F3: standard pin names 2021-04-14 10:23:29 +02:00
jeromecoutant 63ce075fa8 STM32F2: standard pin names 2021-04-14 10:23:29 +02:00
jeromecoutant 69a7e3eeff STM32F1: standard pin names 2021-04-14 10:23:28 +02:00
jeromecoutant d21ff75e39 STM32F0: standard pin names 2021-04-14 10:23:28 +02:00
jeromecoutant 2351460ef7 STM32: replace "ARDUINO" by "ARDUINO_UNO" 2021-04-14 10:23:28 +02:00
jeromecoutant 3a772baab2 STM32: STM32_gen_PeripheralPins.py v1.20
- standard pin compatible
2021-04-14 10:23:28 +02:00
Martin Kojtal c5f28e6037
Merge pull request #14481 from jeromecoutant/PR_LORA_ERROR
STM32WL: update "lora.max-sys-rx-error"
2021-04-14 09:54:53 +02:00
Martin Kojtal 033094f84d
Merge pull request #14467 from LDong-Arm/b1_fix
Musca targets: align and clean up configurations
2021-04-14 09:54:46 +02:00
Martin Kojtal 8b8f4e52a0
Merge pull request #14521 from AnishKumarHCL/pwm_gpiopull_fix
Updated TARGET_STM32 board  pinMap_PWM table with GPIO_NOPULL
2021-04-14 09:54:22 +02:00
reme a1055f5add README update STM32F3 to CUBE V1.11.2 2021-04-14 08:19:40 +01:00
reme 285e3e2bb7 STM32F3 update drivers version to CUBE V1.11.2 2021-04-14 08:19:39 +01:00
Chandran Praveen Babu (CYSC CSS ICW SW PSW) af44532ca4 Fix Unbuffered serial enable/disable issue on Cypress kits 2021-04-13 15:33:25 -07:00
Lingkai Dong b5893bebbb Increase baud rate of mbed-os-example-crash-reporting to 115200
At 9600 baud, a large part of the serial output of the crash reporting
example is missing on CI boards, causing the example test to fail. At
a higher serial speed (115200 baud), the entire output is intact.

This is in alignment with ARMmbed/mbed-os-example-crash-reporting#65.

Fixes #14535
2021-04-13 16:10:39 +01:00