Commit Graph

1977 Commits (6cd60178faa4cf46e30e76127db0c54eb5d4af06)

Author SHA1 Message Date
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 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
Seppo Takalo 8efd123776
Merge pull request #11042 from caoyuan96421/bugfix
Fixed serial_device IRQ infinite loop bug due to uint8_t overflowing in STM devices
2019-07-17 14:33:21 +03:00
jeromecoutant 1a835dda4a DISCO_L4R9I new target 2019-07-15 14:06:40 +02:00
Seppo Takalo b22641ca18 Normalize line endings for IM880B startup files. 2019-07-15 14:56:22 +03:00
Kevin Bracey a522dcfa0a Replace deprecated wait calls 2019-07-15 10:13:50 +03:00
Yuan Cao 6ed21ee1c0 Fixed serial_device IRQ infinite loop bug due to uint8_t overflowing 2019-07-13 00:05:25 -04:00
Tymoteusz Bloch 878c93673b Reverted "K64F, STM32F429: IAR linker scripts dynamic heap fix"
due to side effect with K64F bootloader application jump after three consecutive HW resets.
2019-07-10 13:30:40 +02:00
Martin Kojtal 647b5817ce
Merge pull request #10982 from jeromecoutant/PR_LPUART
STM32 LPUART minor update  for easy maintenance
2019-07-09 08:33:06 +01:00
Arto Kinnunen 1264660314
Merge pull request #10972 from 0xc0170/test_target
add new target IM880B
2019-07-08 16:34:36 +03:00
jeromecoutant 8a3fd6a040 STM32 LPUART update 2019-07-05 17:52:41 +02:00
jeromecoutant 8b6d0920a8 STM32H7: Reset Reason update 2019-07-05 14:44:45 +02:00
jeromecoutant aa31b1268a STM32H7 watchdog patch 2019-07-05 14:44:43 +02:00
jeromecoutant da9b919268 STM32H7: Increase watchdog timeout value 2019-07-05 14:44:41 +02:00
jeromecoutant 3384cea281 STM32H7 : add LSI 2019-07-05 14:44:39 +02:00
itziar c327f4f070 add new target IM880B 2019-07-05 09:19:51 +01:00
Martin Kojtal 608e4c245f
Merge pull request #10938 from tymoteuszblochmobica/iar
K64F, STM32F429: IAR linker scripts dynamic  heap fix
2019-07-03 12:00:35 +01:00
Martin Kojtal ccb63d771e
Merge pull request #10857 from ARMmbed/feature-watchdog
Add Watchdog and ResetReason
2019-07-03 11:43:52 +01:00
Martin Kojtal a84c239830
Merge pull request #10701 from LMESTM/STM_lp_ticker_low_level_wrapper
STM: replace C++ low power ticker wrapper with a low level wrapper
2019-07-02 12:50:11 +01:00
Tymoteusz Bloch 83057c95d0 IAR icf linker scripts modified to use dynamic heap allocation of all available memory. 2019-07-01 17:57:40 +02:00
Kevin Bracey 1ced842391 STM: Correct macro test in us_ticker_defines.h
Avoids build warning caused by #10609
2019-07-01 13:34:55 +03:00
Martin Kojtal be2c2bed30
Merge pull request #10884 from jeromecoutant/PR_H743ZI2
NUCLEO_H743ZI2 new target support
2019-07-01 09:27:31 +01:00
Martin Kojtal 9e0dc3e198
Merge pull request #10859 from malavikasajikumar/master
Removing I2C and SPI pin names in SDP-K1 PinNames.h file.
2019-07-01 09:23:06 +01:00
Laurent Meunier 58a4685811 STM32: lp_ticker optim: initialize handle once only 2019-07-01 09:33:23 +02:00
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 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 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 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 b0073bb70d
Merge pull request #10774 from fkjagodzinski/fix-uart_irq
Fix serial IRQ handling
2019-06-25 15:49:41 +01:00
jeromecoutant d2ea0f9432 NUCLEO_H743ZI2 new target support 2019-06-24 11:00:58 +02: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
Malavika Sajikumar 6632282b4a Removing I2C and SPI pin names in SDP-K1 PinNames.h file.
This is to ensure the use of Arduino pin names Dxx for I2C and SPI pins in programs written for SDP-K1 board.
2019-06-18 08:15:01 -07:00
Vincent Veron 31eb49b918 TARGET_STM: Add DEVICE_SPI_COUNT to use SPIs without interference
Extend to all STM targets the work done on PR10752.

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2019-06-14 14:15:56 +02:00
Kevin Bracey 8d15a2342f STM: optimize us_ticker
Provide new optimizations for us_ticker and wait_us.
2019-06-14 10:22:08 +03:00
Martin Kojtal 5a8f795976
Merge pull request #10804 from VVESTM/vve_fix_10589
TARGET_STM: SPI: update pull up config depending on clk polarity
2019-06-14 07:45:25 +01:00
Martin Kojtal 09ea361c7e
Merge pull request #10790 from jeromecoutant/PR_H7_LPUART
STM32H7 enable LPUART
2019-06-11 09:06:22 +01:00
Martin Kojtal 94d2a42fd5
Merge pull request #10793 from jeromecoutant/PR_STM32WARNING
STM32: remove compilation warnings
2019-06-11 07:36:47 +01:00
Martin Kojtal 9dfc8d0ea7
Merge pull request #10775 from jeromecoutant/PR_H7_REFACTOR
STM32H7: refactor TARGET directory
2019-06-09 18:22:04 +01:00
Martin Kojtal 356c4fb7cb
Merge pull request #10758 from toyowata/stm32f407xe
Move Seeed ARCH_MAX to TARGET_STM32F407xE MCU
2019-06-09 18:20:03 +01:00
Martin Kojtal 9ab0e09699
Merge pull request #10752 from teijokinnunen/stm32l0_target_spi_count
STM32L0: Add DEVICE_SPI_COUNT to DISCO_L072CZ_LRWAN1 + MTB_MURATA_ABZ
2019-06-09 18:19:34 +01:00
Martin Kojtal ced4c3f4e4
Merge pull request #10708 from VVESTM/vve_fix_10671
TARGET_STM: SPI: add pulse on master transmissions
2019-06-09 18:10:42 +01:00
jeromecoutant 5ac7c8c77e STM32WB warning compilation
[-Wparentheses-equality]
2019-06-07 18:11:16 +02:00
jeromecoutant ddcc63276a STM32H7 warning compilation
[-Wparentheses-equality]
2019-06-07 18:11:04 +02:00
jeromecoutant 39ee51a017 STM32L4 warning compilation
[-Wparentheses-equality]
2019-06-07 18:10:17 +02:00
jeromecoutant 43a304351a STM32L1 warning compilation
[-Wparentheses-equality]
2019-06-07 18:10:17 +02:00
jeromecoutant daf8d114c4 STM32L0 warning compilation
[-Wparentheses-equality]
2019-06-07 18:10:17 +02:00