Commit Graph

1357 Commits (04a76b3882c60fa0686eb03470b5da5a98f52fa4)

Author SHA1 Message Date
Marc Emmers 2f0bfd605e Adds basic span implementation 2021-01-16 20:02:24 +01:00
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
Martin Kojtal 32ea606add
Merge pull request #12889 from hugueskamba/hk_stdio_config
Convert newlines on all terminal (tty) devices by default
2020-04-30 14:53:41 +02:00
Martin Kojtal 0df2188f3e
Merge pull request #12761 from kjbracey-arm/callback_trivial
Callback: Trivial default
2020-04-30 14:50:40 +02:00
Kevin Bracey fd933b4c72 mbed_chrono: restore asserts
Now that we've got a workaround for ARMC6, asserts can be restored.
2020-04-30 14:14:25 +03:00
Kevin Bracey ff2a928091 Work around ARM C 6 constexpr assert
ARMC6's assert macro does not work in C++14 constexpr context as it should.
By defining __DO_NOT_LINK_PROMISE_WITH_ASSERT, we deactivate the
extension that breaks it (having `__promise` inside `assert` - see the
compiler manual).

The extension does not appear to be useful - we have no code using
ARMC6's `__promise` directly, and putting a `__promise` inside the
assert does not appear to affect code generation in my tests.
2020-04-30 14:14:25 +03:00
Jaeden Amero 808da40695 musca: Use the default baud rate
Avoid surprising users. Use the Mbed OS default baud rate. Applications
that want to see TF-M debug prints can both enable and set their baud
rate at the application level. Mbed OS should not turn on TF-M debug
prints nor surprise the user with a non-default baud rate.

Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-04-30 11:32:10 +01:00
Hugues Kamba 5cb7bd5cca Convert newlines on all terminal (tty) devices by default
Applications can reduce their ROM usage by replacing
"\r\n" by "\n".
2020-04-30 10:56:27 +01:00
Martin Kojtal d1ae0d570c
Merge pull request #12425 from kjbracey-arm/chrono
C++ Chrono support
2020-04-30 11:41:43 +02:00
Jaeden Amero fcf427ac11 psa: Remove S-mode only code
Remove all PSA S-mode only code, as it is unused. Only PSA S targets
would use the code, and we've removed those targets in a previous
commit.

Ensure all tests for S-mode code we are deleting is also removed, even
if that code would run in NS-mode. Keep any tests that also test our PSA
emulation support (for single v7-M targets).

Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-04-27 09:51:13 +01:00
Kevin Bracey 8e3e19837a More Chrono test fixes
* Timer test - handle removal of Timer(ticker_data_t *)
* Timer test - use Chrono, don't test deprecated methods
* Kernel tick count test - TEST_ASSERT_WITHIN -> TEST_ASSERT_INT_WITHIN
* Mutex test - fix up Chrono changes
* SysTimer test - adapt to SysTimer Chrono changes
* Thread test - use Chrono
* SysTimer - devirtualize destructor
2020-04-27 10:19:08 +03:00
Rajkumar Kanagaraj a10dafdda8 Fix the CI build issue 2020-04-27 10:19:08 +03:00
Kevin Bracey b17355f588 mstd_mutex: Add missing Chrono bits 2020-04-27 10:19:08 +03:00
Kevin Bracey a88622527f Add mbed_chrono.h for handy extensions 2020-04-27 10:19:08 +03:00
Kevin Bracey f4e0ea2c75 Add Chrono support to Kernel and SysTimer 2020-04-27 10:19:08 +03:00
Kevin Bracey b6a7a0896e Streamline crash data access
Use correctly-typed external definition for the crash data region, and
eliminate unnecessary pointer indirection.

