Commit Graph

1206 Commits (a07c00e6c3b65b880088f21bb120c5736047e700)

Author SHA1 Message Date
Rajkumar Kanagaraj 9596c1beea CMake: Add platform greentea test with CMake 2021-01-05 06:52:12 -08:00
mbedmain d6784c3ee6 Update Mbed version block 2020-12-11 17:08:21 +00:00
Anna Bridge 9f18c445ee
Merge pull request #13908 from LDong-Arm/kvstore_libraries
Restructure KVStore to one library per store type
2020-12-11 13:41:16 +00:00
Martin Kojtal c06fcaf5c5
Merge pull request #13548 from evva-sfw/enhance-minimal-printf
Add width modifier and prepending zeros for hexadecimal output and decimal precision for floating point
2020-12-10 09:14:59 +00:00
Lingkai Dong c2cc43875a CMake: add missing linkages of storage libraries 2020-12-09 17:26:32 +00:00
Martin Kojtal 9662e409db
Merge pull request #14001 from kjbracey-arm/mbed-os-atomic
Add missing retry to atomic exchange
2020-12-09 13:29:56 +00:00
Oliver Wildtgrube 03cf6214c3 Add width modifier and prepending zeros for integer, hexadecimal and floating point output as well as decimal precision for floating point 2020-12-08 21:07:54 +01:00
Kevin Bracey 0b30742c80 Add missing retry to atomic exchange
Atomic exchange implementation forgot to do the retry if the exclusive
store failed.
2020-12-03 16:36:23 +02:00
Leon 310b6dd127 Add crash reporting and autoreboot capability to MTS_DRAGONFLY_L471QG 2020-12-01 14:18:16 -06:00
Martin Kojtal 124afe79bb
Merge pull request #13755 from AGlass0fMilk/fix-init-os-timer
Fix MBED_ERROR call in init_os_timer
2020-11-24 13:38:46 +00:00
Martin Kojtal 57bbb4739b
Merge pull request #13085 from pea-pod/remove-deprecated-mbed-assert
Change MBED_STATIC_ASSERTs version for built-in
2020-11-24 13:38:07 +00:00
George Beckstein 7571982606 Fix MBED_ERROR call in init_os_timer 2020-11-19 12:35:34 -05:00
mbedmain f2278567d0 Update Mbed version block 2020-11-18 11:27:24 +00:00
Martin Kojtal 65097e1c07
Merge pull request #13878 from evedon/blockdevice-library
Add missing blockdevice mbed_lib.json
2020-11-12 08:44:48 +00:00
Martin Kojtal 3555ada459
Merge pull request #13867 from marcemmers/fix-systimer-overflow
SysTimer: Prevent unacknowledged tick overflow when halted for a while
2020-11-11 08:55:24 +00:00
Hugues Kamba 794e32df74 CMake: Use relative paths to list source files and directories
The absolute path is still required for listing linker
files as they are referenced from a function in the top
level CMake input source file.
2020-11-09 12:32:30 +00:00
Rajkumar Kanagaraj e7c0d93ad4 CMake: add mbed-os and mbed-baremetal targets
mbed-os consists of mbed-core and mbed-rtos
mbed-baremetal consists of mbed-core

The main change is for mbed-core. Changing from object library to be interface. This way it allows us to do the above to have 2 main targets for users to use.

