Fixed TMR_SelectOCxMode: clearing CCEN disabled every channel. Only the selected CCxE bit is cleared.
Updated TMR_ConfigTimeBase: CLKDIV is written only on timers that have the field. TMR6 and TMR7 are skipped.
RCM
Fixed RCM_ConfigRTCCLK: when HSE is the RTC clock, RTCPSC is written before RTCSRCSEL selects HSE.
SPI / I2S
Fixed SPI_Config: I2SCFG.MODESEL is cleared so the peripheral stays in SPI mode.
Fixed I2S_Config: the bit clock is taken from PLLI2S, or from I2S_EXTERNAL_CLOCK_VAL when that macro is defined. It is no longer derived from SYSCLK.
SMC
Fixed SMC_ConfigNORSRAM: WRAPBEN is programmed on all four NOR/SRAM banks.
RTC
Fixed RTC_ReadAlarm: date, hour, minute, and second mask bits are returned in bit 31, 23, 15, and 7.
GPIO
Fixed GPIO_Mode_AIN: the compatibility macro now maps to GPIO_MODE_AN.
GPIO_AF_I2S3ext is defined only for APM32F411xx, so it no longer overrides the F407/F417 alternate function.
FMC
Fixed FMC_CTRL_SNUM: the sector-number mask is 0x78 (bits 6:3).
Renamed PMC_RDP_KEY to FMC_RDP_KEY.
DCI
Fixed DCI_Config: DCIEN and CEN are cleared before the capture configuration is written.
EINT
EINT_Config_T.line is uint32_t, so several lines can be combined in one configuration.
ETH
Renamed ETH_RECEIVEAll_DISABLE to ETH_RECEIVEALL_DISABLE.
DMC
Renamed DMC_EnterSlefRefreshMode / DMC_ExitSlefRefreshMode to DMC_EnterSelfRefreshMode / DMC_ExitSelfRefreshMode.
QSPI
Renamed QSPI_ConfigTansMode to QSPI_ConfigTransMode.
QSPI_FLAG_DCE and the master interrupt flags are compiled only for APM32F411xx.
USART
Fixed USART_EnableDMA / USART_DisableDMA: only the requested RX or TX DMA request is changed. The other direction is left unchanged.
USB
Fixed host port accesses. USB_OTG_H_ReadPortReg writes the RC_W1 change flags and PEN as 0 before the value is written back. Port power, port reset, and the connect, enable-change, and overcurrent flags use this value. Writing 1 to PEN disables the port.
Fixed USB_OTG_D_ClearOutEpIntStatus / USB_OTG_D_ClearInEpIntStatus: the selected flags are written directly, so other pending flags in the same endpoint register stay set. DOEPINT and DIEPINT are read as full 32-bit values. The OUT endpoint handler also clears RXOTPR and NAK.
Fixed USBD_OTGIsrHandler: the captured GINT value is written back. Clearing the session-end flag no longer clears the other OTG flags in that register.
Fixed USBD_EP_XferStart: isochronous IN and OUT endpoints set DPIDSET on an odd SOF frame and OFSET on an even frame.