Skip to main content
Associate III
August 19, 2025
Question

Stm32f401ret6 with BNRG2A1

  • August 19, 2025
  • 1 reply
  • 388 views

Dear Team

I am currently working on a BLE Mesh implementation. I have added the libraries in the project settings, but I am still getting errors. Please kindly respond.

Description Resource Path Location Type
cannot find -llibBlueNRG_Mesh_CM4-BNRG2A1_wc32_ot.a: No such file or directory ble_mesh_application C/C++ Problem
cannot find -llibSTM32CryptographicV3.0.0_CM4_GCC.a: No such file or directory ble_mesh_application C/C++ Problem
make: *** [makefile:76: ble_mesh_application.elf] Error 1 ble_mesh_application C/C++ Problem
Lighting-STM32_BNRG2A1.elf has a LOAD segment with RWX permissions Lighting-STM32_BNRG2A1 C/C++ Problem
Project 'Lighting-STM32_BNRG2A1' has no explicit encoding set Lighting-STM32_BNRG2A1 /Lighting-STM32_BNRG2A1 No explicit project encoding

1 reply

Ghofrane GSOURI
Technical Moderator
August 19, 2025

Hello @Kumar123 

You have correctly set the library search paths in your project settings, but to resolve the linker errors, make sure you add only the base names of the libraries—without the `lib` prefix and `.a` extension—in the "Libraries" tab. After updating this setting, clean and rebuild your project. This should enable the linker to locate and use the required libraries, resolving the build errors you are experiencing.

GhofraneGSOURI_0-1755600075753.png

 

Tab Library Paths:

What to Enter:

`${ProjName}/Middlewares/ST/BlueNRG-2/Lib`
`${ProjName}/Middlewares/ST/ST_Cryptolib`

Tab Libraries

What to Enter:

`BlueNRG_Mesh_CM4-BNRG2A1_wc32_ot`
`STM32CryptographicV3.0.0_CM4_GCC`

I will be waiting for your feedback.

THX

Ghofrane

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
Kumar123Author
Associate III
August 19, 2025

Dear  Gsouri

Thank you for your response. I have made the changes you suggested, but I am still getting errors.

