Commit Graph

34016 Commits (c8b489ea9b6e1489cff5d0c4007940e9f79b076c)

Author SHA1 Message Date
jeromecoutant 45a6787a41 STM32: Add LP_TICKER and US_TICKER optimisation define 2021-04-20 10:40:53 +02:00
harmut01 9125c51e6c Remove include dependency on `USBDevice_Types.h`
mbed-usb (which provides `USBDevice_Types.h`) is a higher-level USB
library in Mbed-OS that sits on top of the HAL. Targets should not
implement the HAL and use higher-level libraries, hence, the dependency
should be removed. This dependency also causes errors when building with
the bare-metal profile.
2021-04-19 16:20:25 +01:00
harmut01 961ec0ce7f CMake: Add `.cpp` files to target_sources
C++ files were excluded from target_sources, this meant that those files
were being missed entirely during the build process. This adds any files
that may have missed in the first commit.
2021-04-19 16:19:51 +01:00
Martin Kojtal 75ad5163af Travis: deprecate python 2.7
Python 3, it's your time now
2021-04-19 13:26:30 +01:00
Martin Kojtal 6919513a1a fixup! aspell: fix dependencies missing 2021-04-19 12:51:25 +01:00
Martin Kojtal 487513614a fixup! aspell: fix dependencies missing 2021-04-19 12:41:34 +01:00
Martin Kojtal e98b0e6854 aspell: fix dependencies missing
As of ubuntu 20.04, the two deps for aspell are missing.
2021-04-19 09:50:44 +01:00
Martin Kojtal dfcbf0a66a Travis: remove littlefs generic tests
They do not add any value as littlefs library contains own tests, we do not need to duplicate them in Mbed OS.
We test integration with our libraries.
2021-04-19 09:19:59 +01:00
s-bruce13 8d9a60a895 fixed cmakelist to refer to correct library 2021-04-16 07:02:03 -05:00
jeromecoutant d219378f37 NUCLEO_WB55RG: enable PinMap_GPIO[] 2021-04-16 12:37:49 +02:00
jeromecoutant 4e9ef595c3 DISCO_L475VG_IOT01A: enable PinMap_GPIO[] 2021-04-16 12:37:49 +02:00
jeromecoutant 297522b35e STM32: enable PinMap_GPIO table with GPIO_PINMAP_READY
If GPIO_PINMAP_READY is defined for the target,
- PinMap_GPIO table is expected in PeripheralPins.c
- weak gpio_get_capabilities function is implemented
2021-04-16 12:35:40 +02:00
mbedmain 9738b27c7d Update Mbed version block 2021-04-16 10:54:26 +01:00
Chun-Chieh Li d489c92a1b Nuvoton: Fix hal_watchdog_kick() with WDT stopped
According to HAL spec, hal_watchdog_kick() shall do nothing when WDT is stopped.
2021-04-16 09:56:43 +08:00
Martin Kojtal 3213ea8ba1
Merge pull request #14507 from saheerb/master
make target list for applications in examples_cmake.json consistent with examples.json
2021-04-15 17:46:11 +02:00
jeromecoutant 3b64279d36 HAL ticker tests : add optional CHECK_TICKER_OPTIM define
This will make build failure if ticker optim defines are not present
2021-04-15 17:35:28 +02:00
jeromecoutant f7c0434b6c HAL ticker tests fix u64
(1000000 * LP/US_TICKER_PERIOD_DEN) > U32
2021-04-15 17:35:28 +02:00
Martin Kojtal 016d725673
Merge pull request #14465 from harmut01/baremetal_maxim
Maxim: Add bare metal support to targets
2021-04-15 17:31:12 +02:00
Martin Kojtal 32d1c99d3c
Merge pull request #14480 from jeromecoutant/PR_STM32_STANDARD
STM32: Standard Pin Names
2021-04-15 17:30:50 +02:00
Martin Kojtal 216965e7e1
Merge pull request #14463 from mikaleppanen/start_wisun_if
Wisun: Add new start methods to Wi-SUN BR with WisunInterface parameter and deprecated the old ones
2021-04-15 17:30:22 +02:00
Debdeep Saha 83844f0fd4 Added API to reset MAC statistics and Wi-SUN statistics. 2021-04-15 18:28:44 +05:30
Martin Kojtal 5057bfd9bd Travis: update to 20.04
Updating to the latest Travis provided environment. It's been a year around and we can benefit from
more updated versions we use.

More info https://docs.travis-ci.com/user/reference/focal/
2021-04-15 13:34:31 +01:00
Martin Kojtal 7f42511673
Merge pull request #14529 from LDong-Arm/cmake_MULADDC
CMake: Fix Mbed TLS compilation on Cortex-M0/0+/1/M23
2021-04-15 14:29:27 +02:00
Martin Kojtal 1fd4cfd798
Merge pull request #14516 from 0xc0170/fix-cmake-project-name
CMake: remove MBED_PATH and use <PROJECT-NAME>_SOURCE_DIR/MODULE_PATH instead
2021-04-15 14:00:21 +02:00
Saheer Babu a62cd220dd disable test for example-device-key 2021-04-15 12:58:21 +01:00
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