This should be backward compatible change as mbed-os target we used contains the same files/options as previously set.
2020-11-06 17:25:22 +00:00
Hugues Kamba bf84a5b329 CMake: Rename CMake targets
* mbed-os renamed mbed-core
* mbed-os-<COMPONENT> renamed mbed-<COMPONENT>
2020-11-06 17:25:22 +00:00
Hugues Kamba fa98689639 CMake: Componentize Mbed OS into multiple CMake targets (#13732)
Aside from the core mbed-os CMake target, a number of targets have been created so they can optionally be included by application executables that require them using `target_link_libraries()`.

Co-authored-by: Martin Kojtal <martin.kojtal@arm.com>
Co-authored-by: Rajkumar Kanagaraj <rajkumar.kanagaraj@arm.com>
2020-11-06 17:25:21 +00:00
Hugues Kamba 0f7d03ae1c CMake: Revert mbed-trace CMake input source file to match upstream repository (#13590)
As there is currently no mbed-trace library, statements related to that
target have been commented out.
2020-11-06 17:25:20 +00:00
Hugues Kamba 1b576c3046 CMake: Clean up platform 2020-11-06 17:25:20 +00:00
Hugues Kamba 9b8c5acb99 CMake: Fix build failure due to mbed-trace, mbed-client-randlib, and nanostack dir changes 2020-11-06 17:25:20 +00:00
Hugues Kamba a0fbe2947a CMake: Fix build failure due to CMSIS restructure 2020-11-06 17:25:20 +00:00
Hugues Kamba 4fc678c30d CMake: Correct file listing for PSA 2020-11-06 17:25:20 +00:00
Hugues Kamba 0c8cb3134c CMake: Fix build failure due to PSA dir move 2020-11-06 17:25:20 +00:00
Hugues Kamba c876bc1d75 CMake: Fix build issue due to platform changes 2020-11-06 17:25:18 +00:00
Hugues Kamba 929adbe936 CMake: Add support for platform dir 2020-11-06 17:25:15 +00:00
Hugues Kamba 1d6f86f553 CMake: Add support for features dir 2020-11-06 17:25:15 +00:00
Marc Emmers 8b7e7ee8f6 Make _unacknowledged_ticks uint32_t to prevent overflow 2020-11-05 15:26:44 +01:00
Evelyne Donnaes f4b7f44d93 Added missing blockdevice mbed_lib.json 2020-11-02 16:35:26 +00:00
pea-pod 507181d262 Change MBED_STATIC_ASSERTs version for built-in 2020-10-27 08:30:40 -05:00
mbedmain 8ef0a435b2 Update Mbed version block 2020-10-20 15:48:27 +01:00
Martin Kojtal 2d01a4412d
Merge pull request #13723 from boraozgen/feature/f412xg-crash-ram
Add crash RAM to STM32F412xG
2020-10-16 09:10:55 +01:00
Martin Kojtal 61aa6817f0
Merge pull request #13724 from harmut01/license_refactor
Add license notice to Arm copyrighted source files
2020-10-16 09:09:53 +01:00
Harrison Mutai d1d6bf51b3 Add license notice to Arm copyrighted source files
Scancode found missing license notices in our source files. This commit
addresses those issues by adding an Apache-2.0 notice to source files
highlighted.
2020-10-15 10:46:35 +01:00
Martin Kojtal 2cb64f5bce
Merge pull request #13549 from kjbracey-arm/readdir_r
Make readdir reentrant
2020-10-13 11:11:45 +01:00
jeromecoutant 953b50397f Platform: enable crash feature for NUCLEO_F412ZG 2020-10-09 10:28:28 +02:00
Martin Kojtal d829ac3fa8
Merge pull request #13649 from LDong-Arm/mbed-trace-default
Make mbed-trace available to bare metal
2020-09-22 16:24:18 +01:00
Martin Kojtal 2ab7b44f10
Merge pull request #13563 from paul-szczepanek-arm/circ-buf
Add mutiple push and pop for circular buffer
2020-09-21 16:29:04 +01:00
Martin Kojtal a02ea2f43a
Merge pull request #13623 from rajkan01/refactor_docs
Refactor mbed-os design docs
2020-09-21 16:28:13 +01:00
Lingkai Dong f7b82ace3a Make mbed-trace available to bare metal
Some code in "drivers" and "targets" use mbed-trace, which when
disabled has zero overhead as trace function calls are masks
by dummy macros.
2020-09-21 15:40:38 +01:00
Lingkai Dong 378046ee24 mbed-trace: if fea-ipv6 is null, check nanostack-libservice availability 2020-09-21 15:40:38 +01:00
Rajkumar Kanagaraj 19908b2b21 Refactor hal, platform, rtos docs 2020-09-17 16:03:43 +01:00
Rajkumar Kanagaraj a74120ca2e Move greentea test closure to library 2020-09-16 13:04:21 +01:00
Paul Szczeanek b335675cbd missing dependencies 2020-09-16 11:05:02 +01:00
mbedmain 0db72d0cf2 Update Mbed version block 2020-09-14 12:09:56 +01:00
Anna Bridge ad973f2f14
Merge pull request #13594 from moshe-shahar/psa-gen-rot
PSA - Generate root of trust before accessing kvstore
2020-09-11 15:46:35 +01:00
Moshe Shahar eaf9601bc9 remove redundant call to generate_root_of_trust from its test 2020-09-10 19:44:52 +03:00
Moshe Shahar 5954267859 PSA - Generate root of trust before accessing kvstore 2020-09-10 19:25:59 +03:00
Paul Szczeanek 3d827e8e86 unit tests for circular buffer 2020-09-10 15:00:20 +01:00
Paul Szczeanek d4eaa48591 allow popping and pushing of multiple items in circular buffer 2020-09-10 15:00:01 +01:00
Gabor Toth bdf2306f16 Add platform support to Musca S1
Change-Id: Iebdd4bc402446caba6b7bd894eddb0a85ed884d8
Signed-off-by: Mark Horvath <mark.horvath@arm.com>
Signed-off-by: Gabor Toth <gabor.toth@arm.com>
2020-09-10 14:53:41 +02:00
Martin Kojtal 41f2ee54f9
Merge pull request #13430 from LDong-Arm/refactor_frameworks
Relocated libraries in features/frameworks
2020-09-07 09:10:56 +01:00
Kevin Bracey 5ab6f1cef6 Make readdir reentrant
Remove the static allocation for the dirent, and allocate it from the
heap during opendir().

Removing the static data can reduce RAM usage on some toolchains when
directories are not being used. The static allocation sometimes is
combined with the file handle array and can't be dropped by the linker.

Original readdir() was not thread-safe at all.

This was in violation of POSIX which states the result of readdir "is
not overwritten by another call to readdir() on a different directory
stream."

POSIX also defines readdir_r() as separate totally reentrant form where
the caller allocates the dirent, but this is generally deprecated as it
opens the door for an inadequate allocation causing a stack smash. Full
reentrancy is not typically necessary - having readdir()'s buffer data
be per-DIR is generally sufficient.
2020-09-04 16:58:23 +03:00
Martin Kojtal 4a68b8af89
Merge pull request #13486 from rajkan01/fix_malloc_overhead_calculation
Fix heap stats overhead_size calculation
2020-09-03 11:38:41 +01:00
Lingkai Dong d6a2269de3 Restructure platform/randlib
* Move mbed-client-randlib/ headers into include/
  (Note: we don't rename it to "randlib" because this library
   is mirrored to https://github.com/ARMmbed/mbed-client-randlib,
   and "mbed-client-randlib" may be reference by some projects)
* Move the standalone local unit test into tests/unit
2020-09-02 12:31:00 +01:00
Lingkai Dong 9b1e0a38fe Move mbed-client-randlib -> platform/randlib 2020-09-02 12:31:00 +01:00
Lingkai Dong af1950fb16 Add include/ path for mbed-trace 2020-09-02 12:30:59 +01:00
Lingkai Dong a88438ce04 Move mbed-trace into platform 2020-09-02 12:30:59 +01:00
Hugues Kamba 834e530abd CMSIS: Restructure ported CMSIS_5
See docs/adr/0001_cmsis_component_source_structure_recommendations.md
For details information.
2020-09-01 15:55:13 +01:00
Rajkumar Kanagaraj f3c9132637 Incorporated the review comments 2020-09-01 14:46:36 +01:00
Anna Bridge b3c19227a4
Merge pull request #13459 from 0xc0170/fix_platform_component
platform: fix internal platform headers
2020-08-25 15:53:12 +01:00
Rajkumar Kanagaraj d30ba6ba62 Fix malloc internal overhead size calculation for newlib and newlib-nano 2020-08-24 15:07:36 +01:00
Martin Kojtal 2c18e93979
Update platform/source/mbed_os_timer.cpp
fix the typo

Co-authored-by: Lingkai Dong <lingkai.dong@arm.com>
2020-08-21 14:55:58 +01:00
Rajkumar Kanagaraj 118c01016b Move FEATURE_EXPERIMENTAL_API for PSA to platform 2020-08-21 14:35:10 +01:00
Martin Kojtal 207a164c08
Merge pull request #13434 from LDong-Arm/move_drivers_platform_tests
Move Callback tests to platform, USB tests to drivers
2020-08-21 13:50:22 +01:00
Martin Kojtal a6ce2c53a0 platform: move internal headers to internal/
They belong to internal folder to follow our guideline, not in source as they were.
2020-08-20 08:58:00 +01:00
Martin Kojtal 8078e20cb4 platform: remove platform/ prefix for source
If we take platform as a component, platform/source would be outside of this component.
I removed the prefix as these are implementation specific (they are located in source folder,
not in include as the others).
2020-08-18 15:55:39 +01:00
mbedmain 83fa12183b Update Mbed version block 2020-08-16 20:59:02 +01:00
Lingkai Dong bf3e1237aa Move mbed_functional tests into platform/tests/TESTS 2020-08-14 17:53:19 +01:00
Ashok Rao a78554ebfa Fixing .astyleignore conflict 2020-07-31 15:50:03 +01:00
Ashok Rao 0d9a1cc24e Adding required host_tests 2020-07-31 15:15:08 +01:00
Matthew Macovsky b7c0e89eb9 Fix IAR assembler errors on except.S
Fixes two errors produced on except.S by the IAR assembler (as seen in
issue #13200).

The first: "'ALIGN' is illegal. Use directive ALIGNROM or ALIGNRAM (the
first parameter is raised to the power of 2, the second is a 32-bit fill
value)."
Fixed by changing ALIGN to ALIGNROM 2 to align to a 4-byte boundary
(mirroring what ALIGN does in the ARM except.S).

The second (on THUMB): "Must be placed inside a section"
Fixed by moving THUMB after the SECTION directive so that it affects
that section.
2020-07-29 08:25:41 -07:00
George Psimenos 99803be98f Relocate platform unit tests 2020-07-28 10:16:47 +01:00
Ashok Rao 09734a861d Refactoring \platform as per directory structure proposal.
Mbed OS will soon be changing directory structure to the below:

```
[component name]
├── mbed_lib.json
├── CMakeList.txt
├── README.md
├── include
│   └── [component name]
│       └── internal
├── source
└── tests
    ├── <framework>
    │   └── <test suite one>
    ├── UNITTESTS
    │   └── <unit test suite one>
    └── TESTS
        └── <greentea test suite one>
```
This PR implements the above new directory structure for the current \platform directory.
**NOTE:** This PR does NOT include the refactoring of UNITTESTS as shown in the above directory structure. This will be done in a subsequent PR.
2020-07-28 10:14:44 +01:00
adbridge a2ada74770 Update Mbed version block 2020-07-15 10:47:30 +01:00
Marc Emmers a20ff63574 Add include <iterator> 2020-07-09 12:23:00 +02:00
Marc Emmers dfa8ea714d Add begin, end, rbegin and rend iterator functions to Span 2020-07-08 17:14:39 +02:00
adbridge a6207cadad Update Mbed version block 2020-06-24 16:41:27 +01:00
Martin Kojtal 3e42991289
Merge pull request #13046 from hugueskamba/hk_use_chrono
Use std::chrono based functions
2020-06-18 22:16:00 +02:00
Devaraj Ranganna 76e911c5ef psa: Replace Mbed PSA with TF-M
Add TF-M to Mbed OS, replacing the previous PSA implementation for
TF-M-capable targets. This commit adds files imported from TF-M, without
modification. The version of TF-M imported can be found in
`features/FEATURE_PSA/TARGET_TFM/VERSION.txt`.

These changes switch to TF-M as the sole PSA implementation for v8-M and
dual core targets, with TF-M running on the secure side and Mbed OS
running on the non-secure side. Single core v7-M targets will continue
to have PSA implemented via PSA emulation, implemented by Mbed OS.

Move or remove many PSA-implementing files, as PSA will be provided by
TF-M on non-single-v7-M targets. Delete any files that are not relevant
for PSA emulation mode.
 - Remove imported TF-M SPM
 - Remove Mbed SPM and tests
 - Remove Mbed-implemented PSA services and tests
 - Remove PSA_SRV_IMPL, PSA_SRV_IPC, PSA_SRV_EMUL and NSPE.
 - Replace PSA_SRV_EMUL and PSA_SRV_IMPL with MBED_PSA_SRV
 - Remove any files autogenerated by
   "tools/psa/generate_partition_code.py", which no longer exists.

Add new feature `PSA` to support PSA in Mbed OS.

Move the Mbed OS implementation of PSA services for v7-M targets (which
employ PSA emulation, and don't yet use TF-M) to
features/FEATURE_PSA/TARGET_MBED_PSA_SRV. Update the `requires`
attribute in TESTS/configs/baremetal.json to avoid breaking baremetal
testing builds.

Update .astyleignore to match new directory structure

Update Mbed TLS importer to place files into FEATURE_PSA

Create the following generic PSA targets:

* `PSA_Target` (Root level PSA generic target)
* `PSA_V7_M` (Single v7-M PSA generic target)
* `PSA_DUAL_CORE` (Dual-core PSA generic target)
* `PSA_V8_M` (v8-M PSA generic target)

Flatten MUSCA_NS and private MUSCA targets into public MUSCA targets.

Move mcuboot.bin to flat location (removing prebuilt folder)

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-06-18 12:16:20 +01:00
Martin Kojtal 62c2431344
Merge pull request #12824 from kjbracey-arm/faultasm
Optimise fault handler assembly
2020-06-18 09:43:00 +02:00
Hugues Kamba a3f4cf212d Use std::chrono based functions
The chrono based functions improve readability. Using them also removes
warnings related to usage of deprecated warnings.
2020-06-17 14:52:50 +01:00
Anna Bridge d0d35c2743
Merge pull request #12772 from pea-pod/scoped-enums
Add enum class flag definition to platform
2020-06-12 11:39:29 +01:00
Martin Kojtal b287d98d2c
Merge pull request #13002 from pea-pod/simplify-mbed-assert
Deprecate MBED_STATIC_ASSERT and MBED_STRUCT_STATIC_ASSERT for built-in keyword
2020-06-10 11:46:55 +02:00
Martin Kojtal dc30e1bf60
Merge pull request #13015 from jeromecoutant/PR_IARTRIVIAL
Force callback non-trivial for IAR
2020-06-05 10:45:21 +02:00
Martin Kojtal 7ae621ee86
Merge pull request #12988 from jeromecoutant/PR_OS_TIMER
OS timer uses LPTICKER by default, then USTICKER
2020-06-04 15:15:43 +02:00
adbridge 782fa9bb18 Update mbed version number 2020-06-02 11:38:04 +01:00
pea-pod 5fb87eb0b0 Simplify MBED_STATIC_ASSERT for C11 and C++14 2020-06-02 00:16:49 -05:00
jeromecoutant d8fc1e9121 Force callback non-trivial for IAR 2020-05-25 15:29:27 +02:00
pea-pod 77a1a72c46 Add enum class flag definition to platform 2020-05-24 00:23:06 -05:00
jeromecoutant a7c9601d08 OS timer uses LPTICKER by default, then USTICKER
This PR makes the bare-metal mode work automatically
regardless of the tickless-from-us-ticker setting
- in non RTOS mode
- and in RTOS tickless mode
2020-05-19 12:34:11 +02:00
Martin Kojtal 37ee008b90
Merge pull request #12961 from MarceloSalazar/remove_nrf51
Remove nRF51 targets
2020-05-15 08:08:26 +02:00
jeromecoutant dd46dfccb2 STM32F4 code cleaning 2020-05-14 13:55:22 +02:00
Marcelo Salazar ccd95f1e14 Remove nRF51 targets
The following public nRF51 targets are being removed:

- NRF51822
- NRF51_DK
- NRF51_MICROBIT
2020-05-13 10:36:50 +01:00
Martin Kojtal f13db5fa76
Merge pull request #12906 from kjbracey-arm/chrono_asserts
Work around C++14 assert problem
2020-05-12 14:27:04 +02:00
Martin Kojtal 7698b34e8c
Merge pull request #12938 from kjbracey-arm/chrono-sleep-correct
Correct core RTOS sleep routine timing
2020-05-07 13:58:56 +02:00
Kevin Bracey 3f67eed31c Correct core RTOS sleep routine timing
Chrono conversions inadvertantly changed the core timed sleep routine
used by the RTOS idle to use `OsTimer::update_and_get_tick()` instead of
`OsTimer::get_tick()`.

Correct this, and expand/clarify documentation and naming to try to
prevent recurrence.

Another minor fix observed while inspecting code - `OsClock` can't just
use `milliseconds`, it should match the period of `OsTimer`, which
theoretically can be different.
2020-05-07 11:43:01 +03:00
Marcelo Salazar 4083469d09 Remove Ublox targets 2020-05-06 16:39:29 +01:00
Martin Kojtal dbf05ceaed
Merge pull request #12735 from Patater/musca-tfm
Make MUSCA B1 and MUSCA A1 TF-M ready
2020-05-04 11:06:48 +02:00