【问题标题】:Build problems in Keil uVision v.5.12.0.0Keil uVision v.5.12.0.0 中的构建问题
【发布时间】:2014-11-23 16:47:05
【问题描述】:

我正在尝试编译这个项目 https://github.com/NordicSemiconductor/nrf51-ble-app-lbs/tree/require-encryption-5.1.0 在 uVision v.5.12.0.0 但构建项目时出现此错误:

.\_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).

【问题讨论】:

    标签: c embedded bluetooth-lowenergy toolchain keil


    【解决方案1】:

    以下符号:

    • ble_bondmngr_bonded_centrals_store,
    • ble_bondmngr_init,
    • ble_bondmngr_on_ble_evt

    已在 main.c 中包含的 .h 文件中或直接在 main.c 中声明引用,但您未能链接目标文件或这些符号在其中定义的库。

    链接中 ARM 文件夹中的 .uvproj(μVision 项目)文件包含对该位置未包含的其他源文件的尊重。自述文件指定了以下依赖项:

    • nRF51 SDK 版本 5.1.0
    • S110 SoftDevice 版本 6.0.0
    • nRF51822 评估套件版本 2.1.0 或更高版本

    您还需要从中添加对必要源或库的引用。项目文件在特定的相对路径位置引用它们。如果您的位置不同,则必须以一种或另一种方式解决。 ereadme 文件接着说:

    要编译它,克隆 nrf51822/Board/pca10001/s110/ 文件夹中的存储库。

    我猜这会生成你需要的文件夹结构和文件。

    【讨论】:

    • 对于 uVision v.5.12.0.0 需要的文件是 ble_app_lbs.uvprojx,是的,ble_lbs.c 包含在项目中
    • 仔细看,ble_lbs.c 不是您需要的文件,您发布的链接中没有包含许多其他文件的引用。该项目似乎依赖于其他未包含的组件。 μVision5.xx 将愉快地读取 μVision 4.xx 项目文件
    • 请注意,μVision 5 中的 μVision 4 项目有时需要 www2.keil.com/mdk5/legacy 的旧版支持包。虽然我只需要将它用于旧的 ARM7 项目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-10
    • 2012-03-25
    • 1970-01-01
    • 2014-02-28
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多