Nordic SDK12.3 bootloader例程编译错误解
2018-10-08 本文已影响18人
飞哥物联
错误1
编译的时候提示没有可用的公钥。
![](https://img.haomeiwen.com/i12099581/cee677af7b196eb4.png)
找到报错位置,发现是少定义了一个宏。
![](https://img.haomeiwen.com/i12099581/131b67ebe8c77137.png)
解决方法:
添加 “ NRF_DFU_DEBUG_VERSION ” 宏,如下图所示。
![](https://img.haomeiwen.com/i12099581/4c296891bcbda1d9.png)
错误2
链接的时候提示没有 “ micro_ecc_lib_nrf51.lib ” 这个库。
![](https://img.haomeiwen.com/i12099581/95f5f69886ec24cd.png)
解决方法:
(1)Nordic官方没有提供这个库也没有提供源码,需要自己找到源码然后编译得到这个库。
源码可以用git克隆,地址:https://github.com/kmackay/micro-ecc.git
将micro_ecc源码放到 “ ...\external\micro-ecc ”目录下,如下图所示。
![](https://img.haomeiwen.com/i12099581/6c9489182a681820.png)
(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 ” 目录,执行 “ make ” 命令,如下图所示。
![](https://img.haomeiwen.com/i12099581/956d12e356ed719f.png)
make出现错误,从错误信息看是因为GNU的安装位置设定不对,把它改成上一步安装的位置即可。需要修改的文件是 “ ...\components\toolchain\gcc\Makefile.windows ”。
![](https://img.haomeiwen.com/i12099581/28f60a8003d57788.png)
再次make成功生成micro_ecc_lib_nrf51.lib库,如下图所示。
![](https://img.haomeiwen.com/i12099581/151f7a1d79e1d543.png)