From 52757b5e33259a088509a777a9e3a5b971194c7d Mon Sep 17 00:00:00 2001 From: Eya Date: Tue, 5 Jul 2022 11:07:36 +0100 Subject: [PATCH] Release v1.27.1 --- Drivers/CMSIS/Device/ST/STM32F4xx/README.md | 11 +- .../Inc/Legacy/stm32_hal_legacy.h | 76 +++-- .../Inc/stm32f4xx_hal_conf_template.h | 4 +- .../Inc/stm32f4xx_hal_eth.h | 283 +++++++++--------- Drivers/STM32F4xx_HAL_Driver/README.md | 16 +- .../STM32F4xx_HAL_Driver/Release_Notes.html | 86 ++++-- .../STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c | 4 +- .../Src/stm32f4xx_hal_eth.c | 198 +++++++++--- Release_Notes.html | 240 ++++++++------- _htmresc/ReleaseNotes.html | 5 +- _htmresc/ReleaseNotes_Patch.html | 34 +-- _htmresc/STM32Cube.bmp | Bin 2246766 -> 1802394 bytes package.xml | 4 +- 13 files changed, 553 insertions(+), 408 deletions(-) diff --git a/Drivers/CMSIS/Device/ST/STM32F4xx/README.md b/Drivers/CMSIS/Device/ST/STM32F4xx/README.md index 9270214c4..1c317afb3 100644 --- a/Drivers/CMSIS/Device/ST/STM32F4xx/README.md +++ b/Drivers/CMSIS/Device/ST/STM32F4xx/README.md @@ -27,16 +27,7 @@ Details about the content of this release are available in the release note [her ## Compatibility information -In this table, you can find the successive versions of this CMSIS Device component, in-line with the corresponding versions of the full MCU package: - -CMSIS Device F4 | CMSIS Core | Was delivered in the full MCU package ---------------- | ---------- | ------------------------------------- -Tag v2.6.5 | Tag v5.4.0_cm4 | Tag v1.25.0 -Tag v2.6.5 | Tag v5.4.0_cm4 | Tag v1.25.1 -Tag v2.6.5 | Tag v5.4.0_cm4 | Tag v1.25.2 -Tag v2.6.6 | Tag v5.4.0_cm4 | Tag v1.26.0 -Tag v2.6.7 | Tag v5.4.0_cm4 | Tag v1.26.2 -Tag v2.6.8 | Tag v5.4.0_cm4 | Tag v1.27.0 +It is **crucial** that you use a consistent set of versions for the CMSIS Core - CMSIS Device, as mentioned in [this](https://htmlpreview.github.io/?https://github.com/STMicroelectronics/STM32CubeF4/blob/master/Release_Notes.html) release note. The full **STM32CubeF4** MCU package is available [here](https://github.com/STMicroelectronics/STM32CubeF4). diff --git a/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h b/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h index 1cfd19b94..934f1f971 100644 --- a/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h +++ b/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h @@ -37,14 +37,16 @@ extern "C" { #define AES_CLEARFLAG_CCF CRYP_CLEARFLAG_CCF #define AES_CLEARFLAG_RDERR CRYP_CLEARFLAG_RDERR #define AES_CLEARFLAG_WRERR CRYP_CLEARFLAG_WRERR -#if defined(STM32U5) +#if defined(STM32U5) || defined(STM32H7) || defined(STM32MP1) #define CRYP_DATATYPE_32B CRYP_NO_SWAP #define CRYP_DATATYPE_16B CRYP_HALFWORD_SWAP #define CRYP_DATATYPE_8B CRYP_BYTE_SWAP #define CRYP_DATATYPE_1B CRYP_BIT_SWAP +#if defined(STM32U5) #define CRYP_CCF_CLEAR CRYP_CLEAR_CCF #define CRYP_ERR_CLEAR CRYP_CLEAR_RWEIF #endif /* STM32U5 */ +#endif /* STM32U5 || STM32H7 || STM32MP1 */ /** * @} */ @@ -110,6 +112,7 @@ extern "C" { #define ADC_SAMPLETIME_391CYCLES_5 ADC_SAMPLETIME_391CYCLES #define ADC4_SAMPLETIME_160CYCLES_5 ADC4_SAMPLETIME_814CYCLES_5 #endif /* STM32U5 */ + /** * @} */ @@ -231,8 +234,11 @@ extern "C" { /** @defgroup CRC_Aliases CRC API aliases * @{ */ +#if defined(STM32C0) +#else #define HAL_CRC_Input_Data_Reverse HAL_CRCEx_Input_Data_Reverse /*!< Aliased to HAL_CRCEx_Input_Data_Reverse for inter STM32 series compatibility */ #define HAL_CRC_Output_Data_Reverse HAL_CRCEx_Output_Data_Reverse /*!< Aliased to HAL_CRCEx_Output_Data_Reverse for inter STM32 series compatibility */ +#endif /** * @} */ @@ -499,7 +505,7 @@ extern "C" { #define OB_RDP_LEVEL0 OB_RDP_LEVEL_0 #define OB_RDP_LEVEL1 OB_RDP_LEVEL_1 #define OB_RDP_LEVEL2 OB_RDP_LEVEL_2 -#if defined(STM32G0) +#if defined(STM32G0) || defined(STM32C0) #define OB_BOOT_LOCK_DISABLE OB_BOOT_ENTRY_FORCED_NONE #define OB_BOOT_LOCK_ENABLE OB_BOOT_ENTRY_FORCED_FLASH #else @@ -568,7 +574,6 @@ extern "C" { #define HAL_SYSCFG_DisableIOAnalogSwitchVDD HAL_SYSCFG_DisableIOSwitchVDD #endif /* STM32G4 */ - /** * @} */ @@ -668,6 +673,10 @@ extern "C" { #if defined(STM32U5) #define GPIO_AF0_RTC_50Hz GPIO_AF0_RTC_50HZ #endif /* STM32U5 */ +#if defined(STM32U5) +#define GPIO_AF0_S2DSTOP GPIO_AF0_SRDSTOP +#define GPIO_AF11_LPGPIO GPIO_AF11_LPGPIO1 +#endif /* STM32U5 */ /** * @} */ @@ -1080,8 +1089,8 @@ extern "C" { #define RTC_TAMPER1_2_3_INTERRUPT RTC_ALL_TAMPER_INTERRUPT #define RTC_TIMESTAMPPIN_PC13 RTC_TIMESTAMPPIN_DEFAULT -#define RTC_TIMESTAMPPIN_PA0 RTC_TIMESTAMPPIN_POS1 -#define RTC_TIMESTAMPPIN_PI8 RTC_TIMESTAMPPIN_POS1 +#define RTC_TIMESTAMPPIN_PA0 RTC_TIMESTAMPPIN_POS1 +#define RTC_TIMESTAMPPIN_PI8 RTC_TIMESTAMPPIN_POS1 #define RTC_TIMESTAMPPIN_PC1 RTC_TIMESTAMPPIN_POS2 #define RTC_OUTPUT_REMAP_PC13 RTC_OUTPUT_REMAP_NONE @@ -1092,15 +1101,22 @@ extern "C" { #define RTC_TAMPERPIN_PA0 RTC_TAMPERPIN_POS1 #define RTC_TAMPERPIN_PI8 RTC_TAMPERPIN_POS1 +#if defined(STM32F7) +#define RTC_TAMPCR_TAMPXE RTC_TAMPER_ENABLE_BITS_MASK +#define RTC_TAMPCR_TAMPXIE RTC_TAMPER_IT_ENABLE_BITS_MASK +#endif /* STM32F7 */ + #if defined(STM32H7) #define RTC_TAMPCR_TAMPXE RTC_TAMPER_X #define RTC_TAMPCR_TAMPXIE RTC_TAMPER_X_INTERRUPT +#endif /* STM32H7 */ +#if defined(STM32F7) || defined(STM32H7) #define RTC_TAMPER1_INTERRUPT RTC_IT_TAMP1 #define RTC_TAMPER2_INTERRUPT RTC_IT_TAMP2 #define RTC_TAMPER3_INTERRUPT RTC_IT_TAMP3 -#define RTC_ALL_TAMPER_INTERRUPT RTC_IT_TAMPALL -#endif /* STM32H7 */ +#define RTC_ALL_TAMPER_INTERRUPT RTC_IT_TAMP +#endif /* STM32F7 || STM32H7 */ /** * @} @@ -3407,7 +3423,7 @@ extern "C" { #define RCC_MCOSOURCE_PLLCLK_NODIV RCC_MCO1SOURCE_PLLCLK #define RCC_MCOSOURCE_PLLCLK_DIV2 RCC_MCO1SOURCE_PLLCLK_DIV2 -#if defined(STM32L4) || defined(STM32WB) || defined(STM32G0) || defined(STM32G4) || defined(STM32L5) || defined(STM32WL) +#if defined(STM32L4) || defined(STM32WB) || defined(STM32G0) || defined(STM32G4) || defined(STM32L5) || defined(STM32WL) || defined(STM32C0) #define RCC_RTCCLKSOURCE_NO_CLK RCC_RTCCLKSOURCE_NONE #else #define RCC_RTCCLKSOURCE_NONE RCC_RTCCLKSOURCE_NO_CLK @@ -3520,8 +3536,8 @@ extern "C" { #define RCC_DFSDM2CLKSOURCE_APB2 RCC_DFSDM2CLKSOURCE_PCLK2 #define RCC_FMPI2C1CLKSOURCE_APB RCC_FMPI2C1CLKSOURCE_PCLK1 #if defined(STM32U5) -#define MSIKPLLModeSEL RCC_MSIKPLL_MODE_SEL -#define MSISPLLModeSEL RCC_MSISPLL_MODE_SEL +#define MSIKPLLModeSEL RCC_MSIKPLL_MODE_SEL +#define MSISPLLModeSEL RCC_MSISPLL_MODE_SEL #define __HAL_RCC_AHB21_CLK_DISABLE __HAL_RCC_AHB2_1_CLK_DISABLE #define __HAL_RCC_AHB22_CLK_DISABLE __HAL_RCC_AHB2_2_CLK_DISABLE #define __HAL_RCC_AHB1_CLK_Disable_Clear __HAL_RCC_AHB1_CLK_ENABLE @@ -3537,15 +3553,20 @@ extern "C" { #define RCC_CLK48CLKSOURCE_PLL2 RCC_ICLK_CLKSOURCE_PLL2 #define RCC_CLK48CLKSOURCE_PLL1 RCC_ICLK_CLKSOURCE_PLL1 #define RCC_CLK48CLKSOURCE_MSIK RCC_ICLK_CLKSOURCE_MSIK -#define __HAL_RCC_ADC1_CLK_ENABLE __HAL_RCC_ADC12_CLK_ENABLE -#define __HAL_RCC_ADC1_CLK_DISABLE __HAL_RCC_ADC12_CLK_DISABLE -#define __HAL_RCC_ADC1_IS_CLK_ENABLED __HAL_RCC_ADC12_IS_CLK_ENABLED -#define __HAL_RCC_ADC1_IS_CLK_DISABLED __HAL_RCC_ADC12_IS_CLK_DISABLED -#define __HAL_RCC_ADC1_FORCE_RESET __HAL_RCC_ADC12_FORCE_RESET -#define __HAL_RCC_ADC1_RELEASE_RESET __HAL_RCC_ADC12_RELEASE_RESET -#define __HAL_RCC_ADC1_CLK_SLEEP_ENABLE __HAL_RCC_ADC12_CLK_SLEEP_ENABLE -#define __HAL_RCC_ADC1_CLK_SLEEP_DISABLE __HAL_RCC_ADC12_CLK_SLEEP_DISABLE -#endif +#define __HAL_RCC_ADC1_CLK_ENABLE __HAL_RCC_ADC12_CLK_ENABLE +#define __HAL_RCC_ADC1_CLK_DISABLE __HAL_RCC_ADC12_CLK_DISABLE +#define __HAL_RCC_ADC1_IS_CLK_ENABLED __HAL_RCC_ADC12_IS_CLK_ENABLED +#define __HAL_RCC_ADC1_IS_CLK_DISABLED __HAL_RCC_ADC12_IS_CLK_DISABLED +#define __HAL_RCC_ADC1_FORCE_RESET __HAL_RCC_ADC12_FORCE_RESET +#define __HAL_RCC_ADC1_RELEASE_RESET __HAL_RCC_ADC12_RELEASE_RESET +#define __HAL_RCC_ADC1_CLK_SLEEP_ENABLE __HAL_RCC_ADC12_CLK_SLEEP_ENABLE +#define __HAL_RCC_ADC1_CLK_SLEEP_DISABLE __HAL_RCC_ADC12_CLK_SLEEP_DISABLE +#define __HAL_RCC_GET_CLK48_SOURCE __HAL_RCC_GET_ICLK_SOURCE +#define __HAL_RCC_PLLFRACN_ENABLE __HAL_RCC_PLL_FRACN_ENABLE +#define __HAL_RCC_PLLFRACN_DISABLE __HAL_RCC_PLL_FRACN_DISABLE +#define __HAL_RCC_PLLFRACN_CONFIG __HAL_RCC_PLL_FRACN_CONFIG +#define IS_RCC_PLLFRACN_VALUE IS_RCC_PLL_FRACN_VALUE +#endif /* STM32U5 */ /** * @} @@ -3563,7 +3584,9 @@ extern "C" { /** @defgroup HAL_RTC_Aliased_Macros HAL RTC Aliased Macros maintained for legacy purpose * @{ */ -#if defined (STM32G0) || defined (STM32L5) || defined (STM32L412xx) || defined (STM32L422xx) || defined (STM32L4P5xx) || defined (STM32L4Q5xx) || defined (STM32G4) || defined (STM32WL) || defined (STM32U5) +#if defined (STM32G0) || defined (STM32L5) || defined (STM32L412xx) || defined (STM32L422xx) || defined (STM32L4P5xx)|| \ + defined (STM32L4Q5xx) || defined (STM32G4) || defined (STM32WL) || defined (STM32U5) || \ + defined (STM32C0) #else #define __HAL_RTC_CLEAR_FLAG __HAL_RTC_EXTI_CLEAR_FLAG #endif @@ -3616,7 +3639,6 @@ extern "C" { #define __RTC_WRITEPROTECTION_ENABLE __HAL_RTC_WRITEPROTECTION_ENABLE #define __RTC_WRITEPROTECTION_DISABLE __HAL_RTC_WRITEPROTECTION_DISABLE - /** * @} */ @@ -3628,7 +3650,7 @@ extern "C" { #define SD_OCR_CID_CSD_OVERWRIETE SD_OCR_CID_CSD_OVERWRITE #define SD_CMD_SD_APP_STAUS SD_CMD_SD_APP_STATUS -#if !defined(STM32F1) && !defined(STM32F2) && !defined(STM32F4) && !defined(STM32F7) && !defined(STM32L1) +#if !defined(STM32F1) && !defined(STM32F2) && !defined(STM32F4) && !defined(STM32L1) #define eMMC_HIGH_VOLTAGE_RANGE EMMC_HIGH_VOLTAGE_RANGE #define eMMC_DUAL_VOLTAGE_RANGE EMMC_DUAL_VOLTAGE_RANGE #define eMMC_LOW_VOLTAGE_RANGE EMMC_LOW_VOLTAGE_RANGE @@ -3965,6 +3987,16 @@ extern "C" { * @} */ +/** @defgroup HAL_Generic_Aliased_Macros HAL Generic Aliased Macros maintained for legacy purpose + * @{ + */ +#if defined (STM32F7) +#define ART_ACCLERATOR_ENABLE ART_ACCELERATOR_ENABLE +#endif /* STM32F7 */ +/** + * @} + */ + /** @defgroup HAL_PPP_Aliased_Macros HAL PPP Aliased Macros maintained for legacy purpose * @{ */ diff --git a/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_conf_template.h b/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_conf_template.h index d32595ffd..c0c448417 100644 --- a/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_conf_template.h +++ b/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_conf_template.h @@ -209,8 +209,8 @@ #define MAC_ADDR5 0U /* Definition of the Ethernet driver buffers size and count */ -#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */ -#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */ +#define ETH_RX_BUF_SIZE 1528U /* ETH Max buffer size for receive */ +#define ETH_TX_BUF_SIZE 1528U /* ETH Max buffer size for transmit */ #define ETH_RXBUFNB 4U /* 4 Rx buffers of size ETH_RX_BUF_SIZE */ #define ETH_TXBUFNB 4U /* 4 Tx buffers of size ETH_TX_BUF_SIZE */ diff --git a/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_eth.h b/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_eth.h index af84bcb42..ba5a09bbc 100644 --- a/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_eth.h +++ b/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_eth.h @@ -276,9 +276,6 @@ typedef struct PreambleLength; /*!< Selects or not the Preamble Length for Transmit packets (Full Duplex mode). This parameter can be a value of @ref ETH_Preamble_Length */ - FunctionalState - UnicastSlowProtocolPacketDetect; /*!< Enable or disables the Detection of Slow Protocol Packets with unicast address. */ - FunctionalState SlowProtocolDetect; /*!< Enable or disables the Slow Protocol Detection. */ FunctionalState CRCCheckingRxPackets; /*!< Enable or disables the CRC Checking for Received Packets. */ @@ -404,7 +401,7 @@ typedef struct typedef enum { HAL_ETH_MII_MODE = 0x00U, /*!< Media Independent Interface */ - HAL_ETH_RMII_MODE = ((uint32_t)SYSCFG_PMC_MII_RMII_SEL) /*!< Reduced Media Independent Interface */ + HAL_ETH_RMII_MODE = SYSCFG_PMC_MII_RMII_SEL /*!< Reduced Media Independent Interface */ } ETH_MediaInterfaceTypeDef; /** * @@ -694,51 +691,51 @@ typedef struct /** * @brief Bit definition of TDES0 register: DMA Tx descriptor status register */ -#define ETH_DMATXDESC_OWN ((uint32_t)0x80000000U) /*!< OWN bit: descriptor is owned by DMA engine */ -#define ETH_DMATXDESC_IC ((uint32_t)0x40000000U) /*!< Interrupt on Completion */ -#define ETH_DMATXDESC_LS ((uint32_t)0x20000000U) /*!< Last Segment */ -#define ETH_DMATXDESC_FS ((uint32_t)0x10000000U) /*!< First Segment */ -#define ETH_DMATXDESC_DC ((uint32_t)0x08000000U) /*!< Disable CRC */ -#define ETH_DMATXDESC_DP ((uint32_t)0x04000000U) /*!< Disable Padding */ -#define ETH_DMATXDESC_TTSE ((uint32_t)0x02000000U) /*!< Transmit Time Stamp Enable */ -#define ETH_DMATXDESC_CIC ((uint32_t)0x00C00000U) /*!< Checksum Insertion Control: 4 cases */ -#define ETH_DMATXDESC_CIC_BYPASS ((uint32_t)0x00000000U) /*!< Do Nothing: Checksum Engine is bypassed */ -#define ETH_DMATXDESC_CIC_IPV4HEADER ((uint32_t)0x00400000U) /*!< IPV4 header Checksum Insertion */ -#define ETH_DMATXDESC_CIC_TCPUDPICMP_SEGMENT ((uint32_t)0x00800000U) /*!< TCP/UDP/ICMP Checksum Insertion calculated over segment only */ -#define ETH_DMATXDESC_CIC_TCPUDPICMP_FULL ((uint32_t)0x00C00000U) /*!< TCP/UDP/ICMP Checksum Insertion fully calculated */ -#define ETH_DMATXDESC_TER ((uint32_t)0x00200000U) /*!< Transmit End of Ring */ -#define ETH_DMATXDESC_TCH ((uint32_t)0x00100000U) /*!< Second Address Chained */ -#define ETH_DMATXDESC_TTSS ((uint32_t)0x00020000U) /*!< Tx Time Stamp Status */ -#define ETH_DMATXDESC_IHE ((uint32_t)0x00010000U) /*!< IP Header Error */ -#define ETH_DMATXDESC_ES ((uint32_t)0x00008000U) /*!< Error summary: OR of the following bits: UE || ED || EC || LCO || NC || LCA || FF || JT */ -#define ETH_DMATXDESC_JT ((uint32_t)0x00004000U) /*!< Jabber Timeout */ -#define ETH_DMATXDESC_FF ((uint32_t)0x00002000U) /*!< Frame Flushed: DMA/MTL flushed the frame due to SW flush */ -#define ETH_DMATXDESC_PCE ((uint32_t)0x00001000U) /*!< Payload Checksum Error */ -#define ETH_DMATXDESC_LCA ((uint32_t)0x00000800U) /*!< Loss of Carrier: carrier lost during transmission */ -#define ETH_DMATXDESC_NC ((uint32_t)0x00000400U) /*!< No Carrier: no carrier signal from the transceiver */ -#define ETH_DMATXDESC_LCO ((uint32_t)0x00000200U) /*!< Late Collision: transmission aborted due to collision */ -#define ETH_DMATXDESC_EC ((uint32_t)0x00000100U) /*!< Excessive Collision: transmission aborted after 16 collisions */ -#define ETH_DMATXDESC_VF ((uint32_t)0x00000080U) /*!< VLAN Frame */ -#define ETH_DMATXDESC_CC ((uint32_t)0x00000078U) /*!< Collision Count */ -#define ETH_DMATXDESC_ED ((uint32_t)0x00000004U) /*!< Excessive Deferral */ -#define ETH_DMATXDESC_UF ((uint32_t)0x00000002U) /*!< Underflow Error: late data arrival from the memory */ -#define ETH_DMATXDESC_DB ((uint32_t)0x00000001U) /*!< Deferred Bit */ +#define ETH_DMATXDESC_OWN 0x80000000U /*!< OWN bit: descriptor is owned by DMA engine */ +#define ETH_DMATXDESC_IC 0x40000000U /*!< Interrupt on Completion */ +#define ETH_DMATXDESC_LS 0x20000000U /*!< Last Segment */ +#define ETH_DMATXDESC_FS 0x10000000U /*!< First Segment */ +#define ETH_DMATXDESC_DC 0x08000000U /*!< Disable CRC */ +#define ETH_DMATXDESC_DP 0x04000000U /*!< Disable Padding */ +#define ETH_DMATXDESC_TTSE 0x02000000U /*!< Transmit Time Stamp Enable */ +#define ETH_DMATXDESC_CIC 0x00C00000U /*!< Checksum Insertion Control: 4 cases */ +#define ETH_DMATXDESC_CIC_BYPASS 0x00000000U /*!< Do Nothing: Checksum Engine is bypassed */ +#define ETH_DMATXDESC_CIC_IPV4HEADER 0x00400000U /*!< IPV4 header Checksum Insertion */ +#define ETH_DMATXDESC_CIC_TCPUDPICMP_SEGMENT 0x00800000U /*!< TCP/UDP/ICMP Checksum Insertion calculated over segment only */ +#define ETH_DMATXDESC_CIC_TCPUDPICMP_FULL 0x00C00000U /*!< TCP/UDP/ICMP Checksum Insertion fully calculated */ +#define ETH_DMATXDESC_TER 0x00200000U /*!< Transmit End of Ring */ +#define ETH_DMATXDESC_TCH 0x00100000U /*!< Second Address Chained */ +#define ETH_DMATXDESC_TTSS 0x00020000U /*!< Tx Time Stamp Status */ +#define ETH_DMATXDESC_IHE 0x00010000U /*!< IP Header Error */ +#define ETH_DMATXDESC_ES 0x00008000U /*!< Error summary: OR of the following bits: UE || ED || EC || LCO || NC || LCA || FF || JT */ +#define ETH_DMATXDESC_JT 0x00004000U /*!< Jabber Timeout */ +#define ETH_DMATXDESC_FF 0x00002000U /*!< Frame Flushed: DMA/MTL flushed the frame due to SW flush */ +#define ETH_DMATXDESC_PCE 0x00001000U /*!< Payload Checksum Error */ +#define ETH_DMATXDESC_LCA 0x00000800U /*!< Loss of Carrier: carrier lost during transmission */ +#define ETH_DMATXDESC_NC 0x00000400U /*!< No Carrier: no carrier signal from the transceiver */ +#define ETH_DMATXDESC_LCO 0x00000200U /*!< Late Collision: transmission aborted due to collision */ +#define ETH_DMATXDESC_EC 0x00000100U /*!< Excessive Collision: transmission aborted after 16 collisions */ +#define ETH_DMATXDESC_VF 0x00000080U /*!< VLAN Frame */ +#define ETH_DMATXDESC_CC 0x00000078U /*!< Collision Count */ +#define ETH_DMATXDESC_ED 0x00000004U /*!< Excessive Deferral */ +#define ETH_DMATXDESC_UF 0x00000002U /*!< Underflow Error: late data arrival from the memory */ +#define ETH_DMATXDESC_DB 0x00000001U /*!< Deferred Bit */ /** * @brief Bit definition of TDES1 register */ -#define ETH_DMATXDESC_TBS2 ((uint32_t)0x1FFF0000U) /*!< Transmit Buffer2 Size */ -#define ETH_DMATXDESC_TBS1 ((uint32_t)0x00001FFFU) /*!< Transmit Buffer1 Size */ +#define ETH_DMATXDESC_TBS2 0x1FFF0000U /*!< Transmit Buffer2 Size */ +#define ETH_DMATXDESC_TBS1 0x00001FFFU /*!< Transmit Buffer1 Size */ /** * @brief Bit definition of TDES2 register */ -#define ETH_DMATXDESC_B1AP ((uint32_t)0xFFFFFFFFU) /*!< Buffer1 Address Pointer */ +#define ETH_DMATXDESC_B1AP 0xFFFFFFFFU /*!< Buffer1 Address Pointer */ /** * @brief Bit definition of TDES3 register */ -#define ETH_DMATXDESC_B2AP ((uint32_t)0xFFFFFFFFU) /*!< Buffer2 Address Pointer */ +#define ETH_DMATXDESC_B2AP 0xFFFFFFFFU /*!< Buffer2 Address Pointer */ /*--------------------------------------------------------------------------------------------- TDES6 | Transmit Time Stamp Low [31:0] | @@ -747,10 +744,10 @@ TDES7 | Transmit Time Stamp High [31:0] ----------------------------------------------------------------------------------------------*/ /* Bit definition of TDES6 register */ -#define ETH_DMAPTPTXDESC_TTSL ((uint32_t)0xFFFFFFFFU) /* Transmit Time Stamp Low */ +#define ETH_DMAPTPTXDESC_TTSL 0xFFFFFFFFU /* Transmit Time Stamp Low */ /* Bit definition of TDES7 register */ -#define ETH_DMAPTPTXDESC_TTSH ((uint32_t)0xFFFFFFFFU) /* Transmit Time Stamp High */ +#define ETH_DMAPTPTXDESC_TTSH 0xFFFFFFFFU /* Transmit Time Stamp High */ /** * @} @@ -777,44 +774,44 @@ TDES7 | Transmit Time Stamp High [31:0] /** * @brief Bit definition of RDES0 register: DMA Rx descriptor status register */ -#define ETH_DMARXDESC_OWN ((uint32_t)0x80000000U) /*!< OWN bit: descriptor is owned by DMA engine */ -#define ETH_DMARXDESC_AFM ((uint32_t)0x40000000U) /*!< DA Filter Fail for the rx frame */ -#define ETH_DMARXDESC_FL ((uint32_t)0x3FFF0000U) /*!< Receive descriptor frame length */ -#define ETH_DMARXDESC_ES ((uint32_t)0x00008000U) /*!< Error summary: OR of the following bits: DE || OE || IPC || LC || RWT || RE || CE */ -#define ETH_DMARXDESC_DE ((uint32_t)0x00004000U) /*!< Descriptor error: no more descriptors for receive frame */ -#define ETH_DMARXDESC_SAF ((uint32_t)0x00002000U) /*!< SA Filter Fail for the received frame */ -#define ETH_DMARXDESC_LE ((uint32_t)0x00001000U) /*!< Frame size not matching with length field */ -#define ETH_DMARXDESC_OE ((uint32_t)0x00000800U) /*!< Overflow Error: Frame was damaged due to buffer overflow */ -#define ETH_DMARXDESC_VLAN ((uint32_t)0x00000400U) /*!< VLAN Tag: received frame is a VLAN frame */ -#define ETH_DMARXDESC_FS ((uint32_t)0x00000200U) /*!< First descriptor of the frame */ -#define ETH_DMARXDESC_LS ((uint32_t)0x00000100U) /*!< Last descriptor of the frame */ -#define ETH_DMARXDESC_IPV4HCE ((uint32_t)0x00000080U) /*!< IPC Checksum Error: Rx Ipv4 header checksum error */ -#define ETH_DMARXDESC_LC ((uint32_t)0x00000040U) /*!< Late collision occurred during reception */ -#define ETH_DMARXDESC_FT ((uint32_t)0x00000020U) /*!< Frame type - Ethernet, otherwise 802.3 */ -#define ETH_DMARXDESC_RWT ((uint32_t)0x00000010U) /*!< Receive Watchdog Timeout: watchdog timer expired during reception */ -#define ETH_DMARXDESC_RE ((uint32_t)0x00000008U) /*!< Receive error: error reported by MII interface */ -#define ETH_DMARXDESC_DBE ((uint32_t)0x00000004U) /*!< Dribble bit error: frame contains non int multiple of 8 bits */ -#define ETH_DMARXDESC_CE ((uint32_t)0x00000002U) /*!< CRC error */ -#define ETH_DMARXDESC_MAMPCE ((uint32_t)0x00000001U) /*!< Rx MAC Address/Payload Checksum Error: Rx MAC address matched/ Rx Payload Checksum Error */ +#define ETH_DMARXDESC_OWN 0x80000000U /*!< OWN bit: descriptor is owned by DMA engine */ +#define ETH_DMARXDESC_AFM 0x40000000U /*!< DA Filter Fail for the rx frame */ +#define ETH_DMARXDESC_FL 0x3FFF0000U /*!< Receive descriptor frame length */ +#define ETH_DMARXDESC_ES 0x00008000U /*!< Error summary: OR of the following bits: DE || OE || IPC || LC || RWT || RE || CE */ +#define ETH_DMARXDESC_DE 0x00004000U /*!< Descriptor error: no more descriptors for receive frame */ +#define ETH_DMARXDESC_SAF 0x00002000U /*!< SA Filter Fail for the received frame */ +#define ETH_DMARXDESC_LE 0x00001000U /*!< Frame size not matching with length field */ +#define ETH_DMARXDESC_OE 0x00000800U /*!< Overflow Error: Frame was damaged due to buffer overflow */ +#define ETH_DMARXDESC_VLAN 0x00000400U /*!< VLAN Tag: received frame is a VLAN frame */ +#define ETH_DMARXDESC_FS 0x00000200U /*!< First descriptor of the frame */ +#define ETH_DMARXDESC_LS 0x00000100U /*!< Last descriptor of the frame */ +#define ETH_DMARXDESC_IPV4HCE 0x00000080U /*!< IPC Checksum Error: Rx Ipv4 header checksum error */ +#define ETH_DMARXDESC_LC 0x00000040U /*!< Late collision occurred during reception */ +#define ETH_DMARXDESC_FT 0x00000020U /*!< Frame type - Ethernet, otherwise 802.3 */ +#define ETH_DMARXDESC_RWT 0x00000010U /*!< Receive Watchdog Timeout: watchdog timer expired during reception */ +#define ETH_DMARXDESC_RE 0x00000008U /*!< Receive error: error reported by MII interface */ +#define ETH_DMARXDESC_DBE 0x00000004U /*!< Dribble bit error: frame contains non int multiple of 8 bits */ +#define ETH_DMARXDESC_CE 0x00000002U /*!< CRC error */ +#define ETH_DMARXDESC_MAMPCE 0x00000001U /*!< Rx MAC Address/Payload Checksum Error: Rx MAC address matched/ Rx Payload Checksum Error */ /** * @brief Bit definition of RDES1 register */ -#define ETH_DMARXDESC_DIC ((uint32_t)0x80000000U) /*!< Disable Interrupt on Completion */ -#define ETH_DMARXDESC_RBS2 ((uint32_t)0x1FFF0000U) /*!< Receive Buffer2 Size */ -#define ETH_DMARXDESC_RER ((uint32_t)0x00008000U) /*!< Receive End of Ring */ -#define ETH_DMARXDESC_RCH ((uint32_t)0x00004000U) /*!< Second Address Chained */ -#define ETH_DMARXDESC_RBS1 ((uint32_t)0x00001FFFU) /*!< Receive Buffer1 Size */ +#define ETH_DMARXDESC_DIC 0x80000000U /*!< Disable Interrupt on Completion */ +#define ETH_DMARXDESC_RBS2 0x1FFF0000U /*!< Receive Buffer2 Size */ +#define ETH_DMARXDESC_RER 0x00008000U /*!< Receive End of Ring */ +#define ETH_DMARXDESC_RCH 0x00004000U /*!< Second Address Chained */ +#define ETH_DMARXDESC_RBS1 0x00001FFFU /*!< Receive Buffer1 Size */ /** * @brief Bit definition of RDES2 register */ -#define ETH_DMARXDESC_B1AP ((uint32_t)0xFFFFFFFFU) /*!< Buffer1 Address Pointer */ +#define ETH_DMARXDESC_B1AP 0xFFFFFFFFU /*!< Buffer1 Address Pointer */ /** * @brief Bit definition of RDES3 register */ -#define ETH_DMARXDESC_B2AP ((uint32_t)0xFFFFFFFFU) /*!< Buffer2 Address Pointer */ +#define ETH_DMARXDESC_B2AP 0xFFFFFFFFU /*!< Buffer2 Address Pointer */ /*--------------------------------------------------------------------------------------------------------------------- RDES4 | Reserved[31:15] | Extended Status [14:0] | @@ -827,47 +824,47 @@ TDES7 | Transmit Time Stamp High [31:0] --------------------------------------------------------------------------------------------------------------------*/ /* Bit definition of RDES4 register */ -#define ETH_DMAPTPRXDESC_PTPV ((uint32_t)0x00002000U) /* PTP Version */ -#define ETH_DMAPTPRXDESC_PTPFT ((uint32_t)0x00001000U) /* PTP Frame Type */ -#define ETH_DMAPTPRXDESC_PTPMT ((uint32_t)0x00000F00U) /* PTP Message Type */ -#define ETH_DMAPTPRXDESC_PTPMT_SYNC ((uint32_t)0x00000100U) /* SYNC message - (all clock types) */ -#define ETH_DMAPTPRXDESC_PTPMT_FOLLOWUP ((uint32_t)0x00000200U) /* FollowUp message - (all clock types) */ -#define ETH_DMAPTPRXDESC_PTPMT_DELAYREQ ((uint32_t)0x00000300U) /* DelayReq message - (all clock types) */ -#define ETH_DMAPTPRXDESC_PTPMT_DELAYRESP ((uint32_t)0x00000400U) /* DelayResp message - (all clock types) */ -#define ETH_DMAPTPRXDESC_PTPMT_PDELAYREQ_ANNOUNCE ((uint32_t)0x00000500U) /* PdelayReq message - (peer-to-peer transparent clock) - or Announce message (Ordinary - or Boundary clock) */ -#define ETH_DMAPTPRXDESC_PTPMT_PDELAYRESP_MANAG ((uint32_t)0x00000600U) /* PdelayResp message - (peer-to-peer transparent clock) - or Management message (Ordinary - or Boundary clock) */ -#define ETH_DMAPTPRXDESC_PTPMT_PDELAYRESPFOLLOWUP_SIGNAL ((uint32_t)0x00000700U) /* PdelayRespFollowUp message - (peer-to-peer transparent clock) - or Signaling message (Ordinary - or Boundary clock) */ -#define ETH_DMAPTPRXDESC_IPV6PR ((uint32_t)0x00000080U) /* IPv6 Packet Received */ -#define ETH_DMAPTPRXDESC_IPV4PR ((uint32_t)0x00000040U) /* IPv4 Packet Received */ -#define ETH_DMAPTPRXDESC_IPCB ((uint32_t)0x00000020U) /* IP Checksum Bypassed */ -#define ETH_DMAPTPRXDESC_IPPE ((uint32_t)0x00000010U) /* IP Payload Error */ -#define ETH_DMAPTPRXDESC_IPHE ((uint32_t)0x00000008U) /* IP Header Error */ -#define ETH_DMAPTPRXDESC_IPPT ((uint32_t)0x00000007U) /* IP Payload Type */ -#define ETH_DMAPTPRXDESC_IPPT_UDP ((uint32_t)0x00000001U) /* UDP payload encapsulated in - the IP datagram */ -#define ETH_DMAPTPRXDESC_IPPT_TCP ((uint32_t)0x00000002U) /* TCP payload encapsulated in - the IP datagram */ -#define ETH_DMAPTPRXDESC_IPPT_ICMP ((uint32_t)0x00000003U) /* ICMP payload encapsulated in +#define ETH_DMAPTPRXDESC_PTPV 0x00002000U /* PTP Version */ +#define ETH_DMAPTPRXDESC_PTPFT 0x00001000U /* PTP Frame Type */ +#define ETH_DMAPTPRXDESC_PTPMT 0x00000F00U /* PTP Message Type */ +#define ETH_DMAPTPRXDESC_PTPMT_SYNC 0x00000100U /* SYNC message + (all clock types) */ +#define ETH_DMAPTPRXDESC_PTPMT_FOLLOWUP 0x00000200U /* FollowUp message + (all clock types) */ +#define ETH_DMAPTPRXDESC_PTPMT_DELAYREQ 0x00000300U /* DelayReq message + (all clock types) */ +#define ETH_DMAPTPRXDESC_PTPMT_DELAYRESP 0x00000400U /* DelayResp message + (all clock types) */ +#define ETH_DMAPTPRXDESC_PTPMT_PDELAYREQ_ANNOUNCE 0x00000500U /* PdelayReq message + (peer-to-peer transparent clock) + or Announce message (Ordinary + or Boundary clock) */ +#define ETH_DMAPTPRXDESC_PTPMT_PDELAYRESP_MANAG 0x00000600U /* PdelayResp message + (peer-to-peer transparent clock) + or Management message (Ordinary + or Boundary clock) */ +#define ETH_DMAPTPRXDESC_PTPMT_PDELAYRESPFOLLOWUP_SIGNAL 0x00000700U /* PdelayRespFollowUp message + (peer-to-peer transparent clock) + or Signaling message (Ordinary + or Boundary clock) */ +#define ETH_DMAPTPRXDESC_IPV6PR 0x00000080U /* IPv6 Packet Received */ +#define ETH_DMAPTPRXDESC_IPV4PR 0x00000040U /* IPv4 Packet Received */ +#define ETH_DMAPTPRXDESC_IPCB 0x00000020U /* IP Checksum Bypassed */ +#define ETH_DMAPTPRXDESC_IPPE 0x00000010U /* IP Payload Error */ +#define ETH_DMAPTPRXDESC_IPHE 0x00000008U /* IP Header Error */ +#define ETH_DMAPTPRXDESC_IPPT 0x00000007U /* IP Payload Type */ +#define ETH_DMAPTPRXDESC_IPPT_UDP 0x00000001U /* UDP payload encapsulated in + the IP datagram */ +#define ETH_DMAPTPRXDESC_IPPT_TCP 0x00000002U /* TCP payload encapsulated in + the IP datagram */ +#define ETH_DMAPTPRXDESC_IPPT_ICMP 0x00000003U /* ICMP payload encapsulated in the IP datagram */ /* Bit definition of RDES6 register */ -#define ETH_DMAPTPRXDESC_RTSL ((uint32_t)0xFFFFFFFFU) /* Receive Time Stamp Low */ +#define ETH_DMAPTPRXDESC_RTSL 0xFFFFFFFFU /* Receive Time Stamp Low */ /* Bit definition of RDES7 register */ -#define ETH_DMAPTPRXDESC_RTSH ((uint32_t)0xFFFFFFFFU) /* Receive Time Stamp High */ +#define ETH_DMAPTPRXDESC_RTSH 0xFFFFFFFFU /* Receive Time Stamp High */ /** * @} @@ -876,13 +873,13 @@ TDES7 | Transmit Time Stamp High [31:0] /** @defgroup ETH_Frame_settings ETH frame settings * @{ */ -#define ETH_MAX_PACKET_SIZE ((uint32_t)1528U) /*!< ETH_HEADER + 2*VLAN_TAG + MAX_ETH_PAYLOAD + ETH_CRC */ -#define ETH_HEADER ((uint32_t)14U) /*!< 6 byte Dest addr, 6 byte Src addr, 2 byte length/type */ -#define ETH_CRC ((uint32_t)4U) /*!< Ethernet CRC */ -#define ETH_VLAN_TAG ((uint32_t)4U) /*!< optional 802.1q VLAN Tag */ -#define ETH_MIN_PAYLOAD ((uint32_t)46U) /*!< Minimum Ethernet payload size */ -#define ETH_MAX_PAYLOAD ((uint32_t)1500U) /*!< Maximum Ethernet payload size */ -#define ETH_JUMBO_FRAME_PAYLOAD ((uint32_t)9000U) /*!< Jumbo frame payload size */ +#define ETH_MAX_PACKET_SIZE 1528U /*!< ETH_HEADER + 2*VLAN_TAG + MAX_ETH_PAYLOAD + ETH_CRC */ +#define ETH_HEADER 14U /*!< 6 byte Dest addr, 6 byte Src addr, 2 byte length/type */ +#define ETH_CRC 4U /*!< Ethernet CRC */ +#define ETH_VLAN_TAG 4U /*!< optional 802.1q VLAN Tag */ +#define ETH_MIN_PAYLOAD 46U /*!< Minimum Ethernet payload size */ +#define ETH_MAX_PAYLOAD 1500U /*!< Maximum Ethernet payload size */ +#define ETH_JUMBO_FRAME_PAYLOAD 9000U /*!< Jumbo frame payload size */ /** * @} */ @@ -890,14 +887,14 @@ TDES7 | Transmit Time Stamp High [31:0] /** @defgroup ETH_Error_Code ETH Error Code * @{ */ -#define HAL_ETH_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */ -#define HAL_ETH_ERROR_PARAM ((uint32_t)0x00000001U) /*!< Busy error */ -#define HAL_ETH_ERROR_BUSY ((uint32_t)0x00000002U) /*!< Parameter error */ -#define HAL_ETH_ERROR_TIMEOUT ((uint32_t)0x00000004U) /*!< Timeout error */ -#define HAL_ETH_ERROR_DMA ((uint32_t)0x00000008U) /*!< DMA transfer error */ -#define HAL_ETH_ERROR_MAC ((uint32_t)0x00000010U) /*!< MAC transfer error */ +#define HAL_ETH_ERROR_NONE 0x00000000U /*!< No error */ +#define HAL_ETH_ERROR_PARAM 0x00000001U /*!< Busy error */ +#define HAL_ETH_ERROR_BUSY 0x00000002U /*!< Parameter error */ +#define HAL_ETH_ERROR_TIMEOUT 0x00000004U /*!< Timeout error */ +#define HAL_ETH_ERROR_DMA 0x00000008U /*!< DMA transfer error */ +#define HAL_ETH_ERROR_MAC 0x00000010U /*!< MAC transfer error */ #if (USE_HAL_ETH_REGISTER_CALLBACKS == 1) -#define HAL_ETH_ERROR_INVALID_CALLBACK ((uint32_t)0x00000020U) /*!< Invalid Callback error */ +#define HAL_ETH_ERROR_INVALID_CALLBACK 0x00000020U /*!< Invalid Callback error */ #endif /* USE_HAL_ETH_REGISTER_CALLBACKS */ /** * @} @@ -906,12 +903,12 @@ TDES7 | Transmit Time Stamp High [31:0] /** @defgroup ETH_Tx_Packet_Attributes ETH Tx Packet Attributes * @{ */ -#define ETH_TX_PACKETS_FEATURES_CSUM ((uint32_t)0x00000001U) -#define ETH_TX_PACKETS_FEATURES_SAIC ((uint32_t)0x00000002U) -#define ETH_TX_PACKETS_FEATURES_VLANTAG ((uint32_t)0x00000004U) -#define ETH_TX_PACKETS_FEATURES_INNERVLANTAG ((uint32_t)0x00000008U) -#define ETH_TX_PACKETS_FEATURES_TSO ((uint32_t)0x00000010U) -#define ETH_TX_PACKETS_FEATURES_CRCPAD ((uint32_t)0x00000020U) +#define ETH_TX_PACKETS_FEATURES_CSUM 0x00000001U +#define ETH_TX_PACKETS_FEATURES_SAIC 0x00000002U +#define ETH_TX_PACKETS_FEATURES_VLANTAG 0x00000004U +#define ETH_TX_PACKETS_FEATURES_INNERVLANTAG 0x00000008U +#define ETH_TX_PACKETS_FEATURES_TSO 0x00000010U +#define ETH_TX_PACKETS_FEATURES_CRCPAD 0x00000020U /** * @} */ @@ -930,7 +927,7 @@ TDES7 | Transmit Time Stamp High [31:0] * @{ */ #define ETH_CRC_PAD_DISABLE (uint32_t)(ETH_DMATXDESC_DP | ETH_DMATXDESC_DC) -#define ETH_CRC_PAD_INSERT ((uint32_t)0x00000000U) +#define ETH_CRC_PAD_INSERT 0x00000000U #define ETH_CRC_INSERT ETH_DMATXDESC_DP /** * @} @@ -997,7 +994,7 @@ TDES7 | Transmit Time Stamp High [31:0] * @{ */ #define ETH_DMAARBITRATION_RX ETH_DMAMR_DA -#define ETH_DMAARBITRATION_RX1_TX1 ((uint32_t)0x00000000U) +#define ETH_DMAARBITRATION_RX1_TX1 0x00000000U #define ETH_DMAARBITRATION_RX2_TX1 ETH_DMAMR_PR_2_1 #define ETH_DMAARBITRATION_RX3_TX1 ETH_DMAMR_PR_3_1 #define ETH_DMAARBITRATION_RX4_TX1 ETH_DMAMR_PR_4_1 @@ -1006,7 +1003,7 @@ TDES7 | Transmit Time Stamp High [31:0] #define ETH_DMAARBITRATION_RX7_TX1 ETH_DMAMR_PR_7_1 #define ETH_DMAARBITRATION_RX8_TX1 ETH_DMAMR_PR_8_1 #define ETH_DMAARBITRATION_TX (ETH_DMAMR_TXPR | ETH_DMAMR_DA) -#define ETH_DMAARBITRATION_TX1_RX1 ((uint32_t)0x00000000U) +#define ETH_DMAARBITRATION_TX1_RX1 0x00000000U #define ETH_DMAARBITRATION_TX2_RX1 (ETH_DMAMR_TXPR | ETH_DMAMR_PR_2_1) #define ETH_DMAARBITRATION_TX3_RX1 (ETH_DMAMR_TXPR | ETH_DMAMR_PR_3_1) #define ETH_DMAARBITRATION_TX4_RX1 (ETH_DMAMR_TXPR | ETH_DMAMR_PR_4_1) @@ -1023,7 +1020,7 @@ TDES7 | Transmit Time Stamp High [31:0] */ #define ETH_BURSTLENGTH_FIXED ETH_DMABMR_FB #define ETH_BURSTLENGTH_MIXED ETH_DMABMR_MB -#define ETH_BURSTLENGTH_UNSPECIFIED ((uint32_t)0x00000000U) +#define ETH_BURSTLENGTH_UNSPECIFIED 0x00000000U /** * @} */ @@ -1089,12 +1086,12 @@ TDES7 | Transmit Time Stamp High [31:0] /** @defgroup ETH_DMA_Status_Flags ETH DMA Status Flags * @{ */ -#define ETH_DMA_RX_NO_ERROR_FLAG ((uint32_t)0x00000000U) +#define ETH_DMA_RX_NO_ERROR_FLAG 0x00000000U #define ETH_DMA_RX_DESC_READ_ERROR_FLAG (ETH_DMACSR_REB_BIT_2 | ETH_DMACSR_REB_BIT_1 | ETH_DMACSR_REB_BIT_0) #define ETH_DMA_RX_DESC_WRITE_ERROR_FLAG (ETH_DMACSR_REB_BIT_2 | ETH_DMACSR_REB_BIT_1) #define ETH_DMA_RX_BUFFER_READ_ERROR_FLAG (ETH_DMACSR_REB_BIT_2 | ETH_DMACSR_REB_BIT_0) #define ETH_DMA_RX_BUFFER_WRITE_ERROR_FLAG ETH_DMACSR_REB_BIT_2 -#define ETH_DMA_TX_NO_ERROR_FLAG ((uint32_t)0x00000000U) +#define ETH_DMA_TX_NO_ERROR_FLAG 0x00000000U #define ETH_DMA_TX_DESC_READ_ERROR_FLAG (ETH_DMACSR_TEB_BIT_2 | ETH_DMACSR_TEB_BIT_1 | ETH_DMACSR_TEB_BIT_0) #define ETH_DMA_TX_DESC_WRITE_ERROR_FLAG (ETH_DMACSR_TEB_BIT_2 | ETH_DMACSR_TEB_BIT_1) #define ETH_DMA_TX_BUFFER_READ_ERROR_FLAG (ETH_DMACSR_TEB_BIT_2 | ETH_DMACSR_TEB_BIT_0) @@ -1191,7 +1188,7 @@ TDES7 | Transmit Time Stamp High [31:0] /** @defgroup ETH_Speed ETH Speed * @{ */ -#define ETH_SPEED_10M ((uint32_t)0x00000000U) +#define ETH_SPEED_10M 0x00000000U #define ETH_SPEED_100M 0x00004000U /** * @} @@ -1201,7 +1198,7 @@ TDES7 | Transmit Time Stamp High [31:0] * @{ */ #define ETH_FULLDUPLEX_MODE ETH_MACCR_DM -#define ETH_HALFDUPLEX_MODE ((uint32_t)0x00000000U) +#define ETH_HALFDUPLEX_MODE 0x00000000U /** * @} */ @@ -1230,7 +1227,7 @@ TDES7 | Transmit Time Stamp High [31:0] /** @defgroup ETH_Source_Addr_Control ETH Source Addr Control * @{ */ -#define ETH_SOURCEADDRESS_DISABLE ((uint32_t)0x00000000U) +#define ETH_SOURCEADDRESS_DISABLE 0x00000000U #define ETH_SOURCEADDRESS_INSERT_ADDR0 ETH_MACCR_SARC_INSADDR0 #define ETH_SOURCEADDRESS_INSERT_ADDR1 ETH_MACCR_SARC_INSADDR1 #define ETH_SOURCEADDRESS_REPLACE_ADDR0 ETH_MACCR_SARC_REPADDR0 @@ -1262,10 +1259,10 @@ TDES7 | Transmit Time Stamp High [31:0] /** @defgroup ETH_MAC_addresses ETH MAC addresses * @{ */ -#define ETH_MAC_ADDRESS0 ((uint32_t)0x00000000U) -#define ETH_MAC_ADDRESS1 ((uint32_t)0x00000008U) -#define ETH_MAC_ADDRESS2 ((uint32_t)0x00000010U) -#define ETH_MAC_ADDRESS3 ((uint32_t)0x00000018U) +#define ETH_MAC_ADDRESS0 0x00000000U +#define ETH_MAC_ADDRESS1 0x00000008U +#define ETH_MAC_ADDRESS2 0x00000010U +#define ETH_MAC_ADDRESS3 0x00000018U /** * @} */ @@ -1304,11 +1301,11 @@ TDES7 | Transmit Time Stamp High [31:0] /** @defgroup HAL_ETH_StateTypeDef ETH States * @{ */ -#define HAL_ETH_STATE_RESET ((uint32_t)0x00000000U) /*!< Peripheral not yet Initialized or disabled */ -#define HAL_ETH_STATE_READY ((uint32_t)0x00000010U) /*!< Peripheral Communication started */ -#define HAL_ETH_STATE_BUSY ((uint32_t)0x00000023U) /*!< an internal process is ongoing */ -#define HAL_ETH_STATE_STARTED ((uint32_t)0x00000023U) /*!< an internal process is started */ -#define HAL_ETH_STATE_ERROR ((uint32_t)0x000000E0U) /*!< Error State */ +#define HAL_ETH_STATE_RESET 0x00000000U /*!< Peripheral not yet Initialized or disabled */ +#define HAL_ETH_STATE_READY 0x00000010U /*!< Peripheral Communication started */ +#define HAL_ETH_STATE_BUSY 0x00000023U /*!< an internal process is ongoing */ +#define HAL_ETH_STATE_STARTED 0x00000023U /*!< an internal process is started */ +#define HAL_ETH_STATE_ERROR 0x000000E0U /*!< Error State */ /** * @} */ @@ -1344,7 +1341,7 @@ TDES7 | Transmit Time Stamp High [31:0] * @{ */ #define ETH_MEDIA_INTERFACE_MII 0x00000000U -#define ETH_MEDIA_INTERFACE_RMII ((uint32_t)SYSCFG_PMC_MII_RMII_SEL) +#define ETH_MEDIA_INTERFACE_RMII (SYSCFG_PMC_MII_RMII_SEL) /** * @} */ @@ -1805,8 +1802,8 @@ TDES7 | Transmit Time Stamp High [31:0] /** @defgroup ETH_PTP_Config_Status ETH PTP Config Status * @{ */ -#define HAL_ETH_PTP_NOT_CONFIGURATED ((uint32_t)0x00000000U) /*!< ETH PTP Configuration not done */ -#define HAL_ETH_PTP_CONFIGURATED ((uint32_t)0x00000001U) /*!< ETH PTP Configuration done */ +#define HAL_ETH_PTP_NOT_CONFIGURATED 0x00000000U /*!< ETH PTP Configuration not done */ +#define HAL_ETH_PTP_CONFIGURATED 0x00000001U /*!< ETH PTP Configuration done */ /** * @} */ @@ -1928,7 +1925,7 @@ TDES7 | Transmit Time Stamp High [31:0] ( __INTERRUPT__)) == ( __INTERRUPT__)) /*!< External interrupt line 19 Connected to the ETH wakeup EXTI Line */ -#define ETH_WAKEUP_EXTI_LINE ((uint32_t)0x00080000U) +#define ETH_WAKEUP_EXTI_LINE 0x00080000U /** * @brief Enable the ETH WAKEUP Exti Line. diff --git a/Drivers/STM32F4xx_HAL_Driver/README.md b/Drivers/STM32F4xx_HAL_Driver/README.md index c345d9be8..5900a11b7 100644 --- a/Drivers/STM32F4xx_HAL_Driver/README.md +++ b/Drivers/STM32F4xx_HAL_Driver/README.md @@ -27,21 +27,7 @@ Details about the content of this release are available in the release note [her ## Compatibility information -In this table, you can find the successive versions of this HAL-LL Driver component, in line with the corresponding versions of the full MCU package: - -It is **crucial** that you use a consistent set of versions for the CMSIS Core - CMSIS Device - HAL, as mentioned in this table. - -HAL Driver F4 | CMSIS Device F4 | CMSIS Core | Was delivered in the full MCU package -------------- | --------------- | ---------- | ------------------------------------- -Tag v1.7.6 | Tag v2.6.3 | Tag v5.4.0_cm4 | Tag v1.24.1 (and following, if any, till HAL tag) -Tag v1.7.7 | Tag v2.6.4 | Tag v5.4.0_cm4 | Tag v1.24.2 (and following, if any, till HAL tag) -Tag v1.7.8 | Tag v2.6.5 | Tag v5.4.0_cm4 | Tag v1.25.0 (and following, if any, till HAL tag) -Tag v1.7.9 | Tag v2.6.5 | Tag v5.4.0_cm4 | Tag v1.25.1 (and following, if any, till HAL tag) -Tag v1.7.10| Tag v2.6.5 | Tag v5.4.0_cm4 | Tag v1.25.2 (and following, if any, till HAL tag) -Tag v1.7.11| Tag v2.6.6 | Tag v5.4.0_cm4 | Tag v1.26.0 (and following, if any, till HAL tag) -Tag v1.7.12| Tag v2.6.6 | Tag v5.4.0_cm4 | Tag v1.26.1 (and following, if any, till HAL tag) -Tag v1.7.13| Tag v2.6.7 | Tag v5.4.0_cm4 | Tag v1.26.2 (and following, if any, till HAL tag) -Tag v1.8.0 | Tag v2.6.8 | Tag v5.4.0_cm4 | Tag v1.27.0 (and following, if any, till HAL tag) +It is **crucial** that you use a consistent set of versions for the CMSIS Core - CMSIS Device - HAL, as mentioned in [this](https://htmlpreview.github.io/?https://github.com/STMicroelectronics/STM32CubeF4/blob/master/Release_Notes.html) release note. The full **STM32CubeF4** MCU package is available [here](https://github.com/STMicroelectronics/STM32CubeF4). diff --git a/Drivers/STM32F4xx_HAL_Driver/Release_Notes.html b/Drivers/STM32F4xx_HAL_Driver/Release_Notes.html index 08f03c75c..215114fdb 100644 --- a/Drivers/STM32F4xx_HAL_Driver/Release_Notes.html +++ b/Drivers/STM32F4xx_HAL_Driver/Release_Notes.html @@ -6,7 +6,8 @@ Release Notes for STM32F4xx HAL Drivers + charset=windows-1252">Release Notes for STM32F4xx HAL Drivers +

 

@@ -46,11 +47,30 @@

-

Update +

Update - History

V1.8.0 + History

V1.8.1 + / 24-June-2022

+
+

Main + + + + + Changes
+

+
+
  • General updates to fix HAL ETH defects and implementation enhancements.
  • HAL + updates

    + + +
      +
    • HAL ETH update
      • Remove useless assert_param(IS_ETH_MAC_ADDRESS0123(MacAddr)) from static function ETH_MACAddressConfig().
      • Replace hard coded Rx buffer size (1000U) by macro ETH_RX_BUF_SIZE.
      • Correct +bit positions when getting MAC and DMA configurations and replace +‘UnicastSlowProtocolPacketDetect’ by ‘UnicastPausePacketDetect’ in the +MAC default configuration structure.
      • Ensure a delay of 4 TX_CLK/RX_CLK cycles between two successive write operations to the same register.
      • Disable DMA transmission in both HAL_ETH_Stop_IT() and HAL_ETH_Stop() APIs.

V1.8.0 / 11-February-2022

Main @@ -260,7 +280,7 @@

V1.7.13 +

V1.7.13 / 16-July-2021

Main @@ -467,7 +487,7 @@

-

V1.7.12 +

V1.7.12 / 26-March-2021

Main @@ -491,7 +511,7 @@

V1.7.11 +

V1.7.11 / 12-February-2021

Main @@ -1016,7 +1036,7 @@

V1.7.10 +

V1.7.10 @@ -1050,7 +1070,7 @@

V1.7.9 +

V1.7.9 @@ -1172,7 +1192,7 @@

V1.7.8 +

V1.7.8 @@ -1280,7 +1300,7 @@

V1.7.7 +

V1.7.7 @@ -2435,7 +2455,7 @@

-

V1.7.6 +

V1.7.6 @@ -2563,7 +2583,7 @@

V1.7.5 +

V1.7.5 @@ -3277,7 +3297,7 @@

device -

V1.7.4 +

V1.7.4 @@ -3339,7 +3359,7 @@

-

V1.7.3 +

V1.7.3 @@ -3610,7 +3630,7 @@

FSMC_PCCARD_Init() -

V1.7.2 +

V1.7.2 @@ -3995,7 +4015,7 @@

used -

V1.7.1 +

V1.7.1 @@ -4079,7 +4099,7 @@

V1.7.0 +

V1.7.0 @@ -4578,7 +4598,7 @@

-

V1.6.0 +

V1.6.0 @@ -4814,7 +4834,7 @@

callbacks -

V1.5.2 +

V1.5.2 @@ -4913,7 +4933,7 @@

V1.5.1 +

V1.5.1 @@ -5005,7 +5025,7 @@

way -

V1.5.0 +

V1.5.0 @@ -6211,7 +6231,7 @@

WWDG_Example -

V1.4.4 +

V1.4.4 @@ -6957,7 +6977,7 @@



-

V1.4.4 +

V1.4.4 / 11-December-2015

Main Changes

    @@ -6995,7 +7015,7 @@

-

V1.4.2 +

V1.4.2 @@ -7227,7 +7247,7 @@

-

V1.4.1 +

V1.4.1 @@ -7317,7 +7337,7 @@

correctly” -

V1.4.0 +

V1.4.0 @@ -7547,7 +7567,7 @@

-

V1.3.2 +

V1.3.2 @@ -7875,7 +7895,7 @@

activation -

V1.3.1 +

V1.3.1 @@ -7945,7 +7965,7 @@

configuration -

V1.3.0 +

V1.3.0 @@ -8846,7 +8866,7 @@

-

V1.2.0 +

V1.2.0 @@ -10476,7 +10496,7 @@

V1.1.0 +

V1.1.0 @@ -11393,7 +11413,7 @@

-

V1.0.0 +

V1.0.0 @@ -11418,7 +11438,7 @@

-

 

+

 

diff --git a/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c b/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c index cb652b8e2..9ba2ba7d8 100644 --- a/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c +++ b/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c @@ -50,11 +50,11 @@ * @{ */ /** - * @brief STM32F4xx HAL Driver version number V1.8.0 + * @brief STM32F4xx HAL Driver version number V1.8.1 */ #define __STM32F4xx_HAL_VERSION_MAIN (0x01U) /*!< [31:24] main version */ #define __STM32F4xx_HAL_VERSION_SUB1 (0x08U) /*!< [23:16] sub1 version */ -#define __STM32F4xx_HAL_VERSION_SUB2 (0x00U) /*!< [15:8] sub2 version */ +#define __STM32F4xx_HAL_VERSION_SUB2 (0x01U) /*!< [15:8] sub2 version */ #define __STM32F4xx_HAL_VERSION_RC (0x00U) /*!< [7:0] release candidate */ #define __STM32F4xx_HAL_VERSION ((__STM32F4xx_HAL_VERSION_MAIN << 24U)\ |(__STM32F4xx_HAL_VERSION_SUB1 << 16U)\ diff --git a/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_eth.c b/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_eth.c index 9cf3e6c2f..50d95b882 100644 --- a/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_eth.c +++ b/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_eth.c @@ -194,44 +194,44 @@ /** @addtogroup ETH_Private_Constants ETH Private Constants * @{ */ -#define ETH_MACCR_MASK ((uint32_t)0xFFFB7F7CU) -#define ETH_MACECR_MASK ((uint32_t)0x3F077FFFU) -#define ETH_MACFFR_MASK ((uint32_t)0x800007FFU) -#define ETH_MACWTR_MASK ((uint32_t)0x0000010FU) -#define ETH_MACTFCR_MASK ((uint32_t)0xFFFF00F2U) -#define ETH_MACRFCR_MASK ((uint32_t)0x00000003U) -#define ETH_MTLTQOMR_MASK ((uint32_t)0x00000072U) -#define ETH_MTLRQOMR_MASK ((uint32_t)0x0000007BU) - -#define ETH_DMAMR_MASK ((uint32_t)0x00007802U) -#define ETH_DMASBMR_MASK ((uint32_t)0x0000D001U) -#define ETH_DMACCR_MASK ((uint32_t)0x00013FFFU) -#define ETH_DMACTCR_MASK ((uint32_t)0x003F1010U) -#define ETH_DMACRCR_MASK ((uint32_t)0x803F0000U) -#define ETH_MACPMTCSR_MASK (ETH_MACPMTCSR_PD | ETH_MACPMTCSR_WFE | \ - ETH_MACPMTCSR_MPE | ETH_MACPMTCSR_GU) +#define ETH_MACCR_MASK 0xFFFB7F7CU +#define ETH_MACECR_MASK 0x3F077FFFU +#define ETH_MACFFR_MASK 0x800007FFU +#define ETH_MACWTR_MASK 0x0000010FU +#define ETH_MACTFCR_MASK 0xFFFF00F2U +#define ETH_MACRFCR_MASK 0x00000003U +#define ETH_MTLTQOMR_MASK 0x00000072U +#define ETH_MTLRQOMR_MASK 0x0000007BU + +#define ETH_DMAMR_MASK 0x00007802U +#define ETH_DMASBMR_MASK 0x0000D001U +#define ETH_DMACCR_MASK 0x00013FFFU +#define ETH_DMACTCR_MASK 0x003F1010U +#define ETH_DMACRCR_MASK 0x803F0000U +#define ETH_MACPMTCSR_MASK (ETH_MACPMTCSR_PD | ETH_MACPMTCSR_WFE | \ + ETH_MACPMTCSR_MPE | ETH_MACPMTCSR_GU) /* Timeout values */ -#define ETH_SWRESET_TIMEOUT ((uint32_t)500U) -#define ETH_MDIO_BUS_TIMEOUT ((uint32_t)1000U) +#define ETH_SWRESET_TIMEOUT 500U +#define ETH_MDIO_BUS_TIMEOUT 1000U #define ETH_DMARXDESC_ERRORS_MASK ((uint32_t)(ETH_DMARXDESC_DBE | ETH_DMARXDESC_RE | \ ETH_DMARXDESC_OE | ETH_DMARXDESC_RWT |\ ETH_DMARXDESC_LC | ETH_DMARXDESC_CE |\ ETH_DMARXDESC_DE | ETH_DMARXDESC_IPV4HCE)) -#define ETH_MAC_US_TICK ((uint32_t)1000000U) +#define ETH_MAC_US_TICK 1000000U -#define ETH_MACTSCR_MASK ((uint32_t)0x0087FF2FU) +#define ETH_MACTSCR_MASK 0x0087FF2FU -#define ETH_PTPTSHR_VALUE ((uint32_t)0xFFFFFFFFU) -#define ETH_PTPTSLR_VALUE ((uint32_t)0xBB9ACA00U) +#define ETH_PTPTSHR_VALUE 0xFFFFFFFFU +#define ETH_PTPTSLR_VALUE 0xBB9ACA00U /* Ethernet MACMIIAR register Mask */ -#define ETH_MACMIIAR_CR_MASK ((uint32_t)0xFFFFFFE3U) +#define ETH_MACMIIAR_CR_MASK 0xFFFFFFE3U /* Delay to wait when writing to some Ethernet registers */ -#define ETH_REG_WRITE_DELAY ((uint32_t)0x00000001U) +#define ETH_REG_WRITE_DELAY 0x00000001U /* ETHERNET MACCR register Mask */ #define ETH_MACCR_CLEAR_MASK 0xFF20810FU @@ -243,8 +243,8 @@ #define ETH_DMAOMR_CLEAR_MASK 0xF8DE3F23U /* ETHERNET MAC address offsets */ -#define ETH_MAC_ADDR_HBASE (uint32_t)(ETH_MAC_BASE + 0x40U) /* ETHERNET MAC address high offset */ -#define ETH_MAC_ADDR_LBASE (uint32_t)(ETH_MAC_BASE + 0x44U) /* ETHERNET MAC address low offset */ +#define ETH_MAC_ADDR_HBASE (uint32_t)(ETH_MAC_BASE + 0x40U) /* ETHERNET MAC address high offset */ +#define ETH_MAC_ADDR_LBASE (uint32_t)(ETH_MAC_BASE + 0x44U) /* ETHERNET MAC address low offset */ /* ETHERNET DMA Rx descriptors Frame length Shift */ #define ETH_DMARXDESC_FRAMELENGTHSHIFT 16U @@ -696,6 +696,8 @@ HAL_StatusTypeDef HAL_ETH_UnRegisterCallback(ETH_HandleTypeDef *heth, HAL_ETH_Ca */ HAL_StatusTypeDef HAL_ETH_Start(ETH_HandleTypeDef *heth) { + uint32_t tmpreg1; + if (heth->gState == HAL_ETH_STATE_READY) { heth->gState = HAL_ETH_STATE_BUSY; @@ -709,9 +711,21 @@ HAL_StatusTypeDef HAL_ETH_Start(ETH_HandleTypeDef *heth) /* Enable the MAC transmission */ SET_BIT(heth->Instance->MACCR, ETH_MACCR_TE); + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACCR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACCR = tmpreg1; + /* Enable the MAC reception */ SET_BIT(heth->Instance->MACCR, ETH_MACCR_RE); + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACCR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACCR = tmpreg1; + /* Flush Transmit FIFO */ ETH_FlushTransmitFIFO(heth); @@ -739,6 +753,8 @@ HAL_StatusTypeDef HAL_ETH_Start(ETH_HandleTypeDef *heth) */ HAL_StatusTypeDef HAL_ETH_Start_IT(ETH_HandleTypeDef *heth) { + uint32_t tmpreg1; + if (heth->gState == HAL_ETH_STATE_READY) { heth->gState = HAL_ETH_STATE_BUSY; @@ -765,9 +781,21 @@ HAL_StatusTypeDef HAL_ETH_Start_IT(ETH_HandleTypeDef *heth) /* Enable the MAC transmission */ SET_BIT(heth->Instance->MACCR, ETH_MACCR_TE); + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACCR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACCR = tmpreg1; + /* Enable the MAC reception */ SET_BIT(heth->Instance->MACCR, ETH_MACCR_RE); + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACCR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACCR = tmpreg1; + /* Flush Transmit FIFO */ ETH_FlushTransmitFIFO(heth); @@ -802,12 +830,14 @@ HAL_StatusTypeDef HAL_ETH_Start_IT(ETH_HandleTypeDef *heth) */ HAL_StatusTypeDef HAL_ETH_Stop(ETH_HandleTypeDef *heth) { + uint32_t tmpreg1; + if (heth->gState == HAL_ETH_STATE_STARTED) { /* Set the ETH peripheral state to BUSY */ heth->gState = HAL_ETH_STATE_BUSY; /* Disable the DMA transmission */ - CLEAR_BIT(heth->Instance->MACCR, ETH_MACCR_TE); + CLEAR_BIT(heth->Instance->DMAOMR, ETH_DMAOMR_ST); /* Disable the DMA reception */ CLEAR_BIT(heth->Instance->DMAOMR, ETH_DMAOMR_SR); @@ -815,12 +845,24 @@ HAL_StatusTypeDef HAL_ETH_Stop(ETH_HandleTypeDef *heth) /* Disable the MAC reception */ CLEAR_BIT(heth->Instance->MACCR, ETH_MACCR_RE); + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACCR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACCR = tmpreg1; + /* Flush Transmit FIFO */ ETH_FlushTransmitFIFO(heth); /* Disable the MAC transmission */ CLEAR_BIT(heth->Instance->MACCR, ETH_MACCR_TE); + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACCR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACCR = tmpreg1; + heth->gState = HAL_ETH_STATE_READY; /* Return function status */ @@ -842,6 +884,7 @@ HAL_StatusTypeDef HAL_ETH_Stop_IT(ETH_HandleTypeDef *heth) { ETH_DMADescTypeDef *dmarxdesc; uint32_t descindex; + uint32_t tmpreg1; if (heth->gState == HAL_ETH_STATE_STARTED) { @@ -852,19 +895,32 @@ HAL_StatusTypeDef HAL_ETH_Stop_IT(ETH_HandleTypeDef *heth) ETH_DMAIER_FBEIE | ETH_DMAIER_AISE | ETH_DMAIER_RBUIE)); /* Disable the DMA transmission */ - CLEAR_BIT(heth->Instance->MACCR, ETH_MACCR_TE); + CLEAR_BIT(heth->Instance->DMAOMR, ETH_DMAOMR_ST); /* Disable the DMA reception */ CLEAR_BIT(heth->Instance->DMAOMR, ETH_DMAOMR_SR); /* Disable the MAC reception */ CLEAR_BIT(heth->Instance->MACCR, ETH_MACCR_RE); + + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACCR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACCR = tmpreg1; + /* Flush Transmit FIFO */ ETH_FlushTransmitFIFO(heth); /* Disable the MAC transmission */ CLEAR_BIT(heth->Instance->MACCR, ETH_MACCR_TE); + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACCR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACCR = tmpreg1; + /* Clear IOC bit to all Rx descriptors */ for (descindex = 0; descindex < (uint32_t)ETH_RX_DESC_CNT; descindex++) { @@ -1173,20 +1229,23 @@ static void ETH_UpdateDescriptor(ETH_HandleTypeDef *heth) if (allocStatus != 0U) { - /* Ensure rest of descriptor is written to RAM before the OWN bit */ - __DMB(); - - WRITE_REG(dmarxdesc->DESC0, ETH_DMARXDESC_OWN); - if (heth->RxDescList.ItMode == 0U) { - WRITE_REG(dmarxdesc->DESC1, ETH_DMARXDESC_DIC | 1000U | ETH_DMARXDESC_RCH); + WRITE_REG(dmarxdesc->DESC1, ETH_DMARXDESC_DIC | ETH_RX_BUF_SIZE | ETH_DMARXDESC_RCH); } else { - WRITE_REG(dmarxdesc->DESC1, 1000U | ETH_DMARXDESC_RCH); + WRITE_REG(dmarxdesc->DESC1, ETH_RX_BUF_SIZE | ETH_DMARXDESC_RCH); } + /* Before transferring the ownership to DMA, make sure that the RX descriptors bits writing + is fully performed. + The __DMB() instruction is added to avoid any potential compiler optimization that + may lead to abnormal behavior. */ + __DMB(); + + SET_BIT(dmarxdesc->DESC0, ETH_DMARXDESC_OWN); + /* Increment current rx descriptor index */ INCR_RX_DESC_INDEX(descidx, 1U); /* Get current descriptor address */ @@ -2146,15 +2205,15 @@ HAL_StatusTypeDef HAL_ETH_GetMACConfig(ETH_HandleTypeDef *heth, ETH_MACConfigTyp macconf->Watchdog = ((READ_BIT(heth->Instance->MACCR, ETH_MACCR_WD) >> 23) == 0U) ? ENABLE : DISABLE; macconf->AutomaticPadCRCStrip = ((READ_BIT(heth->Instance->MACCR, ETH_MACCR_APCS) >> 7) > 0U) ? ENABLE : DISABLE; macconf->InterPacketGapVal = READ_BIT(heth->Instance->MACCR, ETH_MACCR_IFG); - macconf->ChecksumOffload = ((READ_BIT(heth->Instance->MACCR, ETH_MACCR_IPCO) >> 27) > 0U) ? ENABLE : DISABLE; + macconf->ChecksumOffload = ((READ_BIT(heth->Instance->MACCR, ETH_MACCR_IPCO) >> 10U) > 0U) ? ENABLE : DISABLE; macconf->TransmitFlowControl = ((READ_BIT(heth->Instance->MACFCR, ETH_MACFCR_TFCE) >> 1) > 0U) ? ENABLE : DISABLE; macconf->ZeroQuantaPause = ((READ_BIT(heth->Instance->MACFCR, ETH_MACFCR_ZQPD) >> 7) == 0U) ? ENABLE : DISABLE; macconf->PauseLowThreshold = READ_BIT(heth->Instance->MACFCR, ETH_MACFCR_PLT); macconf->PauseTime = (READ_BIT(heth->Instance->MACFCR, ETH_MACFCR_PT) >> 16); - macconf->ReceiveFlowControl = (READ_BIT(heth->Instance->MACFCR, ETH_MACFCR_RFCE) > 0U) ? ENABLE : DISABLE; - macconf->UnicastPausePacketDetect = ((READ_BIT(heth->Instance->MACFCR, ETH_MACFCR_UPFD) >> 1) > 0U) + macconf->ReceiveFlowControl = ((READ_BIT(heth->Instance->MACFCR, ETH_MACFCR_RFCE) >> 2U) > 0U) ? ENABLE : DISABLE; + macconf->UnicastPausePacketDetect = ((READ_BIT(heth->Instance->MACFCR, ETH_MACFCR_UPFD) >> 3U) > 0U) ? ENABLE : DISABLE; return HAL_OK; @@ -2175,8 +2234,9 @@ HAL_StatusTypeDef HAL_ETH_GetDMAConfig(ETH_HandleTypeDef *heth, ETH_DMAConfigTyp return HAL_ERROR; } - dmaconf->DMAArbitration = READ_BIT(heth->Instance->DMABMR, ETH_DMABMR_DSL) >> 2; - dmaconf->AddressAlignedBeats = ((READ_BIT(heth->Instance->DMABMR, ETH_DMABMR_AAB) >> 12) > 0U) ? ENABLE : DISABLE; + dmaconf->DMAArbitration = READ_BIT(heth->Instance->DMABMR, + (ETH_DMAARBITRATION_RXPRIORTX | ETH_DMAARBITRATION_ROUNDROBIN_RXTX_4_1)); + dmaconf->AddressAlignedBeats = ((READ_BIT(heth->Instance->DMABMR, ETH_DMABMR_AAB) >> 25U) > 0U) ? ENABLE : DISABLE; dmaconf->BurstMode = READ_BIT(heth->Instance->DMABMR, ETH_DMABMR_FB | ETH_DMABMR_MB); dmaconf->RxDMABurstLength = READ_BIT(heth->Instance->DMABMR, ETH_DMABMR_RDP); dmaconf->TxDMABurstLength = READ_BIT(heth->Instance->DMABMR, ETH_DMABMR_PBL); @@ -2312,6 +2372,7 @@ void HAL_ETH_SetMDIOClockRange(ETH_HandleTypeDef *heth) HAL_StatusTypeDef HAL_ETH_SetMACFilterConfig(ETH_HandleTypeDef *heth, ETH_MACFilterConfigTypeDef *pFilterConfig) { uint32_t filterconfig; + uint32_t tmpreg1; if (pFilterConfig == NULL) { @@ -2332,6 +2393,12 @@ HAL_StatusTypeDef HAL_ETH_SetMACFilterConfig(ETH_HandleTypeDef *heth, ETH_MACFil MODIFY_REG(heth->Instance->MACFFR, ETH_MACFFR_MASK, filterconfig); + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACFFR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACFFR = tmpreg1; + return HAL_OK; } @@ -2417,14 +2484,28 @@ HAL_StatusTypeDef HAL_ETH_SetSourceMACAddrMatch(ETH_HandleTypeDef *heth, uint32_ */ HAL_StatusTypeDef HAL_ETH_SetHashTable(ETH_HandleTypeDef *heth, uint32_t *pHashTable) { + uint32_t tmpreg1; if (pHashTable == NULL) { return HAL_ERROR; } heth->Instance->MACHTHR = pHashTable[0]; + + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACHTHR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACHTHR = tmpreg1; + heth->Instance->MACHTLR = pHashTable[1]; + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACHTLR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACHTLR = tmpreg1; + return HAL_OK; } @@ -2439,6 +2520,7 @@ HAL_StatusTypeDef HAL_ETH_SetHashTable(ETH_HandleTypeDef *heth, uint32_t *pHashT */ void HAL_ETH_SetRxVLANIdentifier(ETH_HandleTypeDef *heth, uint32_t ComparisonBits, uint32_t VLANIdentifier) { + uint32_t tmpreg1; MODIFY_REG(heth->Instance->MACVLANTR, ETH_MACVLANTR_VLANTI, VLANIdentifier); if (ComparisonBits == ETH_VLANTAGCOMPARISON_16BIT) { @@ -2448,6 +2530,12 @@ void HAL_ETH_SetRxVLANIdentifier(ETH_HandleTypeDef *heth, uint32_t ComparisonBit { SET_BIT(heth->Instance->MACVLANTR, ETH_MACVLANTR_VLANTC); } + + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACVLANTR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACVLANTR = tmpreg1; } /** @@ -2478,13 +2566,27 @@ void HAL_ETH_EnterPowerDownMode(ETH_HandleTypeDef *heth, ETH_PowerDownConfigType */ void HAL_ETH_ExitPowerDownMode(ETH_HandleTypeDef *heth) { + uint32_t tmpreg1; + /* clear wake up sources */ CLEAR_BIT(heth->Instance->MACPMTCSR, ETH_MACPMTCSR_WFE | ETH_MACPMTCSR_MPE | ETH_MACPMTCSR_GU); + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACPMTCSR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACPMTCSR = tmpreg1; + if (READ_BIT(heth->Instance->MACPMTCSR, ETH_MACPMTCSR_PD) != 0U) { /* Exit power down mode */ CLEAR_BIT(heth->Instance->MACPMTCSR, ETH_MACPMTCSR_PD); + + /* Wait until the write operation will be taken into account : + at least four TX_CLK/RX_CLK clock cycles */ + tmpreg1 = (heth->Instance)->MACPMTCSR; + HAL_Delay(ETH_REG_WRITE_DELAY); + (heth->Instance)->MACPMTCSR = tmpreg1; } /* Disable PMT interrupt */ @@ -2670,11 +2772,11 @@ static void ETH_SetMACConfig(ETH_HandleTypeDef *heth, ETH_MACConfigTypeDef *mac tmpreg1 &= ETH_MACFCR_CLEAR_MASK; tmpreg1 |= (uint32_t)((macconf->PauseTime << 16U) | - (uint32_t)macconf->ZeroQuantaPause | + ((uint32_t)((macconf->ZeroQuantaPause == DISABLE) ? 1U : 0U) << 7U) | macconf->PauseLowThreshold | - (uint32_t)macconf->UnicastSlowProtocolPacketDetect | - (uint32_t)macconf->ReceiveFlowControl | - (uint32_t)macconf->TransmitFlowControl); + ((uint32_t)((macconf->UnicastPausePacketDetect == ENABLE) ? 1U : 0U) << 3U) | + ((uint32_t)((macconf->ReceiveFlowControl == ENABLE) ? 1U : 0U) << 2U) | + ((uint32_t)((macconf->TransmitFlowControl == ENABLE) ? 1U : 0U) << 1U)); /* Write to ETHERNET MACFCR */ (heth->Instance)->MACFCR = (uint32_t)tmpreg1; @@ -2764,7 +2866,7 @@ static void ETH_MACDMAConfig(ETH_HandleTypeDef *heth) macDefaultConf.TransmitFlowControl = DISABLE; macDefaultConf.Speed = ETH_SPEED_100M; macDefaultConf.DuplexMode = ETH_FULLDUPLEX_MODE; - macDefaultConf.UnicastSlowProtocolPacketDetect = DISABLE; + macDefaultConf.UnicastPausePacketDetect = DISABLE; /* MAC default configuration */ ETH_SetMACConfig(heth, &macDefaultConf); @@ -3091,6 +3193,12 @@ static void ETH_InitCallbacksToDefault(ETH_HandleTypeDef *heth) heth->ErrorCallback = HAL_ETH_ErrorCallback; /* Legacy weak ErrorCallback */ heth->PMTCallback = HAL_ETH_PMTCallback; /* Legacy weak PMTCallback */ heth->WakeUpCallback = HAL_ETH_WakeUpCallback; /* Legacy weak WakeUpCallback */ + heth->rxLinkCallback = HAL_ETH_RxLinkCallback; /* Legacy weak RxLinkCallback */ + heth->txFreeCallback = HAL_ETH_TxFreeCallback; /* Legacy weak TxFreeCallback */ +#ifdef HAL_ETH_USE_PTP + heth->txPtpCallback = HAL_ETH_TxPtpCallback; /* Legacy weak TxPtpCallback */ +#endif /* HAL_ETH_USE_PTP */ + heth->rxAllocateCallback = HAL_ETH_RxAllocateCallback; /* Legacy weak RxAllocateCallback */ } #endif /* USE_HAL_ETH_REGISTER_CALLBACKS */ diff --git a/Release_Notes.html b/Release_Notes.html index 73c479bad..b11e845b5 100644 --- a/Release_Notes.html +++ b/Release_Notes.html @@ -11,7 +11,7 @@ span.underline{text-decoration: underline;} div.column{display: inline-block; vertical-align: top; width: 50%;} - + @@ -60,11 +60,49 @@

Purpose

Update History

- +

Maintenance release

Main Changes

    +
  • Patch release of STM32CubeF4 Firmware Package.

  • +
  • HAL +
      +
    • ETH_HAL +
        +
      • Remove useless assert_param(IS_ETH_MAC_ADDRESS0123(MacAddr)) from static function ETH_MACAddressConfig().
      • +
      • Replace hard coded Rx buffer size (1000U) by macro ETH_RX_BUF_SIZE.
      • +
      • Correct bit positions when getting MAC and DMA configurations and replace ‘UnicastSlowProtocolPacketDetect’ by ‘UnicastPausePacketDetect’ in the MAC default configuration structure.
      • +
      • Ensure a delay of 4 TX_CLK/RX_CLK cycles between two successive write operations to the same register.
      • +
      • Disable DMA transmission in both HAL_ETH_Stop_IT() and HAL_ETH_Stop() APIs.
      • +
    • +
  • +
+

Contents

+ + + + + + + + + + + + + + + +
NameVersionRelease note
STM32F4xx HALV1.8.1release notes
+
+
+
+ +
+

Maintenance release

+

Main Changes

+
  • General updates to fix known defects and implementation enhancements.
  • All source files: update disclaimer to add reference to the new license agreement.
  • The following changes done on the HAL drivers require an update of the application code based on older HAL versions @@ -267,7 +305,7 @@

    Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware component

  • -

    Contents

    +

    Contents

    @@ -677,8 +715,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • General updates to fix known defects and enhancements implementation.

    • CMSIS updates @@ -787,7 +825,7 @@

      Main Changes

    -

    Contents

    +

    Contents

    Drivers
    @@ -814,8 +852,8 @@

    Contents

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Patch release to mainly fix a wrong system clock configuration in some STM32F411/412/413 projects.

    • HAL @@ -834,7 +872,7 @@

      Main Changes

    -

    Contents

    +

    Contents

    @@ -856,8 +894,8 @@

    Contents

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • General updates to fix known defects and enhancements implementation
    • Add new HAL FMPSMBUS extended driver to support FMPSMBUS fast Mode Plus.
    • @@ -1145,7 +1183,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware component
  • -

    Contents

    +

    Contents

    @@ -1540,8 +1578,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Patch release of STM32CubeF4 Firmware Package.

    • HAL

      @@ -1555,7 +1593,7 @@

      Main Changes

    -

    Contents

    +

    Contents

    Drivers
    @@ -1577,8 +1615,8 @@

    Contents

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Patch release to fix known defects and enhancements implementation.

    • HAL

      @@ -1609,7 +1647,7 @@

      Main Changes

    -

    Contents

    +

    Contents

    @@ -1631,8 +1669,8 @@

    Contents

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Add new HAL FMPSMBUS and LL FMPI2C drivers
    • General updates to fix known defects and enhancements implementation
    • @@ -1733,7 +1771,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware component

  • -

    Contents

    +

    Contents

    @@ -2112,8 +2150,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Patch release to fix known defects and enhancements implementation

    • HAL @@ -2134,7 +2172,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware component

  • -

    Contents

    +

    Contents

    Drivers
    @@ -2162,8 +2200,8 @@

    Contents

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Patch release to fix mainly the I2C send break issue with IT processes API’s
    • HAL I2C update @@ -2195,7 +2233,7 @@

      Main Changes

    • Software Quality improvement with a fix ofCodeSonar warning on PCD_Port_IRQHandler() and HCD_Port_IRQHandler()interrupt handlers
    -

    Contents

    +

    Contents

    Drivers
    @@ -2218,8 +2256,8 @@

    Contents

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • HAL
        @@ -2302,7 +2340,7 @@

        Main Changes

    • For the complete list of changes, please refer to the release notes of each firmware component
    -

    Contents

    +

    Contents

    Drivers
    @@ -2676,8 +2714,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Maintenance release:
        @@ -2689,8 +2727,8 @@

        Main Changes

        -

        Maintenance release

        -

        Main Changes

        +

        Maintenance release

        +

        Main Changes

        • Thanks to the acquisition of Draupner Graphics A/S, ST is extending the STM32 ecosystem with advanced and easy to use graphic software solution enabling stunning GUI additions to embedded devices. TouchGFX solution is now fully part of STM32CubeF4.
        • TouchGFX examples and demonstrations can be accessed directly through the TouchGFX Designer tool. Here you simply create a new project, select the appropriate ST board in the Application Template section and select whatever demonstration or example you want in the UI Template selector. After this you will have a TouchGFX application ready to compile and flash to the selected ST board. More information are available here

        • @@ -2717,7 +2755,7 @@

          Main Changes

      • For the complete list of changes, please refer to the release notes of each firmware component

      -

      Contents

      +

      Contents

    Drivers
    @@ -3095,8 +3133,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • General updates to fix known defects and enhancements implementation

    • HAL @@ -3126,7 +3164,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware component

  • -

    Contents

    +

    Contents

    Drivers
    @@ -3496,12 +3534,12 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Package Clean-up: remove unwanted project folders
    -

    Contents

    +

    Contents

    Drivers
    @@ -3871,8 +3909,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • General updates to be compliant with Linux platforms
    • General update to fix known defects and several implementations enhancement
    • @@ -3931,7 +3969,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware component
  • -

    Contents

    +

    Contents

    Drivers
    @@ -4301,8 +4339,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • General update to fix known defects and several implementations enhancement

    • HAL @@ -4335,7 +4373,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware component

  • -

    Contents

    +

    Contents

    Drivers
    @@ -4696,8 +4734,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Add the support of the STM32F413H-Discovery board
        @@ -4772,7 +4810,7 @@

        Main Changes

    • For the complete list of changes, please refer to the release notes of each firmware component

    -

    Contents

    +

    Contents

    Drivers
    @@ -5133,8 +5171,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Official release to add the support of STM32F413xx and STM32F423xx devices
    • Fix known defects and several implementation enhancement

    • @@ -5184,7 +5222,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware component

  • -

    Contents

    +

    Contents

    Drivers
    @@ -5545,12 +5583,12 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Patch release to fix issues in I2C/FMPI2C HAL drivers
    -

    Contents

    +

    Contents

    Drivers
    @@ -5572,8 +5610,8 @@

    Contents

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Fix known defects and enhancements implementation
    • HAL @@ -5620,7 +5658,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware component
  • -

    Contents

    +

    Contents

    @@ -5979,8 +6017,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Official release to add the support of STM32F412cx, STM32F412rx, STM32F412vx and STM32F412zx devices
    • Fix known defects and several implementation enhancement

    • @@ -6021,7 +6059,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware component

  • -

    Contents

    +

    Contents

    Drivers
    @@ -6379,8 +6417,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Fix known defects and enhancements implementation
    • HAL @@ -6417,7 +6455,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware component
  • -

    Contents

    +

    Contents

    Drivers
    @@ -6774,12 +6812,12 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • For the complete list of changes, please refer to the release notes of each firmware component
    -

    Contents

    +

    Contents

    Drivers
    @@ -6801,8 +6839,8 @@

    Contents

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Support new boards: STM32F411E-Discovery, STM32F446ZE NUCLEO144 and STM32F429ZI NUCLEO144
    • Fix known defects and enhancements implementation

    • @@ -6838,7 +6876,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware component

  • -

    Contents

    +

    Contents

    @@ -7185,8 +7223,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Maintenance release to fix known defects and enhancements implementation
    • HAL @@ -7228,7 +7266,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware component
  • -

    Contents

    +

    Contents

    Drivers
    @@ -7567,8 +7605,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Official release to support STM32F469xx, STM32F479xx, STM32F410Cx, STM32F410Rx and STM32F410Tx devices
    • Fix known defects and several enhancements implementation

    • @@ -7607,7 +7645,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware components

  • -

    Contents

    +

    Contents

    Drivers
    @@ -7949,8 +7987,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Official release to support STM32446E-Nucleo board
    • Maintenance release to fix known defects

    • @@ -7987,7 +8025,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware components

  • -

    Contents

    +

    Contents

    Drivers
    @@ -8351,8 +8389,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Add support of System Workbench for STM32 (SW4STM32) toolchain
    • Maintenance release to fix known defects

    • @@ -8392,7 +8430,7 @@

      Main Changes

  • Fix compile issue in some projects (9 in total), mainly due to bad project settings

  • -

    Contents

    +

    Contents

    Drivers
    @@ -8749,8 +8787,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Official release to support STM32F446xx devices
    • Fix known defects and several enhancements implementation

    • @@ -8788,7 +8826,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware components

  • -

    Contents

    +

    Contents

    Drivers
    @@ -9144,8 +9182,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Maintenance release to fix known defects and several enhancements implementation
    • HAL @@ -9194,7 +9232,7 @@

      Main Changes

  • For the complete list of changes, please refer to the release notes of each firmware components

  • -

    Contents

    +

    Contents

    Drivers
    @@ -9541,8 +9579,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Full features release, containing all projects sources for the supported boards

    • Projects @@ -9562,7 +9600,7 @@

      Main Changes

  • Use STM32CubeUpdater.exe utility V4.2.0

  • -

    Contents

    +

    Contents

    Drivers
    @@ -9898,8 +9936,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Patch release for STM32CubeF4, adding support of STM32F411xE devices with several enhancements and bugs fix
        @@ -9921,7 +9959,7 @@

        Main Changes

    • Note: for the complete list of changes, please refer to the release notes of each Firmware component
    -

    Contents

    +

    Contents

    Drivers
    @@ -10236,8 +10274,8 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • Add sources of STM324x9I-EVAL (both references MB1046 and MB1063), STM324xG-EVAL and STM32F429I-Discovery Demonstration (only for EWARM and MDK-ARM)
        @@ -10247,7 +10285,7 @@

        Main Changes

      • Miscellaneous update on Examples, Applications, Demonstrations and Templates projects for some boards; for more details refer to the associated release notes
      • Minor update in STM324x9I-EVAL, STM324xG-EVAL and STM32F429I-Discovery uSD and EEPROM BSP drivers
      -

      Contents

      +

      Contents

    Drivers
    @@ -10549,12 +10587,12 @@

    Dependencies

    -

    Maintenance release

    -

    Main Changes

    +

    Maintenance release

    +

    Main Changes

    • First official release of STM32CubeF4 (STM32Cube for STM32F4 Series)
    -

    Contents

    +

    Contents

    Drivers
    diff --git a/_htmresc/ReleaseNotes.html b/_htmresc/ReleaseNotes.html index 3bbbcc98b..0abd0eaa2 100644 --- a/_htmresc/ReleaseNotes.html +++ b/_htmresc/ReleaseNotes.html @@ -1,4 +1,3 @@ - -STM32CubeF4 Firmware Package V1.26.0 / 12-February-2021
    +STM32CubeF4 Firmware Package V1.27.0 / 11-February-2022

    -Main Changes

    • General updates to fix known defects and enhancements implementation
    • Added new HAL FMPSMBUS extended driver to support FMPSMBUS fast Mode Plus.
    • Upgraded FreeRTOS to use V10.3.1 ST modified 20200831.
    • Upgraded USB Device Lib to use V2.7.1.
    • Upgraded MbedTLS to use V2.16.2
    • Upgraded PDM Lib to use V3.3.0
    • Removed register keyword to be compliant with new C++ rules:
      • The register storage class specifier was deprecated in C++11 and removed in C++17.
    • Support onew component LSM303AGR accelerometer.
    • Support new component I34250D gyroscope.
    • Support new LCD controller component NT35510.
    \ No newline at end of file +Main Changes

    • Maintenance release
    • General updates to fix known defects and enhancements implementation
    • Rework Ethernet driver to resolve problems and improve performance.
    • Upgraded USB Device Lib to use V2.10.0.
    • Upgraded USB Host Lib to use V3.4.0.
    \ No newline at end of file diff --git a/_htmresc/ReleaseNotes_Patch.html b/_htmresc/ReleaseNotes_Patch.html index 72cdf5d96..e3e366ed3 100644 --- a/_htmresc/ReleaseNotes_Patch.html +++ b/_htmresc/ReleaseNotes_Patch.html @@ -1,30 +1,4 @@ - - - - - - - - STM32CubeF4 Firmware Package V1.26.2 / - 16-July-2021
    -
    - Main Changes
    -
      -
    • -

      Patch release to fix - known defects and enhancements implementation.

      -
    • -
    - - +STM32CubeF4 Firmware Package V1.27.1 /22-June-2022
    +
    +Main Changes
    • Patch release of STM32CubeF4 Firmware package.
    • Update HAL ETH driver.
      +
    \ No newline at end of file diff --git a/_htmresc/STM32Cube.bmp b/_htmresc/STM32Cube.bmp index 3f4eb3d9beab87c0f85fa2841c325de07f98898c..44657b635421249532114efc6bdf1a2d3f8734f8 100644 GIT binary patch literal 1802394 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%0DW9L_+2~TlEuH`B(LSKtf~hvsD_% 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 aR4oVy0)l`bAP5Kof`A|(2sng*$MgTO%{rF= diff --git a/package.xml b/package.xml index 6871b3986..eedb0eba1 100644 --- a/package.xml +++ b/package.xml @@ -1,6 +1,6 @@ - - + +
    Drivers