Results in a small ROM saving even with crash capture disabled, as there
was a pointer for the fault context store in either case. The pointer
isn't needed, as the context store location is fixed according to the
configuration flag.
2020-04-24 10:59:13 +03:00
Kevin Bracey 03ce9190f9 Optimise fault handler assembly
Fault handler assembly was very simplistic. Optimise for a 112 byte saving.
2020-04-23 11:28:35 +03:00
Kevin Bracey c1641e79c5 Reformat except.S
Tidy up formatting, and make all 3 toolchain versions more consistent,
for ease of diffing and transferring changes between them.
2020-04-23 11:28:35 +03:00
Hugues Kamba d6b764e75f Remove deprecated Platform header files 2020-04-16 09:28:27 +01:00
Martin Kojtal d4da29840f
Merge pull request #12758 from hugueskamba/hk_fix_microlib_minimal_console
Fix: Return the correct std I/O device handle for Microlib in retarget code
2020-04-15 09:24:17 +02:00
MarceloSalazar a15f6a43ad General clean-up of unsupported targets 2020-04-09 15:36:21 +01:00
Martin Kojtal 7fce7f552c
Merge pull request #12572 from rajkan01/waitapi_remove_deprecated
Remove mbed wait deprecated APIs
2020-04-09 14:57:46 +02:00
Rajkumar Kanagaraj 9739b565b2 Fix the CI build issue 2020-04-08 10:35:07 +01:00
Rajkumar Kanagaraj 83be3f24a5 Remove mbed wait deprecated APIs 2020-04-08 10:35:07 +01:00
Hugues Kamba eca09b7c17 Fix: Return the correct std I/O device handle for Microlib in retarget code
Return the correct filehandle based on the mode requested. The mode is used
as the pathname is always the default one (":tt") for Microlib. The
previous implementation relied on three successive calls to open the std
I/O device handles, this was not the case.
2020-04-07 13:10:20 +01:00
Kevin Bracey 616b4e7bd8 Callback: Trivial default
Turn off `callback.non-trivial` by default to save ROM space.
2020-04-06 09:45:51 +03:00
Kevin Bracey 874e36e05a Fully enforce NonCopyable
Make NonCopyable fully operational so it gives compile errors in all
build profiles.
2020-03-31 19:01:42 +03:00
Martin Kojtal b090065dec
Merge pull request #12708 from rajkan01/ARM_compiler_version
Remove compatibility for Arm Compiler versions prior to 6.01.0050
2020-03-31 10:36:56 +02:00
Martin Kojtal 5a07aab474
Merge pull request #12569 from evva-sfw/feature/mbed-error-weak
Replace with weak mbed_error_hook implementation (deprecate the hook function)
2020-03-30 10:02:29 +02:00
Rajkumar Kanagaraj 47e68b20cb - Remove the pre-processor directive __ARMCC_VERSION >= 6010050
- Add the code prior to 6.01.0050 versions.
2020-03-27 14:37:01 +00:00
Anna Bridge 009ff7adf3
Merge pull request #12036 from kjbracey-arm/callback_fiddle
Callback extension and optimisation
2020-03-27 14:07:20 +00:00
Martin Kojtal cb131c39b3
Merge pull request #12629 from evedon/ed-rtos-api
Add "rtos-api" to bare metal
2020-03-26 18:21:05 +01:00
phst 75f8c70935 Fix Astyle error 3 2020-03-25 16:20:43 +01:00
phst 406e7a2f4f Fix Astyle error 2 2020-03-25 16:05:55 +01:00
phst 413b6d62f4 Fix Astyle error 2020-03-25 15:37:13 +01:00
phst ac20dfc745 Fix Astyle error 2020-03-25 14:20:21 +01:00
Martin Kojtal ddd3b013e8
Merge pull request #12632 from evedon/ed-minimal-snprintf
Fix snprintf in minimal-printf library
2020-03-25 11:34:23 +01:00
Evelyne Donnaes a3c3656557 Removed mbed_minimal_formatted_string_character
mbed_minimal_formatted_string_character is no longer
required since fputc does the new line conversion.
This results in a small Flash saving.
2020-03-23 13:51:47 +00:00
Evelyne Donnaes 94acb5da50 Fix snprintf in minimal-printf library.
mbed_minimal_putchar assumed that buffer being NULL meant that it
should print to a file. This caused a system crash when calling
snprintf with both buffer and stream set to NULL.
It is valid to call snprintf with a NULL buffer; nothing should
be outputted, but the string length should be measured.
2020-03-23 13:46:12 +00:00
Rajkumar Kanagaraj eb40dbcc20 Remove ARMC5 reference from Mbed OS platform 2020-03-19 10:48:14 -07:00
Martin Kojtal 4f45b95ca3
Merge pull request #12607 from facchinm/sys_stat_h_inclusion
Use toolchain's struct stat if available
2020-03-17 09:30:03 +01:00
Evelyne Donnaes ebf5d27788 Add "rtos-api" to bare metal 2020-03-16 11:40:49 +00:00
Anna Bridge 0699ac4e7e
Merge pull request #12571 from kjbracey-arm/noncopy
C++11-ify NonCopyable
2020-03-12 11:07:05 +00:00
Kevin Bracey bb733f1ee8 Callback updates
* Optimise clearing by adding `nullptr` overload. This overload means
  `Callback(NULL)` or `Callback(0)` will no longer work; users must
  use `Callback(nullptr)` or `Callback()`.
