錯誤1
編譯的時候提示沒有可用的公鑰。

找到報錯位置,發(fā)現(xiàn)是少定義了一個宏。

解決方法:
添加 “?NRF_DFU_DEBUG_VERSION ” 宏,如下圖所示。

錯誤2
鏈接的時候提示沒有 “ micro_ecc_lib_nrf51.lib ” 這個庫。

解決方法:
(1)Nordic官方?jīng)]有提供這個庫也沒有提供源碼,需要自己找到源碼然后編譯得到這個庫。
源碼可以用git克隆,地址:https://github.com/kmackay/micro-ecc.git
將micro_ecc源碼放到 “?...\external\micro-ecc ”目錄下,如下圖所示。

(2)下載GNU make和gcc arm交叉編譯器,然后安裝。
make下載地址:ftp://ftp.gnu.org/gnu/make/
gcc下載地址:https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads
(3)從命令行進入 “ ...\external\micro-ecc\nrf51_keil\armgcc ” 目錄,執(zhí)行 “ make ” 命令,如下圖所示。

make出現(xiàn)錯誤,從錯誤信息看是因為GNU的安裝位置設(shè)定不對,把它改成上一步安裝的位置即可。需要修改的文件是 “ ...\components\toolchain\gcc\Makefile.windows?”。

再次make成功生成micro_ecc_lib_nrf51.lib庫,如下圖所示。
