Неопределенный символ при использовании Keil IDE

Я использую Nordic nRF51-DK SDK_11 и программное устройство s130.

Я столкнулся со следующей ошибкой при добавлении диспетчера устройств. Я использую компилятор Keil.

._build\nrf51422_xxac_s130.axf: ошибка: L6218E: неопределенный символ dm_init (ссылка на main.o). ._build\nrf51422_xxac_s130.axf: ошибка: L6218E: неопределенный символ dm_register (упоминается из main.o). Недостаточно информации для перечисления символов изображения.

Я включил device_manager.h в ПУТИ. Используя Keil, я сделал это, перейдя в Меню-> Flash-> Настроить Flash Tools ... -> Включить пути -> Добавить компоненты\ble\device_manager

Что еще я упустил?


person Community    schedule 20.07.2016    source источник
comment
Заголовок, который вы, кажется, включили и сообщили компилятору его путь, обычно только декларирует функцию. Его нужно где-то определить (реальный код). Обычно это находится в объектном файле или библиотеке, с которой нужно связать ваш код.   -  person tofro    schedule 20.07.2016


Ответы (1)


В зависимости от версии SDK, которую вы хотите использовать, вам необходимо скомпилировать и связать device_manager_peripheral.c. Для NRF5 SDK версии 11.0.0 он находится в папке <path to sdk>/nRF5_SDK_11/components/ble/device_manager.

Учебное пособие можно найти здесь.

person Jens Meder    schedule 22.07.2016