背景
BLE DFU升级包制作依赖于micro_ecc_lib_nrf52
库,本文使用nRF5 SDK v17.0.2版本,使用SES工具开发。
步骤
- 首先获取micro-ecc源文件,可通过以下指令下载
git clone https://github.com/kmackay/micro-ecc.git
- 将下载的micro-ecc文件夹一起复制到<nRF5 SDK v17.0.2 InstallFolder>\external\micro-ecc目录,如下图所示:
- 进入上图
micro-ecc
文件夹,打开git bash
- 根据自己的开发平台选择相应的文件夹,本文以SES平台为例,进入
E:\bluemesh\nRF5_SDK_17.0.2_d674dde\nRF5_SDK_17.0.2_d674dde\external\micro-ecc\nrf52hf_armgcc\armgcc
目录,
- 执行make指令,报错如下:
admin@oplinux MINGW64 /e/bluemesh/nRF5_SDK_17.0.2_d674dde/nRF5_SDK_17.0.2_d674dde/external/micro-ecc/nrf52hf_armgcc/armgcc
$ make
make: C:/Program Files (x86)/GNU Tools ARM Embedded/9 2019-q4-major/bin/arm-none-eabi-gcc: Command not found
Cannot find: 'C:/Program Files (x86)/GNU Tools ARM Embedded/9 2019-q4-major/bin/arm-none-eabi-gcc'.
Please set values in: "/e/bluemesh/nRF5_SDK_17.0.2_d674dde/nRF5_SDK_17.0.2_d674dde/components/toolchain/gcc/Makefile.windows"
according to the actual configuration of your system.
../../../../components/toolchain/gcc/Makefile.common:129: *** Cannot continue. Stop.
- 根据报错提示没有相应的gcc编译器,修改配置文件
/e/bluemesh/nRF5_SDK_17.0.2_d674dde/nRF5_SDK_17.0.2_d674dde/components/toolchain/gcc/Makefile.windows
,将编译器修改为本机已经安装的版本
- 在Makefile.windows文件中指定本机gcc的位置
将内容修改为以下内容:(大家根据自己gcc安装的实际位置修改
)
GNU_INSTALL_ROOT := D:/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update/bin/
GNU_VERSION := 6.3.1
GNU_PREFIX := arm-none-eabi
6.再次执行make操作,即可生成micro_ecc_lib_nrf52
库
admin@oplinux MINGW64 /e/bluemesh/nRF5_SDK_17.0.2_d674dde/nRF5_SDK_17.0.2_d674dde/external/micro-ecc/nrf52hf_armgcc/armgcc
$ make
Compiling file: uECC.c
Creating library: ../../nrf52hf_armgcc/armgcc/micro_ecc_lib_nrf52.a
d:\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q2-update\bin\arm-none-eabi-ar.exe: creating ../../nrf52hf_armgcc/armgcc/micro_ecc_lib_nrf52.a
Done