Search code examples
cembeddedbluetooth-lowenergytoolchainkeil

Build problems in Keil uVision v.5.12.0.0


I'm trying to compile this project https://github.com/NordicSemiconductor/nrf51-ble-app-lbs/tree/require-encryption-5.1.0 in uVision v.5.12.0.0 but building the project I got this errors:

.\_build\ble_app_template.axf: Error: L6218E: Undefined symbol ble_bondmngr_bonded_centrals_store (referred from main.o).   
.\_build\ble_app_template.axf: Error: L6218E: Undefined symbol ble_bondmngr_init (referred from main.o).
.\_build\ble_app_template.axf: Error: L6218E: Undefined symbol ble_bondmngr_on_ble_evt (referred from main.o).

Solution

  • The following symbols:

    • ble_bondmngr_bonded_centrals_store,
    • ble_bondmngr_init,
    • ble_bondmngr_on_ble_evt

    have been declared and referenced either in a .h file included in main.c or directly in main.c, but you have failed to link the object file or library in which these symbols are defined.

    The .uvproj (μVision Project) file in the ARM folder in the link contains reverences to other source files not included at this location. The read-me file specfies dependencies on:

    • nRF51 SDK version 5.1.0
    • S110 SoftDevice version 6.0.0
    • nRF51822 Evaluation Kit version 2.1.0 or later

    You'll need to add references to the necessary source or libraries from these as well. The project file references them at specific relative path locations. If your locations differ you will have to fix that one way or the other. Th ereadme file goes on to say:

    To compile it, clone the repository in the nrf51822/Board/pca10001/s110/ folder.

    I guess that will generate the folder structure and files you need.