Skip to content

Commit

Permalink
Update STM32H7 HAL driver to v1.11.3
Browse files Browse the repository at this point in the history
  • Loading branch information
multiplemonomials committed Sep 22, 2024
1 parent ab05128 commit 885956a
Show file tree
Hide file tree
Showing 289 changed files with 98,623 additions and 25,412 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -160,4 +160,8 @@ void HAL_ETH_MspDeInit(ETH_HandleTypeDef *heth)
}
}

// Blank, non-weak-override function to make sure the linker pulls in this file
void stm32_eth_init_weak_symbol_helper()
{}

#endif /* USE_USER_DEFINED_HAL_ETH_MSPINIT */
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#error [NOT_SUPPORTED] No network configuration found for this target.
#endif

#if MBED_CONF_TARGET_NETWORK_DEFAULT_INTERFACE_TYPE == WIFI
/*
* Read the MBED_GREENTEA_WIFI_SECURE_PROTOCOL define from CMake and get the type of wifi
* security in use
Expand Down Expand Up @@ -58,6 +59,7 @@ inline WiFiInterface *get_wifi_interface()

return wifi_interface;
}
#endif

/*
* Get the default network interface for this board.
Expand Down
5 changes: 3 additions & 2 deletions targets/TARGET_STM/TARGET_STM32H7/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,6 @@ elseif("STM32H7_280MHZ" IN_LIST MBED_TARGET_LABELS)
target_sources(mbed-stm32h7 INTERFACE clock_cfg/TARGET_STM32H7_280MHZ/system_clock.c)
endif()

# Add linker scripts
add_subdirectory(linker_scripts)
# Add linker scripts & system init files
add_subdirectory(linker_scripts)
add_subdirectory(system_init_files)
666 changes: 360 additions & 306 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h723xx.h

Large diffs are not rendered by default.

666 changes: 360 additions & 306 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h725xx.h

Large diffs are not rendered by default.

670 changes: 362 additions & 308 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h730xx.h

Large diffs are not rendered by default.

670 changes: 362 additions & 308 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h730xxq.h

Large diffs are not rendered by default.

670 changes: 362 additions & 308 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h733xx.h

Large diffs are not rendered by default.

670 changes: 362 additions & 308 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h735xx.h

Large diffs are not rendered by default.

843 changes: 520 additions & 323 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h742xx.h

Large diffs are not rendered by default.

845 changes: 521 additions & 324 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h743xx.h

Large diffs are not rendered by default.

27,361 changes: 27,361 additions & 0 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h745xg.h

Large diffs are not rendered by default.

861 changes: 531 additions & 330 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h745xx.h

Large diffs are not rendered by default.

30,534 changes: 30,534 additions & 0 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h747xg.h

Large diffs are not rendered by default.

889 changes: 543 additions & 346 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h747xx.h

Large diffs are not rendered by default.

849 changes: 523 additions & 326 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h750xx.h

Large diffs are not rendered by default.

849 changes: 523 additions & 326 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h753xx.h

Large diffs are not rendered by default.

865 changes: 533 additions & 332 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h755xx.h

Large diffs are not rendered by default.

889 changes: 545 additions & 344 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h757xx.h

Large diffs are not rendered by default.

523 changes: 284 additions & 239 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h7a3xx.h

Large diffs are not rendered by default.

523 changes: 284 additions & 239 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h7a3xxq.h

Large diffs are not rendered by default.

527 changes: 286 additions & 241 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h7b0xx.h

Large diffs are not rendered by default.

527 changes: 286 additions & 241 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h7b0xxq.h

Large diffs are not rendered by default.

527 changes: 286 additions & 241 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h7b3xx.h

Large diffs are not rendered by default.

527 changes: 286 additions & 241 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h7b3xxq.h

Large diffs are not rendered by default.

87 changes: 76 additions & 11 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMSIS/stm32h7xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,12 @@
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
* All rights reserved.</center></h2>
* Copyright (c) 2017 STMicroelectronics.
* All rights reserved.
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
Expand Down Expand Up @@ -59,18 +58,21 @@
*/