* Optimise clearing by not clearing storage - increases code size of
  comparison, but that is extremely rare.
* Reduce ROM used by trivial functors - share copy/destroy code.
* Config option to force trivial functors - major ROM saving by
  eliminating the "operations" table.
* Config option to eliminate comparison altogether - minor ROM saving by
  eliminating zero padding.
* Conform more to `std::function` API.
2020-03-11 15:46:03 +02:00
Anna Bridge 33f3049286
Merge pull request #12233 from bulislaw/minimal_printf_default
Enable minimal-printf by default for all builds
2020-03-10 12:13:11 +00:00
Martino Facchin b865d90bff Use toolchain's struct stat if available
Fixes https://github.com/arduino/ArduinoCore-nRF528x-mbedos/issues/49

The patch should be as safe as possible, since __has_include is guarded itself.
2020-03-10 10:17:41 +01:00
Kevin Bracey 489525c191 C++11-ify NonCopyable
Define copy operators public and deleted rather declaring them private
and undefined. Will give immediate compilation errors rather than
delayed linking errors.
2020-03-05 15:45:39 +02:00
Philipp Steiner 3dcd279fa1 correct comment 2020-03-05 09:13:55 +01:00
Philipp Steiner e3917e495a set mbed_set_error_hook() to deprecated 2020-03-05 08:49:17 +01:00
Philipp Steiner 17e8b9c756 Remove mbed_set_error_hook and replace with weak mbed_error_hook implementation 2020-03-04 12:21:22 +01:00
Martin Kojtal ba9496451a
Merge pull request #12554 from rajkan01/fliesys_remove_deprecated
Remove FileSystemLike deprecated APIs
2020-03-04 08:23:02 +00:00
Martin Kojtal b4034dc547
Merge pull request #12551 from rajkan01/mpm_remove_deprecated
Remove mbed power management deprecated API
2020-03-04 08:22:52 +00:00
Martin Kojtal b611de8b6b
Merge pull request #12550 from rajkan01/mbedint_remove_deprecated
Remove mbed interface deprecated API
2020-03-04 08:22:27 +00:00
Martin Kojtal 40fb45e4da
Merge pull request #12549 from rajkan01/fh_remove_deprecated
Remove FileHandle deprecated APIs
2020-03-04 08:21:52 +00:00
Martin Kojtal 6e6603f97d
Merge pull request #12534 from rajkan01/callchain_remove_deprecated
Remove the deprecated CallChain class and its APIs
2020-03-03 14:57:59 +00:00
Martin Kojtal 2dc5520c2b
Merge pull request #12553 from rajkan01/dh_remove_deprecated
Remove DirHandle deprecated APIs
2020-03-03 14:57:16 +00:00
Martin Kojtal d94965f38d
Merge pull request #12508 from evedon/ed-mprintf-stack-overflow
Fix minimal-printf stack overflow
2020-03-03 14:39:11 +00:00
Rajkumar Kanagaraj 2a1c641ad3 Remove FileSystemLike deprecated APIs 2020-03-02 16:20:02 -08:00
Rajkumar Kanagaraj dd9afdf77c Remove DirHandle deprecated APIs 2020-03-02 15:42:31 -08:00
Rajkumar Kanagaraj 35f1b4ab53 Remove mbed power management deprecated API 2020-03-02 15:06:26 -08:00
Evelyne Donnaes 5016fa1a10
Merge branch 'master' into minimal_printf_default 2020-03-02 17:31:37 +00:00
Evelyne Donnaes 0f2b0d1be5 Fixed greentea tests 2020-03-02 17:27:17 +00:00
Rajkumar Kanagaraj 5d0aab847e Remove mbed interface deprecated API 2020-03-02 09:00:01 -08:00
Rajkumar Kanagaraj 13a1130697 Remove the deprecated FileHandle APIs 2020-03-02 06:45:01 -08:00
Rajkumar Kanagaraj 6e969ec5ab Remove the deprecated CallChain class and its APIs. 2020-02-28 07:41:44 -08:00
Rajkumar Kanagaraj b3ba0905ac Remove the deprecated CriticalSectionLock APIs 2020-02-28 07:19:19 -08:00
Martin Kojtal 272c42d0fe
Merge pull request #12527 from rajkan01/atcmd_remove_deprecated
Remove the deprecated ATCmdParser APIs.
2020-02-28 09:48:05 +00:00
Martin Kojtal fc5f3259de
Merge pull request #12458 from GaborAbonyi/add_musca_b1_platform
Add Musca B1 target
2020-02-27 13:53:58 +00:00
Rajkumar Kanagaraj 72d2f40bff Remove the deprecated ATCmdParser APIs. 2020-02-27 04:51:36 -08:00
Martin Kojtal 32f615e420
Merge pull request #12495 from kjbracey-arm/override_serial
C++11-ify virtualisation in FileHandle + Serials
2020-02-25 16:00:43 +00:00
Evelyne Donnaes a02f4b4856 Fix minimal-printf stack overflow 2020-02-25 10:44:11 +00:00
Kevin Bracey c39959ca8b C++11-ify virtualisation in FileHandle + Serials
Use `override` and `final` where appropriate, and eliminate unnecessary
`virtual`.
2020-02-24 10:37:17 +02:00
Anna Bridge 8c17270306
Merge pull request #12480 from 0xc0170/fix_spdx
Fix SPDX identifiers and licenses (excluding features and targets)
2020-02-21 16:34:30 +00:00
Tamas Kaman 551c3c553c Add ARM_MUSCA_B1 as a new target platform
Musca-B1 is a Cortex-M33 based target with security extension enabled.

