Commit Graph

25804 Commits (34813edada29b51409d317e5830c20359801fc5c)

Author SHA1 Message Date
Ari Parkkila ac78b5ab16 Cellular: Fix to delete context just once 2019-07-23 03:04:24 -07:00
Seppo Takalo 3a96f436ea
Merge pull request #10847 from davidsaada/david_ps_add_sec_flags
PSA storage: Conform to "PSA 1.0.0" spec release
2019-07-23 12:05:22 +03:00
Seppo Takalo 6dfbe54389
Merge pull request #11069 from qVlad/add-sectors-for-stm32F446ZE
add defines sectors for STM32F446ZE
2019-07-23 12:02:18 +03:00
Seppo Takalo 25198ba056
Merge pull request #11070 from kjbracey-arm/iar_exception_warning
IAR: Suppress "exceptions are disabled" warning
2019-07-23 11:42:15 +03:00
Seppo Takalo 7dacafa076
Merge pull request #11076 from kjbracey-arm/mstd
ARMC5 <array> extensions
2019-07-23 11:38:34 +03:00
Seppo Takalo c505d25186
Merge pull request #11077 from bentcooke/52840_align
NRF52840: remove align instructions from gcc linker for ARM.extab exi…
2019-07-23 11:37:47 +03:00
int_szyk 4c13c469d9 Can compile without serial 2019-07-22 16:17:52 +02:00
Marcin Tomczyk 6cdb8f0f49 NVStore.cpp (and KVStore) - run-time failure handling missing 2019-07-22 15:04:20 +02:00
Seppo Takalo a0e88ad330
Merge pull request #11059 from desowin/dwarf
GCC ARM: Increase develop and release debug level
2019-07-22 15:31:24 +03:00
Seppo Takalo 13873f388c
Merge pull request #11062 from AGlass0fMilk/fix-nrf52-saadc-res-again
Fix SAADC resolution for nRF52-based targets... again
2019-07-22 15:30:11 +03:00
Seppo Takalo bec388ffb1
Merge pull request #11078 from bentcooke/52840_patch2
NRF52840: fix include path issues for ble pal cordio ll and gcc
2019-07-22 14:11:50 +03:00
Seppo Takalo 0e33dd7e62
Merge pull request #11080 from kyle-cypress/pr/cy8ckit-062s2-43012
Add target for CY8CKIT_062S2_43012
2019-07-22 14:09:33 +03:00
Seppo Takalo 0d6a3be91d
Merge pull request #11079 from bentcooke/52840_patch3
NRF52840: enable TRNG in Nordic SDK config
2019-07-22 14:07:41 +03:00
Seppo Takalo 5aff943a84
Merge pull request #11064 from NXPmicro/Update_LPC_GPIO_IRQ
MCUXpresso: Fix the LPC GPIO IRQ driver
2019-07-22 11:42:46 +03:00
Seppo Takalo 94f434227d
Merge pull request #11060 from NXPmicro/LPC_Update_SPI_Driver
MCUXpresso: Update LPC spi driver
2019-07-22 11:37:20 +03:00
Kyle Kearney 40557cefeb Add target for CY8CKIT_062S2_43012 2019-07-19 15:44:27 -07:00
Ben Cooke 36bd06c00a NRF52840: enable TRNG in Nordic SDK config 2019-07-19 13:24:12 -05:00
Ben Cooke 4273221919 NRF52840: fix include path issues for cordio ll and gcc 2019-07-19 12:09:31 -05:00
Ben Cooke 892adc6e91 nrf52840: remove align instructions from gcc linker for ARM.extab exidx sections 2019-07-19 10:22:05 -05:00
Kevin Bracey 940ed6c2b1 ARMC5 <array>: Add tuple interface 2019-07-19 17:24:14 +03:00
Kevin Bracey 0449e6f1a3 ARMC5 <array>: add comparison operators 2019-07-19 17:18:10 +03:00
Kevin Bracey 9f258c4798 ARMC5 <array>: remove not-working constexpr 2019-07-19 17:17:37 +03:00
Kevin Bracey fbf89272cc ARMC5 <array>: permit zero size 2019-07-19 17:17:07 +03:00
Seppo Takalo 77786926bc
Merge pull request #11039 from kjbracey-arm/mstd
Add <mstd_xxx> C++ headers
2019-07-19 13:00:41 +03:00
Seppo Takalo 8006d5f3c3
Merge pull request #11035 from Patater/update-to-mbedtls-2.18.1rc1
mbedtls: Update to Mbed TLS 2.18.1
2019-07-19 11:22:13 +03:00
Ari Parkkila 7a5e4ca5da Cellular: Fix BG96 power up 2019-07-18 23:13:36 -07:00
Neil Tuttle a372992aee PSOC6: USB device implementation 2019-07-18 11:16:16 -07:00
Kevin Bracey 852a626399 Add mstd_xxx headers to unit tests
Stripped down headers that route through to `std` forms more - eg
no local implementation of `atomic` or `mutex`.
2019-07-18 20:02:07 +03:00
Kevin Bracey 85cd3cd9cc Add C++17 uninitialized storage ops 2019-07-18 20:02:07 +03:00
Kevin Bracey f27c7ecb64 Add ARMC5 unique_ptr
Standard library implementation should be fine for other toolchains.
2019-07-18 20:02:07 +03:00
Kevin Bracey b1c35b7a86 Move Atomic.h to <mstd_atomic>
`mbed::Atomic<T>` becomes `mstd::atomic<T>`, alongside the other
standard C++ library lookalikes.
2019-07-18 20:02:07 +03:00
Kevin Bracey da3cd6f053 Add <mstd_mutex>
Add add-standard-as-possible version of C++11 <mutex>.

