Nordic nRF51/nRF52开发环境搭建

时间:2021-02-24 15:35:31

本文将详述Nordic nRF51系列(包括nRF51822/nRF51802/nRF51422等)和nRF52系列(包括nRF52832/nRF52810/nRF52840)开发环境搭建。

1. 强制安装项

如下工具必须安装,否则无法开发Nordic nRF51/52产品

  • 安装IDE。Nordic nRF51/52支持Keil,GCC,IAR和SES(Segger Embedded Studio)四种IDE,大家随便选择其中一种安装即可。
    • Keil。大家自行下载安装,这里不再赘述。
    • IAR。大家自行下载安装,这里不再赘述。
    • SES(推荐)。SES跟Keil非常像,是Segger公司为Nordic芯片量身打造的,对Nordic用户来说,永久免费。SES支持Windows/MacOS/Linux三种平台,下载链接为:https://www.segger.com/downloads/embedded-studio。下载成功后,你将得到“Setup_EmbeddedStudio_v330_win_x64.exe”之类的安装包(Windows 64bit版本),成功安装后,SES软件界面如下所示:

Nordic nRF51/nRF52开发环境搭建

如果你是硬件工程师,IDE不是必须安装的,因为Nordic SDK所有例子都有已经编译好的hex文件供你使用。

下完之后,你将得到 “nRF5_SDK_15.0.0_a53641a.zip”之类的压缩包,解压缩该压缩包,SDK即安装完成,如下所示:

Nordic nRF51/nRF52开发环境搭建

  • 安装与本SDK版本配套的ARM CMSIS软件包和IDE插件如果你是Keil5用户,一般可以通过如下界面,把相应的CMSIS和Device family pack安装好

Nordic nRF51/nRF52开发环境搭建

由于某些原因,很多用户在上述界面无法安装,因此可以将CMSIS和IDE插件从网上下载下来,单独安装。

ARM CMSIS安装包下载地址:https://github.com/ARM-software/CMSIS/releases。从如下界面选择你需要的CMSIS版本。那具体选择哪个CMSIS版本呢?你可以随便打开SDK中一个例子,Keil或者其他IDE就会报错告诉你缺少那个版本的CMSIS(一般来说,缺少的都是CMSIS4.5.0),你再把它下下来即可。

Nordic nRF51/nRF52开发环境搭建

ARM CMSIS4.5.0 Windows/Keil5安装界面如下所示:

Nordic nRF51/nRF52开发环境搭建

所有IDE插件都可以到如下网址下载:https://www.nordicsemi.com/eng/Products/nRF52840#Downloads。根据自己的IDE,选择相应的插件:

Nordic nRF51/nRF52开发环境搭建

注:上述所有插件都有2个版本,2个版本的功能是一模一样的,只是版权会有点不同。

以Keil5插件为例,Keil5的插件是Device family pack(其实上文已经提到它了),其安装界面如下所示(安装过程中有可能会报错,不要管它!)

Nordic nRF51/nRF52开发环境搭建

Nordic nRF51/nRF52开发环境搭建

以Windows系统为例,下载上图中的红圈中的win32版本,得到“nRF5x-Command-Line-Tools_9_7_2_Installer.exe”之类的可执行文件,双击安装,界面如下所示:

Nordic nRF51/nRF52开发环境搭建

安装过程中,不要去更改默认选项,直接按照默认选项去安装即可。不过如下界面,一定要选择“select all”

Nordic nRF51/nRF52开发环境搭建

2. 推荐安装项

  • 安卓版nRF connect或者iOSnRF connect。nRF connect是Nordic开发的一个通用性BLE app,以支持BLE扫描,BLE连接,BLE广播,BLE监视,BLE服务发现,BLE连接后交互等功能。iOS版nRF connect请到苹果app store下载,搜索“nRF”即可以找到。安卓版nRF connect是放在Google play里面的,如果你无法访问Google play,那么可以到Nordic Github官网上下载,下载链接为:https://github.com/NordicSemiconductor/Android-nRF-Connect/releases

安装成功后,你将看到如下所示的nRF connect:

Nordic nRF51/nRF52开发环境搭建

Nordic nRF51/nRF52开发环境搭建

桌面版nRF connect安装成功后,将如下所示:

Nordic nRF51/nRF52开发环境搭建

确切地说,桌面版nRF connect更像一个容器,它可以装载各种不同的应用,前面提到的手机版nRF connect只是桌面版nRF connect的一个“Bluetooth Low Energy”应用。点击“Add/remove apps”,可以安装或者卸载Nordic其他的应用。另外,你也可以基于桌面版nRF connect(使用HTML5或者Javascript)来开发自己的应用,比如量产测试程序。