My question is: which libraries are supported on the Nucleo-F401RE board? Does BLE Mesh support the Nucleo-F401RE or not? I took the example from X-CUBE-MESH (Lighting Demo) and tried migrating the L476 software packages to the F401 board. Will this work or not? Are there any software packages available specifically for the F401RE board? Please let me know.

 

 
Description Resource Path Location Type
cannot find -lSTM32CryptographicV3.0.0_CM4_IAR_otnsc: No such file or directory ble_mesh_application C/C++ Problem
make: *** [makefile:76: ble_mesh_application.elf] Error 1 ble_mesh_application C/C++ Problem
multiple definition of `aci_gatt_attribute_modified_event'; ./Core/Src/Source/appli_ble_events_api.o:C:/Users/DELL/STM32CubeIDE/workspace_1.19.0/ble_mesh_application/Debug/../Core/Src/Source/appli_ble_events_api.c:71: first defined here ble_mesh_application line 0, external location: C:\MeshODE\X_CUBE_BLEMESH1\Firmware\X-CUBE-BLEMESH1\XXX_BlueNRG_Mesh_Lib\Middlewares\BlueNRG_Mesh_Lib\library.c C/C++ Problem
multiple definition of `aci_gatt_tx_pool_available_event'; ./Core/Src/Source/appli_ble_events_api.o:C:/Users/DELL/STM32CubeIDE/workspace_1.19.0/ble_mesh_application/Debug/../Core/Src/Source/appli_ble_events_api.c:93: first defined here ble_mesh_application line 0, external location: C:\MeshODE\X_CUBE_BLEMESH1\Firmware\X-CUBE-BLEMESH1\XXX_BlueNRG_Mesh_Lib\Middlewares\BlueNRG_Mesh_Lib\library.c C/C++ Problem
multiple definition of `aci_hal_end_of_radio_activity_event'; ./Core/Src/Source/appli_ble_events_api.o:C:/Users/DELL/STM32CubeIDE/workspace_1.19.0/ble_mesh_application/Debug/../Core/Src/Source/appli_ble_events_api.c:114: first defined here ble_mesh_application line 0, external location: C:\MeshODE\X_CUBE_BLEMESH1\Firmware\X-CUBE-BLEMESH1\XXX_BlueNRG_Mesh_Lib\Middlewares\BlueNRG_Mesh_Lib\library.c C/C++ Problem
multiple definition of `hci_disconnection_complete_event'; ./Core/Src/Source/appli_ble_events_api.o:C:/Users/DELL/STM32CubeIDE/workspace_1.19.0/ble_mesh_application/Debug/../Core/Src/Source/appli_ble_events_api.c:221: first defined here ble_mesh_application line 0, external location: C:\MeshODE\X_CUBE_BLEMESH1\Firmware\X-CUBE-BLEMESH1\XXX_BlueNRG_Mesh_Lib\Middlewares\BlueNRG_Mesh_Lib\library.c C/C++ Problem
multiple definition of `hci_le_advertising_report_event'; ./Core/Src/Source/appli_ble_events_api.o:C:/Users/DELL/STM32CubeIDE/workspace_1.19.0/ble_mesh_application/Debug/../Core/Src/Source/appli_ble_events_api.c:199: first defined here ble_mesh_application line 0, external location: C:\MeshODE\X_CUBE_BLEMESH1\Firmware\X-CUBE-BLEMESH1\XXX_BlueNRG_Mesh_Lib\Middlewares\BlueNRG_Mesh_Lib\library.c C/C++ Problem
multiple definition of `hci_le_connection_complete_event'; ./Core/Src/Source/appli_ble_events_api.o:C:/Users/DELL/STM32CubeIDE/workspace_1.19.0/ble_mesh_application/Debug/../Core/Src/Source/appli_ble_events_api.c:171: first defined here ble_mesh_application line 0, external location: C:\MeshODE\X_CUBE_BLEMESH1\Firmware\X-CUBE-BLEMESH1\XXX_BlueNRG_Mesh_Lib\Middlewares\BlueNRG_Mesh_Lib\library.c C/C++ Problem
multiple definition of `hci_le_connection_update_complete_event'; ./Core/Src/Source/appli_ble_events_api.o:C:/Users/DELL/STM32CubeIDE/workspace_1.19.0/ble_mesh_application/Debug/../Core/Src/Source/appli_ble_events_api.c:141: first defined here ble_mesh_application line 0, external location: C:\MeshODE\X_CUBE_BLEMESH1\Firmware\X-CUBE-BLEMESH1\XXX_BlueNRG_Mesh_Lib\Middlewares\BlueNRG_Mesh_Lib\library.c C/C++ Problem
note to link with C:\Users\DELL\STM32CubeIDE\workspace_1.19.0\ble_mesh_application\Middlewares\ST\ST_Cryptolib\STM32CryptographicV3.0.0_CM4_IAR_otnsc.a use -l:STM32CryptographicV3.0.0_CM4_IAR_otnsc.a or rename it to libSTM32CryptographicV3.0.0_CM4_IAR_otnsc.a ble_mesh_application C/C++ Problem
Invalid project path: Include path not found (C:\STM32_ODE\FP-LIT-BLEMESH_REPO\Firmware\Drivers\BSP\LED12A1). Lighting-STM32_BNRG pathentry Path Entry Problem
Project 'Lighting-STM32_BNRG' has no explicit encoding set Lighting-STM32_BNRG /Lighting-STM32_BNRG No explicit project encoding
Project 'Lighting-STM32_BNRG2A1' has no explicit encoding set Lighting-STM32_BNRG2A1 /Lighting-STM32_BNRG2A1 No explicit project encoding
Ghofrane GSOURI
Technical Moderator
August 19, 2025

Hello @Kumar123 

Based on my understanding, the Nucleo-F401RE board is not officially supported for BLE Mesh applications. The STM32 BLE Mesh stack and example projects are specifically designed for boards such as the Nucleo-L476RG and STM32WB series, which offer the required hardware features and memory resources. Attempting to migrate BLE Mesh software packages from the L476 to the F401RE is not recommended, as it would likely require extensive modifications and may still result in functional limitations.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.