Commit Graph

25240 Commits (ee95c7e64a925f6a390cbb489f913030ac4480cc)

Author SHA1 Message Date
Laurent Meunier ee95c7e64a STM32: lp_ticker optim: remove irq_handler variable 2019-07-01 09:33:23 +02:00
Laurent Meunier 8616cd7655 Update comments and fix typo 2019-07-01 09:33:23 +02:00
Laurent Meunier 501881bf38 Update warning now that C++ wrapper is not needed anymore
Now we'd rather not use this wrapper and use instead the low level
wrapper implemented in this driver.
2019-07-01 09:33:22 +02:00
Laurent Meunier 6397a6189f STM32 targets: remove tickless from us ticker and delay ticker
For L0/L4/H7/F7/WB targets that have tickless enabled, remove the tickless from
us ticker and the delay ticks as the C++ wrapper layer is being removed
and replaced by the low layer handling.

For now, the few F4 targets with LPTIM are left with previous configuration
as test results are showing a few instabilities not yet understood.
2019-07-01 09:33:22 +02:00
Laurent Meunier d4ec62ff0c Manage lp_ticker delay at low level
LP TICKER mbed-os wrapper needs to be disabled as it introduces too much latencies.

LP TICKER wrapper has been disabled and we need to managed the HW constraints at low level:
- main HW constraint is that once the comparator has been programmed once,
driver cannot program it again before CMPOK HW flag is set, which takes about 3 30us cycles.

To make it even more complex, the driver also needs to cope with "LP ticker workaround"

See commit:

LP ticker workaround

    There is an errata in LPTIM specification that explains that CMP Flag
    condition is not an exact match (COUNTER = MATCH) but rather a
    comparison (COUNTER >= MATCH).

Also the disable interrupt is more complete now:
- always check sleep manager status and restore it
- remove irq_handler as comparator is always programed and might get called
eventually when LP TICK is restarted
- reset delayed_prog

Also in set_interrupt, make sure interrupt does not fire early.
If needed, we decide to slightly delay the tick to cope with the HW limitation to
make sure it will fire as soon as HW is capable.

Functions are called under critical section as they may be called from
the IRQ handler now, not only from driver layer.
2019-07-01 09:31:53 +02:00
Laurent Meunier 6452eb3172 LP ticker workaround
There is an errata in LPTIM specification that explains that CMP Flag
condition is not an exact match (COUNTER = MATCH) but rather a
comparison (COUNTER >= MATCH).

As a consequence the interrupt is firing early than expected when
programing a timestamp after the 0xFFFF wrap-around.