A lot of the stuff in there is generic, but the actual mutex classes and
call_once need to interface with the OS.

For those, they're not available in ARMC5 or IAR; retargetting would be
necessary for ARMC6 and GCC, and I've yet to investigate how whether
that's possible. So for now I'm using local implementations.

Although `Mutex` in principle could support `timed_mutex` and
`recursive_timed_mutex`, we don't have `chrono` for the time parameters,
so hold off for now.

For the generic stuff like mstd::unique_lock, they are aliased to
std::unique_lock where possible.
2019-07-18 20:02:07 +03:00
Kevin Bracey 0bb4c050b7 SingletonPtr: API extensions, make constexpr
* Adjust definition to make the default constructor `constexpr`.
  This permits use in classes that want lazy initialization and their
  own `constexpr` constructor, such as `mstd::mutex`.

* Add `get_no_init()` method to allow an explicit optimisation for
  paths that know they won be the first call (such as
  `mstd::mutex::unlock`).

* Add `destroy()` method to permit destruction of the contained object.
  (`SingletonPtr`'s destructor does not call its destructor - a cheat
  to omit destructors of static objects). Needed if using in a class
  that needs proper destruction.
2019-07-18 20:02:04 +03:00
Kevin Bracey 2078575bae IAR: Suppress "exceptions are disabled" warning
IAR compiler is outputting lots of warnings about exceptions being
disabled whenever it sees a "noexcept" keyword. We know, we know.
2019-07-18 19:59:41 +03:00
Vladislav Talanov f548388566 add defines sectors for STM32F446ZE 2019-07-18 18:07:12 +03:00
Kevin Bracey 0aab1a9ea1 Split mbed_cxxsupport.h up - add namespace mstd
Regularise the C++ support glue, adding `<mstd_type_traits>` etc.

These include the base toolchain file, backfill `namespace std` as much
as possible for ARM C 5, and then arrange to create unified
`namespace mstd`, which can incorporate toolchain bypasses
(eg `mstd::swap` for ARM C 5, or `mstd::atomic`), and include local
implementations of post-ARM C++14 stuff.

All APIs in `namespace mstd` are intended to function as their
`namespace std` equivalent, and their presence there indicates they
are functional on all toolchains, and should be safe to use in
an Mbed OS build (including not unreasonable memory footprint).

