Secure DFU环境搭建

原文连接:NRF52832空中升级DFU - silencehuan - 博客园

在原文的基础上做了一些细节的修改

进阶篇:详解蓝牙空中升级(BLE OTA)原理与步骤_Zoolybo的博客-CSDN博客

1.工具一览

  • gcc-arm-none-eabi编译环境:GCC编译环境

           Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer

  • mingw 平台(win版的Linux命令行)

          Download MinGW - Minimalist GNU for Windows from SourceForge.net

  • micro-ecc-master源码

          GitHub - kmackay/micro-ecc: ECDH and ECDSA for 8-bit, 32-bit, and 64-bit processors.

  • python 安装文件

          Download Python | Python.org

  • pc-nrfutil

         GitHub - NordicSemiconductor/pc-nrfutil: nrfutil python library and command line client

  • nrfgo-studio
  • nrf connect app
  • 2.安装指导

    Secure DFU需要micro-ecc库进行签名验证,需要micro_ecc_lib_nrf52.lib,需要使用GCC编译器生成。

    2.1 gcc-arm-none-eabi安装

    gcc-arm-none-eabi-4_9-2015q3-20150921-win32.exe,直接双击安装,注意使用默认安装路径,不要修改

  •  安装完成

  • 2.2 mingw 平台安装

    双击mingw-get-setup.exe,点击install进行安装,选择默认路径

  •  安装好后弹出package包安装界面MinGW Installation Manager,按下图所示进行选择
  •  选择后,点击InstallationàApply Changes

  • 2.3 mingw 环境变量配置

     安装好MinGW,需要在系统环境变量Path添加路径

  • 平台安装验证:

    修改好系统环境变量后,重启电脑,运行命令提示符,如下所示则安装成功

  • 2.4 micro-ecc库生成

    需要生成micro_ecc_lib_nrf52.lib,也可直接使用已经编译好的文件micro-ecc_sdk14_15_newer.rar解压后替换micro-ecc文件夹。

    1.将micro-ecc-master源码复制到SDK目录下的external\micro-ecc中,并重命名为micro-ecc

  •  2.打开MinGW的命令行msys.bat

  • 在批处理框里输入要生成库的gcc算法路径

    cd E:/keil_workspace/NORDIC/nRF5_SDK_15.0.0_a53641a/external/micro-ecc/nrf52hf_keil/armgcc

  •  之后输入make

  • 出现错误后,按照提示修改gcc的Makefile.windows文件如下

  • 将gcc编译器路径更换为实际路径

  • 注:该处我实际操作时文件内容如下

    GNU_INSTALL_ROOT := C:/Program Files (x86)/GNU Arm Embedded Toolchain/9 2020-q2-update/bin/
    GNU_VERSION := 9.3.1
    GNU_PREFIX := arm-none-eabi

    只需将C:/Program Files (x86)/GNU Arm Embedded Toolchain/9 2020-q2-update/bin/这个路径修改为本机bin文件夹的真实路径即可。

    #GNU_INSTALL_ROOT := C:/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update/bin/

    GNU_INSTALL_ROOT := C:/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q3/bin/

    #GNU_VERSION := 6.3.1

    GNU_VERSION := 6.3.0

    GNU_PREFIX := arm-none-eabi

     修改之后,编译OK

     2.5 python 安装

  • 注:新版本的python实测也可以用,实测python3.7.8实际操作下来也是没有问题的

  • 1.双击python-2.7.14.amd64.msi安装,注意使用默认路径,安装过程使用默认插件配置直接一直next。

    2.系统环境变量添加

  • 3.安装验证

    修改环境变量后重启电脑,命令行输入python -V

  • 2.6 nrfutil工具安装

    需要联网

    打开命令行,输入pip install nrfutil安装nrfutil

  • 安装完成后,输入nrfutil version,如下则表示安装成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!要搭建 Zephyr 环境,你可以按照以下步骤进行操作: 1. 首先,确保你的开发环境满足以下要求: - 支持的操作系统:Linux(Ubuntu、Fedora、Debian等)、macOS或Windows。 - 至少8GB的RAM空间。 - 15GB以上的磁盘空间。 2. 安装依赖项: - 在 Linux 上,执行以下命令安装所需的依赖项: ``` sudo apt-get install --no-install-recommends git cmake ninja-build gperf \ ccache dfu-util device-tree-compiler wget \ python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \ make gcc gcc-multilib ``` - 在 macOS 上,你可以使用 Homebrew 进行安装: ``` brew tap zephyrproject-rtos/zephyr brew install --HEAD west ``` - 在 Windows 上,安装 WSL(Windows Subsystem for Linux),并在 WSL 中执行上述 Linux 安装命令。 3. 获取 Zephyr 代码: - 执行以下命令克隆 Zephyr 的 Git 仓库: ``` git clone https://github.com/zephyrproject-rtos/zephyr.git ``` 4. 安装 Zephyr 开发工具链: - 执行以下命令安装 west 工具: ``` pip3 install --user -U west ``` - 在 Zephyr 代码目录中执行以下命令初始化 west 工具: ``` west init west update ``` 5. 配置环境变量: - 在 Linux/macOS 上,打开 `~/.bashrc` 或 `~/.zshrc` 文件,添加以下行: ``` export ZEPHYR_TOOLCHAIN_VARIANT=zephyr export ZEPHYR_SDK_INSTALL_DIR=<path_to_zephyr_sdk> export PATH=$PATH:$ZEPHYR_SDK_INSTALL_DIR/zephyr-sdk-<version>/sysroots/x86_64-pokysdk-linux/usr/bin ``` - 在 Windows 上,打开 WSL 的 `~/.bashrc` 文件,添加上述行。 6. 构建和运行示例应用程序: - 进入 Zephyr 代码目录中的 `samples/hello_world` 目录。 - 执行以下命令构建应用程序: ``` west build -b <board_name> ``` - 构建成功后,使用以下命令烧录和运行应用程序: ``` west flash ``` 这样,你就成功搭建了 Zephyr 环境,并运行了一个示例应用程序。你可以根据自己的需求进行进一步的开发和调试。祝你好运!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值