注:桌面版nRF connect前身是Master Control Panel(MCP,Nordic现已正式停止对MCP的支持,MCP所有功能都可以通过桌面版nRF connect来取代和实现。

3. 可选安装项

  • 安卓版或者iOSnRF toolboxnRF toolbox是Nordic开发的一系列BLE应用集,包括心率应用,蓝牙透传应用,DFU等。iOS版nRF toolbox请到苹果app store下载,搜索“nRF”即可以找到。安卓版nRF toolbox是放在Google play里面的,如果你无法访问Google play,那么可以到Nordic Github官网上下载,下载链接为:https://github.com/NordicSemiconductor/Android-nRF-Toolbox/releases。nRF Toolbox代码(包括iOS版和安卓版)是开源的,可以直接到上述Nordic Github上下载。

安装成功后,你将看到如下所示的nRF toolbox:

Nordic nRF51/nRF52开发环境搭建

  • nRFgo studio。图形化的Flash烧写工具,以及nRF24系列开发工具,而且还集成有DTM,DFU升级等功能,不过随着桌面版nRF connect功能越来越多,nRFgo studio越来越被边缘化,因为大部分nRFgo studio的功能都可以被桌面版nRF connect取代,比如Flash烧写,DFU等。nRFgo studio下载链接为:https://www.nordicsemi.com/eng/Products/2.4GHz-RF/nRFgo-Studio/(language)/eng-GB#Downloads。安装nRFgo studio的时候,请按照默认选项来安装(不要去更改默认的安装目录!),安装成功后,界面如下所示:

 Nordic nRF51/nRF52开发环境搭建

注:nRFgo studio安装包也自带Jlink驱动安装包,如果你前面通过nRF5x command line tools已经把jlink驱动装好了,那么安装nRFgo studio的时候就不要再安装Jlink驱动了。

  • nrfjprog(必选)。nrfjprog用于代码擦除烧写读取,芯片复位,存储器访问等,其使用界面(Windows命令行或者Linux命令行或者MacOS命令行)如下所示:

Nordic nRF51/nRF52开发环境搭建

由于在安装nRF5x command line tools的时候,系统就会自动安装nrfjprog,因此你不需要再额外安装nrfjprog。对于Windows系统,nrfjprog将位于如下目录“C:\Program Files (x86)\Nordic Semiconductor\nrf5x\bin” 你只需在Windows path变量(环境变量)中包含此目录,就可以直接在Windows‘Command Prompt’中执行nrfjprog命令了。

Nordic nRF51/nRF52开发环境搭建

nrfjprog详细说明请参考:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.tools%2Fdita%2Ftools%2Fnrf5x_command_line_tools%2Fnrf5x_nrfjprogexe.html&cp=5_1_3

  • Sniffer。Sniffer用于抓取空中蓝牙包以debug通信问题,sniffer包括硬件和软件两部分,硬件就是一个nRF51的dongle或者PCA10028开发板或者PCA10040开发板(将来还会支持PCA10056开发板以及PCA10059 dongle),硬件连接图如下所示:

Nordic nRF51/nRF52开发环境搭建

软件就是Wireshark,界面如下所示:

Nordic nRF51/nRF52开发环境搭建

Sniffer详细使用说明请参考:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.tools%2Fdita%2Ftools%2Fsniffer%2Fsniffer_intro.html&cp=5_4

  • 低版本(0.x.xnrfutil。低版本nrfutil主要用于明文OTA/DFU时生成手机端新固件zip包,安装nRFgo studio的时候,会自动安装nrfutil,nrfutil所在目录为“C:\Program Files (x86)\Nordic Semiconductor\nRFgo Studio”。 你只需在Windows path变量(环境变量)中包含此目录,就可以直接在Windows‘Command Prompt’中执行nrfutil命令了

Nordic nRF51/nRF52开发环境搭建

低版本nrfutil工作界面如下所示:

Nordic nRF51/nRF52开发环境搭建

  • 高版本nrfutil>1.5.0。高版本nrfutil用于签名OTA/DFU时生成手机端新固件 zip包,以及生成公私钥对,生成settings page,执行DFU操作等,高版本nrfutil和低版本nrfutil是两个完全不兼容的软件,使用的时候,一定要“二选一”,一般来说只有在早期的SDK9/10/11进行明文DFU的时候,才会用到低版本nrfutil,除此之外,都是要使用高版本nrfutil的。

高版本nrfutil安装说明及使用说明请参考链接:

http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.tools%2Fdita%2Ftools%2Fnrfutil%2Fnrfutil_intro.html&cp=5_5

可通过“nrfutil version”来得知当前nrfutil是高版本还是低版本,如下所示:

Nordic nRF51/nRF52开发环境搭建

低版本nrfutil版本号一般为0.x.x,而高版本nrfutil版本号大于1.5.0。如果发现nrfutil版本弄错了,请通过修改Windows path变量(环境变量)来指向正确的nrfutil版本。