mbed-os/targets/TARGET_STM
Russ Butler 86e1d436e7 Alternate implementation of HAL_PCD_EP_Abort
Update the patch "Create HAL_PCD_EP_Abort" to fix bugs.
This patch adds the low level functions USB_EPStopXfer, USB_EPSetNak,
USB_EPClearNak and the high level function HAL_PCD_EP_Abort so that
transfers can be stopped.

The functions USB_EPSetNak and USB_EPClearNak allow nak to be enabled
or disabled for an endpoint, preventing or allowing further transfers.

The function USB_EPStopXfer stops pending reads and writes started by
USB_EPStartXfer along with clearing and masking any interrupts enabled
by USB_EPStartXfer.

The function HAL_PCD_EP_Abort aborts any transfers on the given
endpoint. When this function completes the transfer interrupt
is guarenteed not to fire for this endpoint. Furthermore, the size
of data transferred during an aborted read can be found by calling
the function HAL_PCD_EP_GetRxCount.

Other notes on this Change:

1.
Prior to this patch the interrupt USB_OTG_DOEPINT_EPDISD was not
handled. When an OUT endpoint was disabled this interrupt occurred
causing the CPU to get stuck repeatedly handling this interrupt. This
is because this interrupt was unmasked but nothing cleared this
interrupt. This patch also adds code to handle and clear this
interrupt to prevent a lockup.

2.
Stopping a transfer on an OUT endpoint requires global nak OUT to
be in effect. Even with this being done, having entries in the rx fifo
prevented an OUT endpoint from being disabled. This behavior is not
mentioned in the Reference Manual.
2019-02-22 10:53:18 -06:00
..
TARGET_STM32F0 Add HAL API for analog out pinmap 2019-02-08 09:10:05 -06:00
TARGET_STM32F1 NUCLEO_F103RB: replace CLOCK_SOURCE_USB by DEVICE_USBDEVICE 2019-02-22 10:53:15 -06:00
TARGET_STM32F2 Alternate implementation of HAL_PCD_EP_Abort 2019-02-22 10:53:18 -06:00
TARGET_STM32F3 Add HAL API for analog out pinmap 2019-02-08 09:10:05 -06:00
TARGET_STM32F4 STM32F4: replace CLOCK_SOURCE_USB by DEVICE_USBDEVICE 2019-02-22 10:53:15 -06:00
TARGET_STM32F7 Merge pull request #9307 from mtomczykmobica/ONME-3949 2019-02-19 14:09:24 +01:00
TARGET_STM32H7 Add HAL API for analog out pinmap 2019-02-08 09:10:05 -06:00
TARGET_STM32L0 Add HAL API for analog out pinmap 2019-02-08 09:10:05 -06:00
TARGET_STM32L1 Add HAL API for analog out pinmap 2019-02-08 09:10:05 -06:00
TARGET_STM32L4 Merge pull request #9777 from ashok-rao/MTB_STM_L475 2019-02-21 10:37:59 -06:00
PeripheralPins.h Use dedicated PinMap for each QSPI data line 2019-01-22 12:11:15 -06:00
PinNamesTypes.h TARGET_STM astyle 2018-06-27 14:21:07 +02:00
PortNames.h STM32: make PortNames.h a common file 2017-01-19 15:27:19 +01:00
README.md STM32 readme md file 2018-11-27 11:26:32 +01:00
analogin_api.c NUCLEO_H743ZI: add initial SDK 2019-01-04 10:03:36 +01:00
analogout_api.c STM32: analog_out: generalize code for multiple instance handling 2017-06-27 09:27:46 +02:00
can_api.c Add HAL API for can pinmap 2019-02-08 09:10:10 -06:00
gpio_api.c TARGET_STM astyle 2018-06-27 14:21:07 +02:00
gpio_irq_api.c STM32: Disabling of IRQs shared by multiple events 2018-09-07 14:48:02 +01:00
gpio_object.h Typo: update comment (GPIO_IP_WITHOUT_BRR) 2017-02-27 16:32:44 +01:00
hal_tick_overrides.c STM32: astyle check 2019-01-10 10:22:21 +01:00
i2c_api.c Add HAL API for i2c pinmap 2019-02-08 09:10:12 -06:00
lp_ticker.c STM32 LPTICKER (LPTIM): correct init execution after bootloader 2019-02-21 16:25:20 +01:00
mbed_crc_api.c stm32: fix indent style 2019-01-17 12:48:46 -06:00
mbed_overrides.c STM32 mbed_sdk_init update for easy maintenance 2018-12-04 11:08:33 +01:00
mbed_rtx.h NUCLEO_H743ZI: add initial SDK 2019-01-04 10:03:36 +01:00
nvic_addr.h TARGET_STM astyle 2018-06-27 14:21:07 +02:00
pinmap.c STM32 GPIO: use maximum speed 2019-02-04 15:32:15 +01:00
port_api.c STM32: Change Set_GPIO_Clock return type 2017-02-16 18:55:44 +01:00
pwmout_api.c Add HAL API for pwmout pinmap 2019-02-08 09:10:19 -06:00
qspi_api.c Add HAL API for qspi pinmap 2019-02-08 09:10:25 -06:00
rtc_api.c Revert "STM32 RTC : skip rtc_write if possible" 2018-12-21 13:12:34 +02:00
rtc_api_hal.h STM32 RTC : Prescaler calculation issue 2018-10-22 15:58:32 +02:00
serial_api.c Add HAL API for serial pinmap 2019-02-08 09:10:28 -06:00
serial_api_hal.h TARGET_STM astyle 2018-06-27 14:21:07 +02:00
sleep.c STM32 SLEEP update for easy maintenance 2018-12-04 11:08:31 +01:00
stm32_assert.h TARGET_STM astyle 2018-06-27 14:21:07 +02:00
stm_spi_api.c Add HAL API for spi pinmap 2019-02-08 09:10:37 -06:00
trng_api.c Don't use define checks on DEVICE_FOO macros (partner code) 2018-12-20 20:02:29 +11:00
us_ticker.c Add implementation of ticker_free() function to CI boards. 2018-08-02 09:48:10 +02:00

README.md

README for mbed-os STM32 targets

MBED Wiki pages

https://os.mbed.com/teams/ST/wiki/

STM32 Cube

https://www.st.com/en/embedded-software/stm32cube-mcu-packages.html

This table summarizes the STM32Cube versions currently used :

STM32 Serie Cube version
F0 1.9.0
F1 1.6.1
F2 1.6.0
F3 1.9.0
F4 1.19.0
F7 1.10.0
L0 1.10.0
L1 1.8.1
L4 1.11.0