- ARM_MUSCA_B1 is the non-secure target running mbed-os.
- ARM_MUSCA_B1_S is the secure target running TF-M.
- TF-M sources were imported and patched in previous commits.
- TF-M secure bootloader (McuBoot) for MUSCA_B1 is submitted by a
  pre-built binary.
- A post-build hook concatenates The secure and non-secure binaries,
  signs it and then concatenates the bootloader with the signed binary.

Change-Id: I4b36290941b5f0bb7aa7c12dda2f38b5c1e39ae2
Signed-off-by: Tamas Kaman <tamas.kaman@arm.com>
Signed-off-by: Gabor Abonyi <gabor.abonyi@arm.com>
2020-02-21 14:34:39 +01:00
Martin Kojtal 9cb8a12cc2 fix SPDX identifier typos 2020-02-21 07:01:55 +00:00
Martin Kojtal 21ad8af815 platform: fix SPDX identifiers 2020-02-21 07:00:58 +00:00
Bartek Szatkowski 954f22bb52 minimal-printf: Disable float by default 2020-02-19 15:29:39 +00:00
Bartek Szatkowski f9be9dc5be minimal-printf: Explicitly print %ll[diuxX] when 64b disabled 2020-02-19 15:29:38 +00:00
Bartek Szatkowski 554a04ba5f minimal-printf: README updates 2020-02-19 15:29:38 +00:00
Bartek Szatkowski 30c947efbb Enable minimal-printf by default for all builds
Also reenable floating point by default.
2020-02-19 15:29:38 +00:00
David Lin d725b13906
Fixed typo: 'lenght' in minimal-printf
Note that the word 'lenght' is wrong,
so that 'lenght' should been replaced with 'length'.
2020-02-16 18:11:18 +08:00
Evelyne Donnaes ae57b4303e Fix thread_sleep_for zero 2020-02-06 15:19:18 +00:00
Maciej Bocianski 63d14f3af4 add dummy SUPER_REALLOC/CALLOC calls to alloc wrappers
This code prevents the ARMC6 compiler/linker from removing
SUB_REALLOC/CALLOC symbols from image when LTO is enabled

