Commit Graph

26716 Commits (b9d824d67cb15cf43a205aa5c78336aaa2aaeecf)

Author SHA1 Message Date
Kevin Bracey c5b9779858 Remote "static" from MBED_FORCEINLINE
Static keyword causes problems when trying to use force-inlined
functions from normal inlined functions. This is not legal:

    static inline void forced() { }

    inline void normal() { forced(); }

You cannot reference internal-linkage things from external-linkage
inline functions.

Removal of the static implies that in C there would need to be a
non-inline definition in case anyone calls it non-inlined, but if the
force attribute is doing its job, that should not happen.

Only significant in-tree user of the MBED_FORCEINLINE macro is
the atomic operations - making this change permits atomic operations
from non-static inline functions.
2019-06-27 16:12:30 +03:00
Kimmo Vaisanen df1d36ebb2 Increase dns-response-wait-time
In some cellular networks or with some modems, DNS response can take longer than 5 seconds to arrive.
2019-06-27 15:27:01 +03:00
Ron Eldor a58457d8a5 Port aes cc310 driver
Add support for CC310 AES driver,
returning `MBEDTLS_ERR_PLATFORM_FEATURE_UNSUPPORTED` for key size
other than 128 bits, and for AES modes not supported by the driver.
Use `MBEDTLS_CTR_DRBG_USE_128_BIT_KEY`.
2019-06-27 14:24:53 +03:00
Kimmo Vaisanen ff88a751f7 Fix netconn_recv_tcp_pbuf ARMC6 linker error
If "lwip.tcp-enabled" is set to false, ARMC6 compilation fails to error
Error: L6218E: Undefined symbol netconn_recv_tcp_pbuf

LWIP::socket_recv() is TCP socket specific method so implementation can be
enabled only when LWIP_TCP flag is set.
2019-06-27 14:18:07 +03:00
Kevin Bracey 80afc3a169 Add C++11/14 support utility file
As we start trying to use new facilities, we're likely to need some more
helpers.

In particular, ARM C 5 has no C++11 support in its library at all, so
to avoid totally breaking it we need some backup.

For the other toolchains, we can add a few C++17/C++20/TS extensions
into namespace mbed to make life a little easier.

* For ARM C 5: C++14 type_traits subset, std::move, std::forward,
  std::array, std::initializer_list, std::begin, std::end,
  std::align, std::maxalign_t, std::aligned_storage,
  alignof + alignas macro replacements.
* For ARM C 5: MBED_CONSTEXPR_FN_14 and MBED_CONSTEXPR_OBJ_14 to
  mark things that can only be constexpr in C++14 or later.
* For other compilers: mbed::void_t, mbed::type_identity,
  mbed::conjunction, mbed::disjunction, mbed::negation,
  mbed::experimental::nonesuch, mbed::experimental::is_detected family,
  mbed::remove_cvref, mbed::as_const.
2019-06-27 14:03:56 +03:00
Martin Kojtal 201a264051
Merge pull request #10791 from hugueskamba/fix-lpc55s69-bootloader-segmentation
bootloader: Fix LPC55S69 bootloader segmentation
2019-06-27 10:22:55 +01:00
Martin Kojtal eee8d0a768
Merge pull request #10781 from LMESTM/Idle_Stack_Size_For_Tickless
Include TICKLESS stack size increase even without LPTICKER_DELAY_TICKS
2019-06-27 10:21:45 +01:00
Martin Kojtal d4aab5669d
Merge pull request #10888 from devran01/issue/10883
Remove macro MBEDTLS_PSA_CRYPTO_C from PSA targets
2019-06-27 10:10:47 +01:00
Amanda Butler c497010a56 Edit ResetReason.h
Edit file for active voice, complete sentences and grammar.
2019-06-27 09:45:32 +01:00
Amanda Butler f8a6674afd Edit Watchdog.h
Edit file, mostly for active voice, consistent abbreviations, grammar and spelling.
2019-06-27 09:28:05 +01:00
Amanda Butler 9d5757eb52 Edit watchdog_api.h
Edit file, mostly for active voice, consistent tense and international spelling.
2019-06-27 09:26:42 +01:00
Amanda Butler bd5de8d769 Edit reset_reason_api.h
Edit file, mostly for correct grammar.
2019-06-27 09:23:45 +01:00
Tero Jääskö bae3043e92 cellular: AT: fix build on ARMCC5
ARMC5 failed to compile the code with debug-profile (!!) as va_list
is getting into std:: namespace when one includes <cstdarg>. Other
compilers seem to be more relaxed, and so is ARMC5 if compiled
with other profiles.

