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
下载后解压后,查看SDK的目录结构。
各项目含义如下:
文件夹 | 含义 |
---|---|
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
这个包的版本,要与SDK的版本对应。
回顾刚才提到的SDK目录,查看最后一个文件的文件名:nRF5x_MDK_8_12_0_Keil4_NordicLicense.msi,文件命中的字符串8_12_0表示对应的DeviceFamilyPack的版本为8.12.0。更高版本的DeviceFamilyPack应该也可以使用。
(2)
此外,还需要安装必要的ARM::CMSIS包:
如果没有安装合适的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即可,如下:
IAR工具烧录SoftDevice,暂未发现方便的方法,只能先手动烧录SoftDevice的hex文件(C:\Nordic\SDK\13.1.0\components\softdevice\s132\hex),再烧录工程文件。
nRFgo_Studio
该工具具有测试和烧录功能,它可以:
- 擦除芯片
- 烧录SoftDevice
- 烧录用户hex文件
nRF5x-Command-Line-Tools
该工具是命令行烧录工具。
按照该工具需要在Keil/IAR装好之后进行。
(完)
2 responses to “搭建Nordic 开发环境”
请问下,nRF5x_MDK_8_12_0_Keil4_NordicLicense.msi 这软件的作用是什么呢?
—– 我目前使用keil5 V12, 使用最新的SDK 15.3, 安装pack都提示出错呢“SVD compilation failed”
是给Keil 4用的。Keil 5的话,去下载个最新版吧。