2026-05-28 8:21 AM - last edited on 2026-05-28 8:29 AM by Andrew Neil
This is a minimal configuration/steps to reproduce, the same issue we have in our project:
- start my project from ST board, click "access to board selector"
- click "Board Selector" tab
- check the STM32H7 in "MCU / MPU Series"
- select the board "STM32H735G-DK"
- click "Start Project" button
- click Yes to pop-up window "For this Cortex-M7 device... apply default configuration?"
- in "Pinout & Configuration / Categories" set "Mode Asynchronous" for UART9
- click on tab "Clock Configuration" and press yes to solve clock issues
- save the project somewhere
- go to "Project Manager" tab and set "Toolchain STMCuebIDE"
- generate the code, open the project with STM32CubeIDE, build the project (no problems)
- in STM32CubeMx, go to "Advanced Settings" and set "LL" instead "HAL" to the three generated components (RCC, GPIO, UART)
- generate the code, open the project with STM32CubeIDE, build the project
--> build error
../Core/Src/main.c: In function 'MX_UART9_Init':
../Core/Src/main.c:178:3: error: implicit declaration of function '__HAL_RCC_UART9_CLK_ENABLE' [-Wimplicit-function-declaration]
178 | __HAL_RCC_UART9_CLK_ENABLE();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Core/Src/subdir.mk:31: Core/Src/main.o] Error 1
make: *** Waiting for unfinished jobs....
Question: do we need some extra configuration? are we doing something wrong here?
2026-05-28 8:28 AM
@stmrsp wrote:- in STM32CubeMx, go to "Advanced Settings" and set "LL" instead "HAL" to the three generated components (RCC, GPIO, UART)
I'm not sure that's intended to allow changing an existing Project ?
If you do a new Project from scratch with LL instead of HAL - does that work ?
2026-05-28 9:01 AM
I use this switching daily, and no problem here, but require leave one HAL or manual include hal...
__HAL func is helpers