Add the explicit std:: to references of va_list.

While here, remove one extra copy of "#include "PlatformMutex.h""
and a "#include <stdarg.h>" which is kind of duplicate of
"#include <cstdarg>".

Error being fixed:
--8<--8<--8<--
Compile [ 81.8%]: ATHandler.cpp
[Error] ATHandler.h@552,0:  #20: identifier "va_list" is undefined
[Error] ATHandler.cpp@1226,0:  #147: declaration is incompatible with "void mbed::ATHandler::handle_args(const char *, <error-type>)"  (declared at line 552 of "./mbed-os/features/cellular/framework/AT/ATHandler.h")
[ERROR] "./mbed-os/features/cellular/framework/AT/ATHandler.h", line 552: Error:  #20: identifier "va_list" is undefined
"./mbed-os/features/cellular/framework/AT/ATHandler.cpp", line 1226: Error:  #147: declaration is incompatible with "void mbed::ATHandler::handle_args(const char *, <error-type>)"  (declared at line 552 of "./mbed-os/features/cellular/framework/AT/ATHandler.h")
./mbed-os/features/cellular/framework/AT/ATHandler.cpp: 0 warnings, 2 errors
2019-06-26 19:58:34 +03:00
Devaraj Ranganna 98fa63aa1a Update commit sha's
Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2019-06-26 17:01:07 +01:00
ThunderSoft_mbed_os edeeb33ba7
Update gpio_irq_api.c 2019-06-26 22:33:31 +08:00
Devaraj Ranganna 6e899b3cc9 TF-M patch/workaround related to (TF-M issue #T240)
- Link to bug tracking: https://developer.trustedfirmware.org/T240

The issue is fixed by TF-M team. However they autogenerate region details
(code, ro, rw, zi and stack ) using linker scripts and in mbed-os we
also autogenerate region details but using mix of service definition in
json file and other template files.

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2019-06-26 14:58:19 +01:00
Tero Jääskö 14bb4399b3 nanostack: silence compiler warnings for implicit virtual call_in
ARMCC reminds of the missing virtual declaration of call_in in the
Nanostack.h.

Warnings silenced:
---8<---8<---
Compile [ 52.3%]: LoWPANNDInterface.cpp
[Warning] Nanostack.h@278,0:  #1300-D: call_in inherits implicit virtual
Compile [ 52.4%]: NanostackEMACInterface.cpp
[Warning] Nanostack.h@278,0:  #1300-D: call_in inherits implicit virtual
Compile [ 52.5%]: MeshInterfaceNanostack.cpp
[Warning] Nanostack.h@278,0:  #1300-D: call_in inherits implicit virtual
Compile [ 52.6%]: NanostackEthernetInterface.cpp
[Warning] Nanostack.h@278,0:  #1300-D: call_in inherits implicit virtual
Compile [ 52.7%]: ThreadInterface.cpp
[Warning] Nanostack.h@278,0:  #1300-D: call_in inherits implicit virtual
ompile [ 53.0%]: WisunInterface.cpp
[Warning] Nanostack.h@278,0:  #1300-D: call_in inherits implicit virtual
2019-06-26 16:55:10 +03:00
Devaraj Ranganna 9a5110561a TF-M patch: Remove secure_fw/core/tfm_func_api.c which is required only
when TFM_PSA_API is not set

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2019-06-26 14:23:26 +01:00
Devaraj Ranganna cb748c5608 TF-M patch: Change #if TFM_PSA_API to #ifdef TFM_PSA_API to avoid
compiler errors as mbed-cli only generates "-D" macros only for
"macros" defined in targets.json

TF-M task link: https://developer.trustedfirmware.org/T396

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2019-06-26 14:23:26 +01:00
Martin Kojtal fa76620afd watchdog hal: remove space 2019-06-26 14:03:11 +01:00
Hugues Kamba b0804c4a0d bootloader: Fix LPC55S69 bootloader segmentation
As the build tool in mbed-os 5.13 cannot appropriately deal with a segmented
bootloader when combining it with an application, this commit adjusts the
size reserved for interrupts (via the linker file) to avoid a bootloader
segmentation due to an unpopulated ROM area.

The microcontroller has a total of 60 vector interrupts + 16 exception
handlers. The allocated ROM flash for interrupts should be (60 + 16) x word
size in bytes = 76 x 4 = 304 = 0x130.

This commit changes the interrupt reserved space from 0x140 to 0x130.
2019-06-26 13:55:07 +01:00
Darryl Green 8f6667d3d2 Add adjust-check-config script to mbedtls importer
In Mbed OS, there are configuration options with Mbed TLS that we
are more comfortable allowing than we do with Mbed TLS on its own.
Add a check-config adjusting script to enable removing or changing
options in check_config.h
2019-06-26 13:26:18 +01:00
Martin Kojtal 9cf7a9a327 watchdog: fix astyle issue
Missing a space after group and before license
2019-06-26 11:32:18 +01:00
Filip Jagodzinski 9935bdcb72 HAL: Watchdog: Update the header file
Minor doxygen fixes.
2019-06-26 09:58:31 +01:00
Filip Jagodzinski e2ba0bb533 ResetReason: Update the header file
Minor doxygen fixes.
2019-06-26 09:58:24 +01:00
Filip Jagodzinski f084bd5a9d HAL: ResetReason: Update the header file
Add defined & undefined behavior.
Minor doxygen fixes.
2019-06-26 09:58:18 +01:00
Kevin Bracey 013377a857 Revert back to non-variadic binding
Unwind previous commit and restore original behaviour for binding,
pending further investigation.

Some functions like `EventQueue::call` require precisely matching
argument types to get the correct overload, as before.

Others like `EventQueue::event` permit compatible types for binding, and
those handle the 0-5 bound arguments non-variadically in order to
correctly locate the free arguments in deduction.
2019-06-26 11:52:25 +03:00
Martin Kojtal e40a76575f watchdog: fix copyright 2019-06-26 09:43:21 +01:00
Martin Kojtal 8a7f5914f6
Merge pull request #10826 from ABOSTM/IAR_EXPORT_STM32H743ZI
Add STM32H743ZI to IAR export definition
2019-06-26 09:22:26 +01:00
Filip Jagodzinski a33536e78e HAL: Watchdog: Update the header file
Add a SPDX license identifier.
Add defined & undefined behavior.
2019-06-26 09:09:59 +01:00
Filip Jagodzinski 4e35e368b2 Test: watchdog_mgr: Remove dead code 2019-06-26 09:09:59 +01:00
Filip Jagodzinski 94181a9930 Test: update reset_reason driver test
Update the watchdog timing requirements:
1. The watchdog should trigger at, or after the timeout value.
2. The watchdog should trigger before twice the timeout value.

Use a SERIAL_FLUSH_TIME_MS value consistent with other tests.
2019-06-26 09:09:59 +01:00
Filip Jagodzinski ee202dafd8 Test: update HAL watchdog-timing test
Update the watchdog timing requirements:
1. The watchdog should trigger at, or after the timeout value.
2. The watchdog should trigger before twice the timeout value.
2019-06-26 09:09:59 +01:00
Filip Jagodzinski 81898af2b5 Test: update HAL watchdog-reset test
Update the watchdog timing requirements:
1. The watchdog should trigger at, or after the timeout value.
2. The watchdog should trigger before twice the timeout value.
Remove explicit calls to sleep.
2019-06-26 09:09:59 +01:00
Filip Jagodzinski 777a863ac8 Test: update HAL watchdog test
Update the watchdog timing requirements:
1. The watchdog should trigger at, or after the timeout value.
2. The watchdog should trigger before twice the timeout value.
2019-06-26 09:09:59 +01:00
Filip Jagodzinski 68e536b368 Test: update HAL reset_reason test
Update the watchdog timing requirements:
1. The watchdog should trigger at, or after the timeout value.
2. The watchdog should trigger before twice the timeout value.
2019-06-26 09:09:59 +01:00
Martin Kojtal 924af9481e
Merge pull request #10841 from VVESTM/vve_10827_spi_count
TARGET_STM: Add DEVICE_SPI_COUNT to use SPIs without interference
2019-06-26 09:09:38 +01:00
Martin Kojtal 68c3dc6161
Merge pull request #10864 from anttiylitokola/tlssocket-cert-debug-info
TLSSocket: print certificate info only when tracing is enabled
2019-06-26 09:09:15 +01:00
Martin Kojtal 5350948514
Merge pull request #10896 from hugueskamba/specify-arm-compiler-version-affected-by-uarm-fix
microlib support: Specify compiler version unable to build without the fix
2019-06-26 08:47:27 +01:00
Laurent Meunier 9e8871916d Allow target or application level definition of extra TICKLESS stack size
Adding a check to let application or target force increase idle thread
stack size.
2019-06-25 17:01:39 +02:00
Martin Kojtal b0073bb70d
Merge pull request #10774 from fkjagodzinski/fix-uart_irq
Fix serial IRQ handling
2019-06-25 15:49:41 +01:00
Hugues Kamba 4f38abf8dd microlib support: Specify compiler version unable to build without the fix 2019-06-25 15:44:02 +01:00
Martin Kojtal e9e9bf3f8d
Merge pull request #10879 from Patater/mbed-crypto-everywhere
PSA Crypto for all targets
2019-06-25 15:21:38 +01:00
Martin Kojtal 7954074613
Merge pull request #10704 from hugueskamba/fix-microlib-with-arm-compiler-6
microlib support: Fix build with Arm Compiler 6 and MicroLib
2019-06-25 15:18:57 +01:00
Kevin Bracey 62062efc37 Constrain context argument types
Previous commit just replaced instances of "class B0, class B1, class
C0, class C1" with "class... BoundArgs, class... ContextArgs".

This loses the requirement that the numbers must match.

Now, the original code was also inconsistent as to whether it used
separate types for the target function and the call input parameters.
Some forms just used B0, B1 as parameters rather than separate C0, C1.

I believe the separate parameters would have been primarily to avoid
template deduction confusion - eg if int was supplied to a B0 parameter
but the function took char as B0, there would be an ambiguity. But the
fix didn't seem to be fully applied.

Rewritten all templates parameterising on function pointer type and
input arguments so that they use `type_identity_t<BoundArgTs>...` as
input parameters to match the target function.

This has the subtle effect that any conversion happens at invocation,
before storing to the context, rather than when the context calls the
target.
2019-06-25 14:47:03 +03:00
Kevin Bracey 4d9148a9dc Reduce Event.h and EventQueue.h using C++11
Variadic templates can reduce Event.h from 4,100 lines to 300, and
EventQueue.h from 3,400 to 1,000, so 6,000 lines saved total.

End result isn't totally variadic, as we still need specialisations
for storing 0-5 values in contexts, but that specialisation is now
in exactly one place.

Only change other from switching to variadic templates is using
delegating constructors instead of the `new (this)` trick. That trick is
still used in the assignment operator.

Minor documentation correction. It's possible that the separate
simplified variadic Doxygen version not be needed now, but I've left it.
2019-06-25 13:48:39 +03:00
Martin Kojtal 6229322c64
Merge pull request #10846 from bulislaw/crc_doxy
MbedCRC doxygen fixes
2019-06-25 11:09:43 +01:00
Martin Kojtal fa2e0217f2
Merge pull request #10856 from jeromecoutant/PR_CRC_LO
STM32: enable CRC for all L0/L4/F7
2019-06-25 11:08:08 +01:00
Martin Kojtal 3d88bdde30
Merge pull request #10835 from OpenNuvoton/nuvoton_m23_fault-handler
M23: Fix compile error with mbed fault handler
2019-06-25 11:03:32 +01:00
Martin Kojtal 4b438ac1de
Merge pull request #10834 from tymoteuszblochmobica/udp
Fixed UDP sendto if IP version not match
2019-06-25 11:03:03 +01:00