Fixes below error:
L6137E: Symbol $Sub$$calloc was not preserved by the LTO codegen but is needed by the image.
2020-02-04 12:29:53 +01:00
Maciej Bocianski 783953e5dc ARMC6 keep __user_setup_stackheap symbol when LTO enabled
Fix for the error L6915E: Library reports error: Heap was used, but no heap region was defined
2020-02-04 12:29:53 +01:00
Martin Kojtal 250e58134f
Merge pull request #12286 from pea-pod/target-nucleo_l452re-p
Add new target: NUCLEO_L452RE-P
2020-02-03 16:34:36 +00:00
Kevin Bracey d063902ee8
Merge pull request #12336 from SeppoTakalo/disable_writebuf
Disable write buffering on debug builds.
2020-01-31 16:24:04 +02:00
Kevin Bracey 65a5d1b682
Merge pull request #12326 from kjbracey-arm/systimer_abs_fix
Correct SysTimer absolute time calculations
2020-01-31 15:01:36 +02:00
Seppo Takalo c352488412 Disable write buffering on debug builds.
In mbed_start_application() there was a code that was supposed to
set DISDEFWBUF to one when running a debug build. However, this code
was in the wrong place, as this function is only called from
bootloader.

Move the code to correct place so that standalone applications use it
as well.

For the reference of DISDEFWBUF bit, see
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/CHDCBHEE.html
2020-01-30 16:19:28 +02:00
Kevin Bracey de915a034b Correct SysTimer absolute time calculations
`SysTimer::set_wake_time` incorrectly assumed that the `SysTimer`s tick
count and the underlying HAL timer had the same zero base. This normally
holds, at least approximately, in RTOS builds where the HAL timer starts
from zero at the same time the SysTimer is initialised.

But in bare metal builds, the HAL timer could be started some time
before the SysTimer, giving a significant discrepancy.

Beyond that, there's no requirement for HAL timers to start from zero in
the spec.

Record the HAL timer start time to get the conversion right.
2020-01-29 15:28:20 +02:00
Rajkumar Kanagaraj 16fcdaa56f minimal-printf: README correction
- Updated the README with "target.printf_lib"
2020-01-28 06:56:12 -08:00
pea-pod f7c4693747 Add new target: NUCLEO_L452RE-P 2020-01-27 18:41:18 -06:00
Rajkumar Kanagaraj f1e1375685 Fix for the missing retrieve error context function call.
- Add the function to retrieve error context after a fatal error is called at
   system initialisation for the bare metal profile.
