2.5. When selecting microcontrollers in the STM32H7 series

The function HAL_HSEM_IRQHandler() is wrongly called in the HSEMx_IRQHandler() scope after performing the following scenario on STM32CubeMX 6.15.0 with the STM32H745ZIT3 product:

  • Enable the HSEM1 global interrupt on the context Cortex-M7 and the HSEM2 global interrupt on the context Cortex-M4.

  • Select LL instead of HAL in Project Manager → Advanced Settings and choose STM32CubeIDE as toolchain.

  • Generate the code.

To prevent the HAL_HSEM_IRQHandler() function from being generated, navigate to the NVIC IP, select the Code Generation tab, and disable the Call HAL handler option.

When creating a new STM32H7RS project, enabling the JPEG peripheral and generating the code, the Utilities/JPEG folder containing the JPEG source files is not generated. To avoid this issue, the user should add the missing folder manually by copying that folder from the firmware under this path:

Users\<User_name>\STM32Cube\Repository\STM32Cube_FW_H7RS_Vx.y.z\Utilities

A linker file mismatch after project regeneration may occur when regenerating an STM32CubeIDE project for the STM32H7S78-DK board using the X-CUBE-AZRTOS-H7RS pack. The system incorrectly selects STM32H7S7L8HXH_default.ld as the linker file. The expected linker file is STM32H7S7L8HXH_ROMxspi2.ld. This issue occurs after any STM32CubeIDE project has been removed and subsequently regenerated.

For STM32H7RS OEMiROT projects in STM32CubeMX 6.14.0, the execution of provisionning.bat might fail due to wrong file path settings. To fix this failure, the user should either keep the default boot path configuration in STM32CubeMX, or edit env.bat and set oemirot_boot_path_project to %~dp0..\.

For the projects using STM32H7B product lines, when activating the SAI feature the parameters are not displayed in the Configuration tab.

During the migration from an older STM32H7 project to STM32CubeMX V6.13.0, the following files are not automatically updated: - system_stm32h7xx.c - startup_stm32h7nnxx.s

These files are needed for the correct initialization of the system power supply.

This limitation may cause an early RAM access prior to the configuration of the system power supply, which is not allowed.

For new projects created by STM32CubeMX v6.13.0 and later, these files are correctly updated. The system power supply configuration is also kept in SystemClock_Config() to avoid runtime issues with existing projects.

The workaround is to: - Copy the new files from the firmware and ensure that they are correctly included in the project. - Verify the compiler compatibility and use the appropriate startup_stm32h7nnxx.s file for the chosen compiler.

For the STM32H7Sx microcontrollers in the STM32H7 series, when using the NUCLEO-H7S3L8 board, the boot path is not supported. It is only supported for the STM32H7S78-DK board or custom boards with the same flash and same pin mapping.

For the STM32H7Rx microcontrollers in the STM32H7 series, the boot path is not supported and Debug authentication is disabled.

MDMA and HSEM are not supported in LL. Only HAL is supported.

When activating any mode under SPDIFRX, the alternate function configuration code is not generated in the HAL_SPDIFRX_MspInit function in the stm32h7xx_hal_msp.c file.

Add the workaround code in the user section after GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; as described below depending on the channel and selected pin.

Channel  Selected pin  Workaround code

IN0      PD7           GPIO_InitStruct.Alternate = GPIO_AF9_SPDIF;
IN0      PG11          GPIO_InitStruct.Alternate = GPIO_AF8_SPDIF;
IN1      PD8           GPIO_InitStruct.Alternate = GPIO_AF9_SPDIF;
IN1      PG12          GPIO_InitStruct.Alternate = GPIO_AF8_SPDIF;
IN2      PC4           GPIO_InitStruct.Alternate = GPIO_AF9_SPDIF;
IN2      PG8           GPIO_InitStruct.Alternate = GPIO_AF8_SPDIF;
IN3      PC5           GPIO_InitStruct.Alternate = GPIO_AF9_SPDIF;
IN3      PG9           GPIO_InitStruct.Alternate = GPIO_AF8_SPDIF;