Search code examples
clinker-errorskeilnrf51

Undefined symbol while using Keil IDE


I am using Nordic nRF51-DK SDK_11 and the soft device s130.

I encountered the following error while adding device manager. I'm using Keil compiler.

._build\nrf51422_xxac_s130.axf: Error: L6218E: Undefined symbol dm_init (referred from main.o). ._build\nrf51422_xxac_s130.axf: Error: L6218E: Undefined symbol dm_register (referred from main.o). Not enough information to list image symbols.

I have included device_manager.h in the PATHS. Using Keil, I did it by going to Menu->Flash->Configure Flash Tools ... -> Include Paths -> Add components\ble\device_manager

What else did I miss out?


Solution

  • Depending on the SDK version you want to use you need to compile and link device_manager_peripheral.c. For NRF5 SDK version 11.0.0 it resides in the folder <path to sdk>/nRF5_SDK_11/components/ble/device_manager.

    You can find a tutorial here.