2020-01-23 07:39:29 -08:00
Anna Bridge 706625a982
Merge pull request #12297 from evedon/ed-update-mprintf-doc
Corrected minimal-printf README
2020-01-23 12:12:37 +00:00
PARKJIHOON 8ab00df7b4 Adding Samsung Exynos i S111 target code.
Adding a new target of HW development kit using [Samsung Exynos i S111](https://www.samsung.com/semiconductor/minisite/exynos/products/iot/exynos-i-s111/) module to Mbed-OS.
This will widen the HW choices of Mbed-OS enabled NB-IoT, GNSS and Security (eFuse, AES, SHA-2, PKA, Secure Storage, Security Sub-System, [PUF](https://en.wikipedia.org/wiki/Physical_unclonable_function)) modules.
Target Name: S5JS100

Co-authored-by: Ivan Galkin <ivan.galkin@samsung.com>
Co-authored-by: Seokwon Lee <swon.lee@samsung.com>
Co-authored-by: Zhizhe Zhu <zhizhe.zhu@samsung.com>
Co-authored-by: Xinyi Zhao <xinyi.zhao@samsung.com>
2020-01-22 14:40:50 +09:00
Anna Bridge 40a0b28068
Merge pull request #12225 from evedon/ed-heap-stack-test
Fix baremetal heap and stack initialisation
2020-01-21 16:27:37 +00:00
Evelyne Donnaes 7205b73ada Corrected minimal-printf README 2020-01-21 16:21:05 +00:00
Anna Bridge 80fe861f1d
Merge pull request #12035 from kjbracey-arm/callback_prep
Preparation for Callback changes
2020-01-21 11:50:43 +00:00
Evelyne Donnaes 3e3af70afc Fixed baremetal heap and stack initialisation.
Enabled heap_and_stack test for baremetal.
Added a test to check that global variables are initialised.

In mbed_sdk_boot:
- Added initialisation for mbed_stack_isr_start/size and mbed_heap_start/size for all toolchains.
- ARM toolchain:
   - Added call to mbed_toolchain_init() to initialise global variables.
   - Moved microlib initialisation code from mbed_retarget.cpp to mbed_sdk_boot.c.
- IAR toolchain: there is no equivalent to a software init hook that can be called. __low_level_init() was used but since this function is called before RAM initialisation, it cannot be used to initialize global variables. Defined a new __mbed_init() function called from IAR startup file instead.
2020-01-21 10:13:16 +00:00
Martin Kojtal 18c941cc84
Merge pull request #12207 from hugueskamba/hk-add-buffered_serial
Add BufferedSerial class to replace UARTSerial
2020-01-16 10:06:22 +00:00
Hugues Kamba a74ffacf81 Remove usage of UARTSerial in Mbed OS Core diretories
Replace with BufferedSerial as UARTSerial has been deprecated.
2020-01-13 13:20:57 +00:00
Hugues Kamba 3b59f6ce4d Minimal-printf: Fix wrapping of printf functions for the ARM compiler
As the ARM compiler is in GNU compatible mode, it defines __GNU__ which
(based on pre-processor condition in  mbed_printf_implentation.h)
causes the printf functions to be wrapped using _wrap_* instead of
$Sub$$*.

This commit modifies the pre-processor
conditions to check for __GNUC__last in order to correctly
substitute the printf functions depending on the toolchain in use.

It also gets rid of $Super$$* substitution as it is not needed. $Super$$
is used to identify the original unpatched functions.

Missing substitutions for ARM compiler internal optimized "printfs" are
also added.
2020-01-13 11:24:57 +00:00
Kevin Bracey d6a48b5124 Turn NULLs into nullptr
Avoids overload problems with Callback(nullptr) versus Callback(fnptr).
2020-01-09 14:52:54 +02:00
Kevin Bracey 9577b0853b Add mstd_new for mstd::launder
Increasingly clever compilers can hit funny aliasing problems with
object stores like mbed::Callback. Add access to the C++17 launder
facility.
2020-01-09 14:52:50 +02:00
Martin Kojtal 8c4ed4a6cb
Merge pull request #11897 from kjbracey-arm/crc
MbedCRC: improve init value handling and tests
2020-01-09 13:31:30 +01:00
Martin Kojtal 222d31c2b6
Merge pull request #12037 from kjbracey-arm/sharedptr_move
SharedPtr: add move operations
2020-01-09 12:03:45 +01:00
Kevin Bracey 07d43b72d2 Add mstd::is_constant_evaluated
GCC 9 and sufficiently-new Clang (including ARM Compiler 6.13) give us
access to the C++20 (draft) `is_constant_evaluated` test. Allows us to
restrict code to compile-time only.

This is particularly useful when using assembler intrinsics, which the
compiler cannot optimise or compile-time evaluate. It allows us to write
something like

    constexpr uint32_t reverse_bits(uint32_t x)
    {
        if (is_constant_evaluated(x)) {
            // C code to do calculation here
            return x;
        } else {
            // an assembler intrinsic that cannot be optimised
            return __RBIT(x);
        }
    }

This can then be totally compile-time given a constant input.

(In this example, ultimately it would be a good idea to include this
functionality in CMSIS's GCC `__RBIT`, which needs it because GCC
requires use of assembler. Clang implements `__RBIT` as a built-in,
meaning it can already compute it at compile-time, so does not benefit.).
2020-01-08 13:36:17 +02:00
ccli8 ad80ed17fc [M2351] Change default stdio-baud-rate to 115200 2020-01-06 15:55:00 +08:00
Martin Kojtal fc2a71064d
Merge pull request #12068 from rajkan01/feature_bare_metal
Enabling small C library option and deprecating uARM toolchain
2020-01-03 11:35:48 +00:00
Martin Kojtal a7b312d687
Merge pull request #12175 from hugueskamba/hk-minimal-printf-fix-readme
Minimal-printf: Fix documentation as floating point is disabled by default
2020-01-02 10:11:47 +00:00
Hugues Kamba d3d1b74e79 Minimal-printf: Fix documentation as floating point is disabled by default 2019-12-30 11:28:16 +00:00
Heath Petersen a6b0909794 namespace and extern C don't need semicolon 2019-12-26 16:08:22 -06:00
Rajkumar Kanagaraj 957dca2082 Enabling small C library option and deprecating uARM toolchain
- By default, Mbed OS build tools use standard C library for all supported toolchains.
   It is possible to use smaller C libraries by overriding the "target.default_lib" option
   with "small". This option is only currently supported for the GCC_ARM toolchain.
   This override config option is now extended in the build tool for ARM toolchain.
 - Add configuration option to specify libraries supported for each toolchain per targets.
 - Move __aeabi_assert function from rtos to retarget code so it’s available for bare metal.
 - Use 2 memory region model for ARM toolchain scatter file for the following targets:
   NUCLEO_F207ZG, STM32F411xE, STM32F429xI, NUCLEO_L073RZ, STM32F303xE
 - Add a warning message in the build tools to deprecate uARM toolchain.
 - NewLib-Nano C library is not supporting floating-point and printf with %hhd,%hhu,%hhX,%lld,%llu,%llX
   format specifier so skipping those green tea test cases.
2019-12-19 10:05:11 -08:00
Anna Bridge fb8bbb83e4
Merge pull request #11997 from kjbracey-arm/rm_fp
Remove deprecated FunctionPointer class
2019-12-19 16:32:46 +00:00
Anna Bridge 806ad39648
Merge pull request #12101 from rajkan01/feature_crash_report_fix
Bare metal: Retrieve error context after crash
2019-12-17 16:27:59 +00:00
Anna Bridge 0770798bd2
Merge pull request #12048 from kjbracey-arm/sharedptr_nullptr
SharedPtr: add nullptr constructor
2019-12-17 16:21:54 +00:00
Anna Bridge 6b4262f7a0
Merge pull request #12032 from kjbracey-arm/fallthrough
Add MBED_FALLTHROUGH attribute
2019-12-17 16:20:35 +00:00
Anna Bridge d128ff4882
Merge pull request #11961 from hugueskamba/hk-add-unbuffered-serial-class
UnbufferedSerial: Introduce the class to replace RawSerial
2019-12-13 15:54:40 +00:00
Hugues Kamba 7b845409a0 UnbufferedSerial: Introduce the class to replace RawSerial
* Deprecate RawSerial.
* Introduce UnbufferedSerial to provide unbuffered I/O by implementing
  with a FileHandle interface for I/O	streams.
* Add Greentea test for the UnbufferedSerial class.
2019-12-12 08:44:09 +00:00
Antti Kauppila d5fdcfdab8 busy s... fix (ONME-4352)
oob handling added for OK in busy scenario

Fixed spellcheck error

trace added for ok
2019-12-12 09:36:34 +02:00
Rajkumar Kanagaraj f6a7f6587a Fixing the Mbed OS crash reporting and enable green tea test for bare metal.
Added missing mbed_error_initialize function call in bare metal boot code which is used
to retrieve the crash report from RAM in case of any previous abnormal re-boot but this function call is present in RTOS boot code.
2019-12-11 04:28:42 -08:00
Hugues Kamba 431f6cb604 Minimal Console: Use static pin map 2019-12-10 15:32:15 +00:00
Kevin Bracey 2b4b7232b7 SharedPtr: add nullptr constructor
For consistency with `std::shared_ptr`, and `mbed::Callback`, and as a
potential optimisation aid, give `SharedPtr` a distinct constructor for
`nullptr`.
2019-12-09 11:37:06 +02:00
Kevin Bracey 678ec0f3fb SharedPtr: add move operations
Optimise SharedPtr by giving it move constructor and assignment
operator.
2019-12-09 10:10:44 +02:00
Martin Kojtal 2536e9291d
Merge pull request #12034 from kjbracey-arm/systimer_warning
SysTimer: Suppress implicit virtual warning
2019-12-06 13:35:08 +01:00
Kevin Bracey a1bbbb8845 SysTimer: Suppress implicit virtual warning 2019-12-05 15:48:36 +02:00
Kevin Bracey d97460f8bb Add MBED_FALLTHROUGH attribute
C++17 standardised `[[fallthrough]]` for `switch` statements to suppress
compiler warnings. Provide access to it, or compiler-specific
alternatives.
2019-12-05 12:08:26 +02:00
Martin Kojtal 28caa43a91
Merge pull request #12025 from fkjagodzinski/fix-platform-unused_file
Platform: Delete an unused astyle output file
2019-12-04 12:37:26 +01:00
Filip Jagodzinski 001731c5af Platform: Delete an unused astyle output file 2019-12-04 10:16:24 +01:00
Martin Kojtal 2cf56b8f6d
Merge pull request #11891 from hugueskamba/hk-enable-minimal-printf-in-tools
minimal-printf: Enable using a target configuration parameter
2019-12-04 10:14:54 +01:00
Martin Kojtal 64d172c3bd
Merge pull request #11970 from kjbracey-arm/fault_crash
Avoid crashes during fault handler
2019-12-04 10:13:54 +01:00
Hugues Kamba d5aef28145 minimal-printf: Enable using a target configuration parameter 2019-12-03 12:31:51 +00:00
Martin Kojtal ad3647c191
Merge pull request #11957 from kjbracey-arm/crc-redo
MbedCRC and CRC HAL revisions (6.0 redo)
2019-12-03 13:21:36 +01:00
Martin Kojtal 25ca5d2a72
Merge pull request #11880 from kjbracey-arm/callback_variadic
Remove deprecated Callback methods
2019-12-03 09:04:55 +01:00
Martin Kojtal 111d1ca15e
Merge pull request #11962 from evva-sfw/feature/Bug_in_mbed_alloc_wrappers.cpp
Bug in mbed_alloc_wrappers.cpp
2019-12-02 16:16:16 +01:00
Kevin Bracey 60e07ef8d6 Remove deprecated FunctionPointer class 2019-12-02 15:53:47 +02:00
Kevin Bracey 0b28553ac2 Remove deprecated Callback methods 2019-12-02 15:27:10 +02:00
Kevin Bracey c67816b5ff 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-12-02 14:45:37 +02:00
Martin Kojtal d58e9d6e76
Merge pull request #11959 from hugueskamba/hk-fix-minimal-console
Minimal Console: Fix compilation error
2019-11-28 15:47:20 +01:00
Kevin Bracey fc05d51bcd Avoid crashes during fault handler
If the fault handler was hit before the stdio console was used and
initialised, the initialisation code caused a "mutex in ISR" trap,
stopping the register dump from happening.

Temporarily set the `error_in_progress` flag at the top of the fault
handler, and restore it before calling `mbed_error`. Take the
opportunity to suppress fault dumps on recursive crashes, much as is
done inside `mbed_error`.
2019-11-28 15:03:26 +02:00
Przemyslaw Stekiel b2dad08387 Change explicit pinmap to static pinmap 2019-11-28 08:32:12 +01:00
Przemyslaw Stekiel ba12228556 Explicit pinmap: Fix build failures reported by CI 2019-11-28 08:32:03 +01:00
Przemyslaw Stekiel d75cc97d80 Explicit pinmap - fix style 2019-11-28 08:32:02 +01:00
Przemyslaw Stekiel a7b298f353 mstd_cstddef: add C support and macros for C++11 2019-11-28 08:32:00 +01:00
Przemyslaw Stekiel 3d719f7e35 K64F, NUCLEO_F429ZI: Use explicit pinmap for console 2019-11-28 08:32:00 +01:00
Philipp Steiner 0b36529cfa replace #ifdef MBED_MEM_TRACING_ENABLED and #ifdef MBED_HEAP_STATS_ENABLED with #if MBED_MEM_TRACING_ENABLED and #if MBED_HEAP_STATS_ENABLED 2019-11-27 15:54:22 +01:00
Hugues Kamba 240758db42 Minimal Console: Fix compilation error
Build successfully when `platform.stdio-convert-tty-newlines` or
`platform.stdio-convert-newlines` are set to `true` by ensuring
`isatty()` is also included when `platform.stdio-minimal-console-only`
is set to `true`.
2019-11-27 12:17:03 +00:00
Martin Kojtal 394cf7a0eb
Merge pull request #11947 from hugueskamba/hk-fix-minimal-console
Minimal Console: Fix syntax errors
2019-11-27 11:30:08 +01:00
Hugues Kamba 72d5b51762 Minimal Console: Fix syntax errors 2019-11-26 14:09:01 +00:00
Martin Kojtal 5f7ecea00b
Revert "MbedCRC and CRC HAL revisions" 2019-11-26 13:45:37 +00:00
Martin Kojtal 2bde6581a6
Merge pull request #11720 from mtomczykmobica/ONME-4405
ATCmdParser: merge scanf and recv functions
2019-11-21 15:29:29 +01:00
Marcin Tomczyk 1d3a1b7c6c ATCmdParser: unittests implementation 2019-11-20 22:37:01 -08:00