美文网首页造物邦程序员工具癖
快速构建 nRF5 SDK + ARM GCC 开发环境

快速构建 nRF5 SDK + ARM GCC 开发环境

作者: 造物邦 | 来源:发表于2016-12-27 11:41 被阅读362次

    nRF5 应用开发的方式有挺多的,官方文档介绍的就有:

    • Keil µVision IDE,
    • IAR Embedded Workbench,
    • GCC ARM Embedded.

    前两种方式优点是比较简单,很多事情 IDE 可以帮你一下搞定,但劣势也比较明显,这两个都是收费软件(如果你说可以和谐啊,那就当我没说啰...),还有就是只能在 Windows 系统下使用,跨平台基本没戏。

    GCC ARM Embedded 是开源的交叉工具链,虽然配置稍微复杂一点点,但人家免费而且可以跨平台开发,无论你是使用 macOS,Windows,还是 Linux 进行开发,都完全无压力。这也是我个人非常推崇的一种方式,强烈建议大家都到这条跑道上来。

    一开始我本来打算写个脚本,一条命令下去,屏幕“唰唰唰”蹦出一些“莫名其妙”的字符,最后跳出一句 “Completed successfully!”,一切轻松搞定,Perfect。这不是正好符合PM们说的“把你的用户当傻瓜”的理念吗?后来细想,我面对的人不是傻瓜,他们是比我不知道聪明多少倍的开发者,他们知道自己在干什么,这些小伎俩对他们来说简直就跟喝水一样。所以我还是老老实实还原整个构建过程,需要自动化构建的工作就留给他们,他们经常干这事的。

    安装 GCC ARM Embedded

    下载 GCC ARM Embedded,可以尝试最新版本,可能会出现不兼容问题,我当前使用的版本是 gcc-arm-none-eabi-5_4-2016q3

    解压到你自己指定的目录,并验证是否能够工作:

    # 解压到指定目录
    $ cd your_toolchain_path/
    $ tar -xvf gcc-arm-none-eabi-5_4-2016q3-20160926-mac.tar.bz2
    
    # 验证版本
    $ cd your_toolchain_path/gcc-arm-none-eabi-5_4-2016q3/bin/
    $ ./arm-none-eabi-gcc --version
    

    针对 Windows

    Windows 对开发者来说是个比较麻烦的平台,不能原生支持一些开发工具,如我们将需要用到的两个命令行工具:makerm。还好这个世界上有一些非常可爱的人,他们“创造了一个东西,然后分享出来,让大家都能用 ”,这就是我们将需要用到的开源项目 GNU ARM Eclipse Windows Build Tools

    下载并安装最新版本 GNU ARM Eclipse Windows Build Tools Release ,这个开源工具将会安装 makerm 等命令行工具。

    一路 Next,安装完毕,为其添加环境变量:

    # 验证是否配置正确
    > make --version
    

    安装 nRF5 SDK

    下载最新版本 nRF5 SDK,nRF5 SDK 版本更新比较频繁,功能在不断扩展和改善中,可能会出现新旧 API 不兼容问题,小打小闹无所谓,搞大工程的小伙伴慎重更新。我目前使用的版本是 nRF5_SDK_12.2.0_f012efa

    解压到你自己指定的目录:

    # 解压到指定目录
    $ tar -xvf nRF5_SDK_12.2.0_f012efa.zip -C ./your_sdk_path/
    

    修改 Makefile.posix (在 Windows 下对应的是Makefile.windows) 文件,配置成前面 GCC ARM Embedded 的路径:

    # macOS & Linux 对应 Makefile.posix 文件;Windows 对应 Makefile.windows 文件
    GNU_INSTALL_ROOT := your_toolchain_path/gcc-arm-none-eabi/gcc-arm-none-eabi-5_4-2016q3
    GNU_VERSION := 5.4.1
    GNU_PREFIX := arm-none-eabi
    

    可以编译官方的示例验证是否正常工作:

    $ cd nRF5_SDK_12.2.0_f012efa/examples/peripheral/blinky/pca10040/blank/armgcc/
    $ make
    

    安装 pyOCD

    pyOCD 是 mbed 社区为 ARM Cortex-M 系列 MCU 所提供的编程和调试服务工具。它主要基于 CMSIS DAP 接口,能为不同的厂商提供了统一的调试接口。该工具能够与 DAPLink 仿真器完美配合,低成本实现市场上价格不菲的仿真器的主要功能。

    pyOCD 基于 Python,需要先安装 Python 2.7 和 pip:

    安装最新稳定版本的 pyOCD:

    # 如果安装失败,可以安装高版本的 Python 2.7.x 试试
    $ pip install --pre -U pyocd
    

    实战开发

    如果你已经拿到 YS-Beacon HDK,一切准备就绪,可以进入实战开发了。第一个示例我已经 push 到 GitHub,可供参考:

    $ git clone https://github.com/YS-Beacon/ys-beacon-blinky.git
    $ cd ys-beacon-blinky
    
    # 将 YS-Beacon 连接到 PC
    $ make flash
    

    一切顺利的话,板子上的 RGB LED 将按照一定规律闪烁:

    相关文章

      网友评论

        本文标题:快速构建 nRF5 SDK + ARM GCC 开发环境

        本文链接:https://www.haomeiwen.com/subject/npnsvttx.html