cancel
Showing results for 
Search instead for 
Did you mean: 

Stm32f401ret6 with BNRG2A1

Kumar123
Associate III

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

3 REPLIES 3
Ghofrane GSOURI
ST Employee

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.

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

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.