搭建Nordic 开发环境

1. 开发板(DK)

目前,共有三个BLE开发板,如下:

开发板型号 主芯片 适用SDK
PCA10028 nRF51系列 SDK12
PCA10040 nRF52832 SDK12、SDK13
PCA10056 nRF52840 SDK12、SDK13

可以在infocenter网站上下载各开发板对应的用户手册:

PCA10028:http://www.nordicsemi.com/eng/nordic/download_resource/38677/1/44148122/64339

PCA10040:http://infocenter.nordicsemi.com/pdf/nRF52_DK_User_Guide_v1.2.pdf

PCA10056:http://infocenter.nordicsemi.com/pdf/nRF52840_PDK_User_Guide_v1.1.pdf

2. 软件开发工具包(SDK)

SDK是一个压缩包,它包含了:软件库文件、示例程序、API文档和IDE插件。

Nordic的SDK会持续更新,以增加新功能和修正旧错误,对应的版本号逐渐增加,目前最新的稳定版版本号为SDK 13.1.0。

SDK在更新时候会尽量考虑向下兼容,并且持续维护老版本。因此,既可以为了实现新功能而使用最新版甚至测试版,也可以在已有的产品中追求稳定而持续使用老版本。

SDK的下载地址:http://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF5-SDK

Nordic_Dev_SDK_Download_Page

下载后解压后,查看SDK的目录结构。

Nordic_Dev_SDK_structure

各项目含义如下:

文件夹 含义
components 软件库和HAL驱动的源文件和头文件
config 仅包含一个c文件,用以配置工程参数
documentation API文档链接,并可以由此下载离线文档
examples 官方示例工程
external 第三方库和驱动,比如文件系统、RTOS、NFC等
svd 芯片的SVD文件
license.txt 版权声明
IAR_NordicLicense.msi IAR开发环境的插件
Keil4_NordicLicense.msi Keil开发环境的插件

SoftDevice

SDK是Nordic芯片的软件开发工具包,其中软件库部分包含了外设驱动、HAL驱动、协议栈和所有相关的文件。

Nordic的协议栈叫做SoftDevice,它包含BLE协议栈和ANT协议栈,未来还可能包含其他协议栈。

为了区分,对支持不同协议栈的SoftDevice进行命名,具体如下:

SoftDevice名称 支持BLE 支持ANT 支持nRF51 支持nRF52
S130
S132
S212
S332
S140 √ (only for 52840)

对于BLE开发而言,目前最常用的由S130和S132,分别对应nRF51和nRF52两个系列的芯片。

3. 开发工具(IDE)

Nordic支持Keil、IAR和基于GCC的IDE开发工具。

3.1 Keil

(1)

Keil环境安装好以后,需要安装Nordic的设备支持包:NordicSemiconductor.nRF_DeviceFamilyPack.pack

Nordic_Dev_Keil_Pack_Install

这个包的版本,要与SDK的版本对应。

回顾刚才提到的SDK目录,查看最后一个文件的文件名:nRF5x_MDK_8_12_0_Keil4_NordicLicense.msi,文件命中的字符串8_12_0表示对应的DeviceFamilyPack的版本为8.12.0。更高版本的DeviceFamilyPack应该也可以使用。

(2)

此外,还需要安装必要的ARM::CMSIS包:

Nordic_Dev_SDK_Pack_Install_2

如果没有安装合适的DeviceFamilyPack或CMSIS包,在打开官方示例工程时候,Keil会弹出安装提示。

(3)

安装SDK目录下的nRF5x_MDK_8_12_0_Keil4_NordicLicense.msi。

至此,Keil环境就安装完毕。

打开SDK下的示例目录,比如:C:\Nordic\SDK\13.1.0\examples\ble_peripheral\experimental_ble_app_blinky\pca10040\s132

该目录下有两个Keil相关的文件夹:arm4和arm5_no_pack,如果是Keil4就使用arm4目录,如果是Keil5就使用arm5_no_pack。

3.2 IAR

IAR工具安装好以后,只需要安装SDK目录下的nRF5x_MDK_8_12_0_IAR_NordicLicense.msi。

同样打开SDK下的示例目录,比如:C:\Nordic\SDK\13.1.0\examples\ble_peripheral\experimental_ble_app_blinky

运行.eww项目文件即可。

由于IAR与Keil两个工具的项目结构差异,项目文件存放位置不同。

3.3 GCC

请参考官方文档:https://devzone.nordicsemi.com/tutorials/7/

4. 烧录

烧录Nordic BLE芯片,至少需要烧录2个文件:SoftDevice和用户程序。

以下情况值得注意:

(1)对于裸片,需要先烧录SoftDevice,再烧录用户程序。

(2)如果芯片已有SoftDevice,无需重复烧SoftDevice,只烧用户程序即可。

(3)SoftDevice的版本要与用户程序需求的版本一致。

Keil工具烧录SoftDevice比较方便,在选择目标文件处选择softdevice即可,如下:

Nordic_Dev_Keil_Prog_SoftDevice

IAR工具烧录SoftDevice,暂未发现方便的方法,只能先手动烧录SoftDevice的hex文件(C:\Nordic\SDK\13.1.0\components\softdevice\s132\hex),再烧录工程文件。

nRFgo_Studio

该工具具有测试和烧录功能,它可以:

  • 擦除芯片
  • 烧录SoftDevice
  • 烧录用户hex文件

Nordic_Dev_Prog_nRFgo_studio

nRF5x-Command-Line-Tools

该工具是命令行烧录工具。

按照该工具需要在Keil/IAR装好之后进行。

(完)