#if !defined (STM32H743xx) && !defined (STM32H753xx) && !defined (STM32H750xx) && !defined (STM32H742xx) && \
!defined (STM32H745xx) && !defined (STM32H755xx) && !defined (STM32H747xx) && !defined (STM32H757xx) && \
!defined (STM32H745xx) && !defined (STM32H745xG) && !defined (STM32H755xx) && !defined (STM32H747xx) && !defined (STM32H747xG)&& !defined (STM32H757xx) && \
!defined (STM32H7A3xx) && !defined (STM32H7A3xxQ) && !defined (STM32H7B3xx) && !defined (STM32H7B3xxQ) && !defined (STM32H7B0xx) && !defined (STM32H7B0xxQ) && \
!defined (STM32H735xx) && !defined (STM32H733xx) && !defined (STM32H730xx) && !defined (STM32H730xxQ) && !defined (STM32H725xx) && !defined (STM32H723xx)
/* #define STM32H742xx */ /*!< STM32H742VI, STM32H742ZI, STM32H742AI, STM32H742II, STM32H742BI, STM32H742XI Devices */
/* #define STM32H743xx */ /*!< STM32H743VI, STM32H743ZI, STM32H743AI, STM32H743II, STM32H743BI, STM32H743XI Devices */
/* #define STM32H753xx */ /*!< STM32H753VI, STM32H753ZI, STM32H753AI, STM32H753II, STM32H753BI, STM32H753XI Devices */
/* #define STM32H750xx */ /*!< STM32H750V, STM32H750I, STM32H750X Devices */
/* #define STM32H747xx */ /*!< STM32H747ZI, STM32H747AI, STM32H747II, STM32H747BI, STM32H747XI Devices */
/* #define STM32H747xG */ /*!< STM32H747AG, STM32H747IG, STM32H747BG, STM32H747XG */
/* #define STM32H757xx */ /*!< STM32H757ZI, STM32H757AI, STM32H757II, STM32H757BI, STM32H757XI Devices */
/* #define STM32H745xx */ /*!< STM32H745ZI, STM32H745II, STM32H745BI, STM32H745XI Devices */
/* #define STM32H745xG */ /*!< STM32H745ZG, STM32H745IG, STM32H745BG, STM32H745XG Devices */
/* #define STM32H755xx */ /*!< STM32H755ZI, STM32H755II, STM32H755BI, STM32H755XI Devices */
/* #define STM32H7B0xx */ /*!< STM32H7B0ABIxQ, STM32H7B0IBTx, STM32H7B0RBTx, STM32H7B0VBTx, STM32H7B0ZBTx, STM32H7B0IBKxQ */
/* #define STM32H7B0xx */ /*!< STM32H7B0IBTx, STM32H7B0RBTx, STM32H7B0VBTx, STM32H7B0ZBTx Devices */
/* #define STM32H7B0xxQ */ /*!< STM32H7B0ABIxQ, STM32H7B0IBKxQ Devices */
/* #define STM32H7A3xx */ /*!< STM32H7A3IIK6, STM32H7A3IIT6, STM32H7A3NIH6, STM32H7A3RIT6, STM32H7A3VIH6, STM32H7A3VIT6, STM32H7A3ZIT6 */
/* #define STM32H7A3xxQ */ /*!< STM32H7A3QIY6Q, STM32H7A3IIK6Q, STM32H7A3IIT6Q, STM32H7A3LIH6Q, STM32H7A3VIH6Q, STM32H7A3VIT6Q, STM32H7A3AII6Q, STM32H7A3ZIT6Q */
/* #define STM32H7B3xx */ /*!< STM32H7B3IIK6, STM32H7B3IIT6, STM32H7B3NIH6, STM32H7B3RIT6, STM32H7B3VIH6, STM32H7B3VIT6, STM32H7B3ZIT6 */
Expand Down Expand Up @@ -101,11 +103,11 @@
#endif /* USE_HAL_DRIVER */

/**
* @brief CMSIS Device version number V1.10.0
* @brief CMSIS Device version number V1.10.4
*/
#define __STM32H7xx_CMSIS_DEVICE_VERSION_MAIN (0x01) /*!< [31:24] main version */
#define __STM32H7xx_CMSIS_DEVICE_VERSION_SUB1 (0x0A) /*!< [23:16] sub1 version */
#define __STM32H7xx_CMSIS_DEVICE_VERSION_SUB2 (0x00) /*!< [15:8] sub2 version */
#define __STM32H7xx_CMSIS_DEVICE_VERSION_SUB2 (0x04) /*!< [15:8] sub2 version */
#define __STM32H7xx_CMSIS_DEVICE_VERSION_RC (0x00) /*!< [7:0] release candidate */
#define __STM32H7xx_CMSIS_DEVICE_VERSION ((__STM32H7xx_CMSIS_DEVICE_VERSION_MAIN << 24)\
|(__STM32H7xx_CMSIS_DEVICE_VERSION_SUB1 << 16)\
Expand All @@ -116,6 +118,12 @@
* @}
*/

// MBED: The CMake scripts always define __FPU_PRESENT, but the MCU CMSIS headers below also define it.
// So, undef it here to prevent multiple definition warning.
#ifdef __FPU_PRESENT
#undef __FPU_PRESENT
#endif

