Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法

时间:2024-04-03 11:04:05

Sdk:15.0

文件路径:

C:\Users\pc\Desktop\nRF5_SDK_15.0.0_a53641a\examples\dfu\secure_bootloader\pca10040_ble\arm5_no_packs

编译出现如下错误

Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法

解决方法:

1、 到该链接下,下载nordic提供的uECC相关文件https://github.com/kmackay/micro-ecc

2、 把文件解压,放入到sdk的micro-ecc的文件路径下

C:\Users\pc\Desktop\\nRF5_SDK_15.0.0_a53641a\external\micro-ecc

Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法

 

编译解决缺少uECC.h文件问题,接着出现第二个问题,缺少有效的公匙。nRF52832的bootloaer里有一个算法校验,公匙和私匙要配对,才能完成升级。按照编译提示,需要重新生成一个公匙

Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法

解决方法:

1、 共匙是根据私匙生成,所以在生成共匙之前,需要先生成私匙

2、 官方生成key的方法

Please see https://github.com/NordicSemiconductor/pc-nrfutil/blob/master/README.mdto generate it"

3、根据官方的文档重新整理,有2个文件

Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法

3、打开私匙文件,点击bat文件,生成private_key.pem

Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法

4、把private_key.pem,copy到生成共匙文件里,点击bat,生成dfu_public_key.c

Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法

5、打开dfu_public_key.c,把里面的生成的共匙数组,复制到刚才编译提示错误的地方

Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法

Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法

 

编译解决缺少共匙的问题,接着提示缺少micro_ecc_lib_nrf52.lib

not open file..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib:No such file or directory

 

解决该问题比较繁琐,需要下载一些软件来联合编译uECC,生成mirco-ecc的lib

 

1、  Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法 6-2017-q2-update of the GCC compiler toolchainfor ARM下载路径

https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads/6-2017-q2-update

软件安装好,需要把安装路径下bin的路径,添加到环境变量中,根据自己安装的路径找到添加C:\ProgramFiles (x86)\GNU Tools ARM Embedded\6 2017-q2-update\bin

 

2、Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法安装make,下载路径https://www.gnu.org/software/make/

软件安装好,需要把安装路径下bin的路径,添加到环境变量中,根据自己安装的路径找到添加C:\ProgramFiles (x86)\GnuWin32\bin

 

3、Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法安装git,下载路径https://git-scm.com/

软件安装好,需要把安装路径下bin的路径,添加到环境变量中,根据自己安装的路径找到添加C:\ProgramFiles\Git\bin

 

 

4、需要的软件安装好之后,打开

C:\Users\pc\Desktop\\nRF5_SDK_15.0.0_a53641a\external\micro-ecc,运行 bat脚本

Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法

 

5、bat里会调用刚才安装的软件,对uECC进行联合编译,生成所需要的lib,打开该路径

C:\Users\pc\Desktop\nRF5_SDK_15.0.0_a53641a\external\micro-ecc\nrf52nf_keil\armgcc,可以看到lib

Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法

 

6、编译bootloader文件通过

Nordic 52832_bootloader “”error: uECC.h: No such file or directory"解决方法