See README.md for more info.
2019-07-18 15:16:08 +03:00
Tomasz Moń 4e992cd901 GCC ARM: Increase develop and release debug level
Do not specify the debug level for develop and release profiles. Instead
rely on the compiler to choose sensible default (-g2). Note that -g1 is
minimal debugging information and does not include structure definitions
which quite heavily reduces debugging experience.

For develop and release profiles this results in elf file containing
structure definitions. This does not impact debug profile as it already
did use -g3 which is the highest debug level.

Compatible debuggers (eg. gdb, SEGGER Ozone) can use the extra information
to provide better debugging experience. For example, when compiled .elf is
loaded in gdb, this change makes it trivial to access internal RTX data.

Without this change on develop profile:
  (gdb) print osRtxInfo.thread.run
  'osRtxInfo' has unknown type; cast it to its declared type

With this change on develop profile:
  (gdb) print osRtxInfo.thread.run
  $1 = {curr = 0x20014F04, next = 0x20014F04}
2019-07-18 12:03:13 +02:00
Kevin Bracey de7e72befe astyle: exclude platform/cxxsupport
As something of a cheat, exclude platform/cxxsupport from astyle.

astyle really can't process the sort of template metaprogramming going
on in there; treat it as a "black box" like the toolchains' own
libraries.
2019-07-18 11:50:13 +03:00
Kevin Bracey 6fc767dc71 Make tools cope with no-extension headers
Treat files with no extension as headers, if they are in the cxxsupport
folder.
2019-07-18 11:50:13 +03:00
Kevin Bracey 7c849cb664 C++ invoke related stuff
For all compilers add post-C++14 stuff to namespace mbed:

* invoke, invoke_result, is_invocable, is_invocable_r,
  is_nothrow_invocable, is_nothrow_invocable_r, unwrap_reference,
  unwrap_ref_decay

For ARM C 5, add C++11 bits based on above to namespace std:

* result_of, reference_wrapper, ref, cref, mem_fn
2019-07-18 11:50:13 +03:00
Kevin Bracey e5a3f976c2 Add TOOLCHAIN_ARMC5 label
We have some files that are needed for ARMC5 only.
2019-07-18 11:50:13 +03:00
Seppo Takalo 2f136b977f
Merge pull request #11058 from paul-szczepanek-arm/make-weak-fix
BLE: allow overriding event signal
2019-07-17 23:30:16 +03:00
Mahesh Mahadevan 34619e55a6 MCUXpresso: Fix the LPC GPIO IRQ driver
The IRQ disable was always disabling both rising
and falling edges of the interrupt thereby causing
failures in cases when one of the two should stay enabled.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-07-17 15:18:59 -05:00
Seppo Takalo 12d60f86ea
Merge pull request #11050 from jeromecoutant/PR_DISCO_L4R9I
DISCO_L4R9I new target
2019-07-17 23:15:45 +03:00
Seppo Takalo 4cdde1d07f
Merge pull request #11052 from NXPmicro/Update_LPC546XX_ADC
Update MCUXpresso AnalogIn driver for LPC devices
2019-07-17 23:14:35 +03:00
Seppo Takalo fa9a3ed05f
Merge pull request #11053 from maclobdell/psoc6-add-bootloader-support
Add Mbed bootloader support to CY8CKIT_062_WIFI_BT and CY8CPROTO_062_4343W
2019-07-17 23:12:11 +03:00
Balaji 69782a4ca6 LwIP: make TCPIP_THREAD_PRIO configurable 2019-07-17 18:51:45 +03:00
George Beckstein 7ff707c9b4 Fix SAADC resolution for nRF52-based targets... again 2019-07-17 11:43:20 -04:00
Seppo Takalo 3d5489a6f8
Merge pull request #10644 from fkjagodzinski/hal-gpio_pinmap
Add a gpio pinmap
2019-07-17 14:39:40 +03:00
Seppo Takalo 987533859a
Merge pull request #10104 from kjbracey-arm/sleep_api
Sleep rework, RTOS API for bare metal, wait deprecations
2019-07-17 14:37:53 +03:00