第七章 nRF52832的SDK简介
- 源码地址:https://github.com/HX-IoT
- nRF52832开发指南QQ群:326941601,内有pdf版,排版整洁。
目标
- 了解SDK目录结构,为接下来的开发做准备。
- 以nRF5_SDK_15.0.0_a53641a为例介绍SDK
SDK介绍(原文)
SDK(Software Development Kit)是指软件开发包,一般是由官方提供,主要用来介绍开发流程,提供常用的例程代码等等。可以降低开发者使用的门槛,提高开发效率,所以在开发者在进行具体的开发前必须先熟悉官方的SDK,一般可以在对应的官网获取(有些网站是开放的,可以直接下载,有些网站需要申请)。Nordic Semiconductor就为NRF52832提供了SDK,里面有丰富的参考例程,我们一般都会在功能相近的例程基础上进行开发,效率非常高。
主目录
下面以nRF5_SDK_15.0.0_a53641a为例介绍SDK。
文件夹名 |
功能 |
components |
包含底层实现的库 |
config |
芯片的配置文件 |
documentation |
开发指南文档和授权文件 |
examples |
源码例程,是开发必须要参考的 |
external |
第三方库 |
external_tools |
第三方工具 |
integration |
底层硬件驱动代码 |
modules |
功能模块驱动代码 |
license |
授权文件的链接 |
nRF5x_MDK_8_16_0_IAR_NordicLicense.msi |
使用IAR开发的license |
nRF5x_MDK_8_16_0_Keil4_NordicLicense.msi |
使用MDK开发的license |
实验例程
在开发的过程中我们主要使用到examples这个文件夹,当然工程文件也离不开components、integration以及modules文件夹,只是我们一般只对examples文件夹下进行增删改。modules里面是外设的驱动代码相对于integration更底层一点,而integration是调用modules文件中的代码封装的外设初始化和应用代码。
那么就来介绍一下examples文件夹,由于NRF52832是一款多协议的SOC,而我们是进行蓝牙开发,所以我们只介绍蓝牙相关的,如下图所示:
文件夹名 |
功能 |
ble_central |
蓝牙主机例程 |
ble_central_and_peripheral |
蓝牙主从一体例程 |
ble_peripheral |
蓝牙从机例程 |
dfu |
空中升级例程 |
peripheral |
外设例程:GPIO等 |
readme.txt |
详细介绍,请看readme |
蓝牙从机例程,比较常用,例程丰富
芯片平台介绍
SDK中各个文件夹工程隶属平台的介绍。
文件夹名 |
平台 |
pca10040e |
官方nRF52810开发板 |
pca10040 |
官方nRF52832开发板 |
pca10056 |
官方nRF52840开发板 |
pca10059 |
官方nRF52840 Dongle |
工程项目打开的位置
有5种开发方式来开发nRF52系列。其中MDK4和MDK5差不多,后面我们讲全部讲解。
SDK总结
- Nordic官方SDK是学习提升的第一手教材,值得终生学习。
- 在SDK上完成应用的开发,一直是主流开发方式。
- 协议栈+应用开发,更看重流程+接口的能力。
- 安装过程中需要的软件,可以再红旭开源网盘中下载。
- 源码:https://github.com/HX-IoT