/** @addtogroup Device_Included
* @{
*/
Expand All @@ -130,10 +138,14 @@
#include "stm32h742xx.h"
#elif defined(STM32H745xx)
#include "stm32h745xx.h"
#elif defined(STM32H745xG)
#include "stm32h745xg.h"
#elif defined(STM32H755xx)
#include "stm32h755xx.h"
#elif defined(STM32H747xx)
#include "stm32h747xx.h"
#elif defined(STM32H747xG)
#include "stm32h747xg.h"
#elif defined(STM32H757xx)
#include "stm32h757xx.h"
#elif defined(STM32H7B0xx)
Expand Down Expand Up @@ -214,6 +226,60 @@ typedef enum

#define POSITION_VAL(VAL) (__CLZ(__RBIT(VAL)))

/* Use of CMSIS compiler intrinsics for register exclusive access */
/* Atomic 32-bit register access macro to set one or several bits */
#define ATOMIC_SET_BIT(REG, BIT) \
do { \
uint32_t val; \
do { \
val = __LDREXW((__IO uint32_t *)&(REG)) | (BIT); \
} while ((__STREXW(val,(__IO uint32_t *)&(REG))) != 0U); \
} while(0)

/* Atomic 32-bit register access macro to clear one or several bits */
#define ATOMIC_CLEAR_BIT(REG, BIT) \
do { \
uint32_t val; \
do { \
val = __LDREXW((__IO uint32_t *)&(REG)) & ~(BIT); \
} while ((__STREXW(val,(__IO uint32_t *)&(REG))) != 0U); \
} while(0)

/* Atomic 32-bit register access macro to clear and set one or several bits */
#define ATOMIC_MODIFY_REG(REG, CLEARMSK, SETMASK) \
do { \
uint32_t val; \
do { \
val = (__LDREXW((__IO uint32_t *)&(REG)) & ~(CLEARMSK)) | (SETMASK); \
} while ((__STREXW(val,(__IO uint32_t *)&(REG))) != 0U); \
} while(0)

/* Atomic 16-bit register access macro to set one or several bits */
#define ATOMIC_SETH_BIT(REG, BIT) \
do { \
uint16_t val; \
do { \
val = __LDREXH((__IO uint16_t *)&(REG)) | (BIT); \
} while ((__STREXH(val,(__IO uint16_t *)&(REG))) != 0U); \
} while(0)

/* Atomic 16-bit register access macro to clear one or several bits */
#define ATOMIC_CLEARH_BIT(REG, BIT) \
do { \
uint16_t val; \
do { \
val = __LDREXH((__IO uint16_t *)&(REG)) & ~(BIT); \
} while ((__STREXH(val,(__IO uint16_t *)&(REG))) != 0U); \
} while(0)

/* Atomic 16-bit register access macro to clear and set one or several bits */
#define ATOMIC_MODIFYH_REG(REG, CLEARMSK, SETMASK) \
do { \
uint16_t val; \
do { \
val = (__LDREXH((__IO uint16_t *)&(REG)) & ~(CLEARMSK)) | (SETMASK); \
} while ((__STREXH(val,(__IO uint16_t *)&(REG))) != 0U); \
} while(0)

/**
* @}
Expand All @@ -240,4 +306,3 @@ typedef enum



/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
* All rights reserved.</center></h2>
* Copyright (c) 2017 STMicroelectronics.
* All rights reserved.
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
Expand Down Expand Up @@ -102,4 +101,3 @@ extern void SystemCoreClockUpdate(void);
/**
* @}
*/
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
9 changes: 5 additions & 4 deletions targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,11 @@ target_sources(mbed-stm32h7cube-fw
STM32H7xx_HAL_Driver/stm32h7xx_hal_dma_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_dsi.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_dts.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_eth.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_eth_ex.c

# Temporary: using legacy Ethernet driver for now
STM32H7xx_HAL_Driver/Legacy/stm32h7xx_hal_eth.c
STM32H7xx_HAL_Driver/Legacy/stm32h7xx_hal_eth_ex.c

STM32H7xx_HAL_Driver/stm32h7xx_hal_exti.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_fdcan.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_flash.c
Expand Down Expand Up @@ -124,8 +127,6 @@ target_sources(mbed-stm32h7cube-fw
STM32H7xx_HAL_Driver/stm32h7xx_ll_usart.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_usb.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_utils.c
system_stm32h7xx_dualcore_boot_cm4_cm7.c
system_stm32h7xx_singlecore.c
)

target_include_directories(mbed-stm32h7cube-fw
Expand Down
Loading

0 comments on commit 885956a

Please sign in to comment.