In order to
work-around this issue, we implement the below work-around.
In case timestamp is after the work-around, let's decide to program the
CMP value to 0xFFFF, which is the wrap-around value. There would anyway be
a wake-up at the time of wrap-around to let the OS update the system time.
When the wrap-around interrupt happen, OS will check the current time and
program again the timestamp to the proper value.
2019-07-01 09:31:53 +02:00
Martin Kojtal 85c477c1dc
Merge pull request #10609 from kjbracey-arm/us_ticker_optimise
wait_us optimization
2019-06-28 14:29:00 +01:00
Martin Kojtal dfdf70b873
Merge pull request #10767 from maciejbocianski/msd_test_windows_unmount_fix
usb_device-msd test: fix powershell unmount script issue
2019-06-28 14:24:53 +01:00
Martin Kojtal 61c4d05ce9
Merge pull request #10824 from ABOSTM/PRSTM32_PWMWRTIE_GLITCH_10734
STM32: pwmout_write: configure channel only when not already enabled
2019-06-28 14:24:14 +01:00
Martin Kojtal a2c9152441
Merge pull request #10700 from LMESTM/hal_sleep_manager_test_update
Update HAL Sleep manager test to cope with STM32 LPTIM HW
2019-06-28 13:19:10 +01:00
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
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
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
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
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
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
Martin Kojtal 63d1ea36f1
Merge pull request #10821 from kivaisan/refactor_apn_db
Cellular: Refactor APN db implementation to reduce memory usage
2019-06-25 11:02:24 +01:00
Martin Kojtal e39aeff69e
Merge pull request #10706 from hugueskamba/fix-softcoding-mem-pool-size-evaluation
mem pool size: Fix calculation of memory pool size for portability
2019-06-25 10:59:56 +01:00
Martin Kojtal 34eefb49fa
Merge pull request #10858 from LMESTM/fix_cellular_properties
Check Cellular Properties have been set
2019-06-25 10:58:23 +01:00
Martin Kojtal a176bcb941
Merge pull request #10893 from 0xc0170/fix_permission_cellular
cellular: fix file permission
2019-06-25 10:11:55 +01:00
Devaraj Ranganna bd9d615897 Remove MBEDTLS_PSA_CRYPTO_C from PSA NS targets
Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2019-06-25 09:55:59 +01:00
Martin Kojtal 1c5909d48e
Merge pull request #10870 from maciejbocianski/i2c_add_guards
HAL I2C: adds missing DEVICE_I2C guards
2019-06-25 09:28:21 +01:00
Martin Kojtal c9bdcd6b16 cellular: fix file permission 2019-06-24 22:23:10 +01:00
Maciej Bocianski b4138d1102 usb_device-msd test: OS type detection fix 2019-06-24 22:12:20 +02:00
Filip Jagodzinski 8d8383b23c Tests: SleepManager: Fix test_check for NRF5X
Add missing `lp_ticker_clear_interrupt()` in the interrput handler used
in `test_lock_unlock_test_check()` test.
Remove redefined `us_to_ticks()`.
2019-06-24 18:24:01 +02:00
Martin Kojtal 979f26f74d
Merge pull request #10875 from mirelachirica/revert_ipv6_bg96
Cellular: Remove IPV6 and IPV4V6 as supported properties for BG96
2019-06-24 14:55:50 +01:00
Devaraj Ranganna cb8f2c07a1 1. Include MBEDTLS_CONFIG_FILE before evaluating MBEDTLS_PSA_CRYPTO_C
2. Remove macro MBEDTLS_PSA_CRYPTO_C from PSA targets

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2019-06-24 14:33:04 +01:00
Martin Kojtal 66b7165f38
Merge pull request #10845 from jeromecoutant/PR_TIMEOUT
Wrong timeout value in greentea tests
2019-06-24 12:18:34 +01:00
Martin Kojtal f2a7408334
Merge pull request #10866 from LMESTM/component_cellular_stmod
Adding stmod_cellular component
2019-06-24 12:16:29 +01:00
Martin Kojtal 13081a21ab
Merge pull request #10808 from mirelachirica/bg96_pdpdeact
Cellular: Added handling for BG96 network PDP context deactivation
2019-06-24 11:23:40 +01:00
Anna Bridge 15b5b5da23
Merge pull request #10694 from jarvte/set_authentication_type
Cellular: add method to set authentication type to CellularContext
2019-06-21 12:19:04 +01:00
Alexandre Bourdiol a339084684 STM32: pwmout_write: configure channel only when not already enabled
Fix PWM glitch on write(), TARGET_STM/pwmout_api.c, #10734
2019-06-20 17:49:16 +02:00
Jaeden Amero 24b1768f53 crypto: Enable use on non-PSA targets
Move PSA Crypto implementation files outside of a TARGET_PSA folder,
enabling use of PSA Crypto APIs on more Mbed OS targets.
2019-06-20 16:11:22 +01:00
Anna Bridge bf78dc4441
Merge pull request #10702 from LMESTM/Increase_stack_size_when_stats_enabled
Add extra idle debug stack size in case all STATS are enabled
2019-06-20 15:43:35 +01:00
Mirela Chirica ce6415bfce Cellular: Remove IPV6 and IPV4V6 as supported properties for BG96
IPV6 and IPV6V4 support is also network dependent not only modem.

Having these properties enabled for a modem requires a fallback
mechanism during PDP context activation. This mechanism is missing
at the moment and that can result in imposibility to establish
succesfull connection when network only supports IPV4 contexts.
2019-06-20 14:48:07 +03:00
Laurent Meunier 1e06ad0155 Astyle fixes 2019-06-20 10:12:31 +02:00
Laurent Meunier 3286472de9 Check Properties have been set 2019-06-20 09:23:48 +02:00
Maciej Bocianski fcde82ba4f HAL I2C: adds missing DEVICE_I2C guards 2019-06-19 23:08:55 +02:00