“NRF52832DK入门手册”的版本间的差异

来自谷雨文档中心
跳转至: 导航搜索
入口函数main
开箱测试
 
(未显示同一用户的61个中间版本)
第1行: 第1行:
NRF52832D是基于Nordic的nRF52832的开发板('''下文简称52DK'''),支持低功耗蓝牙(BLE),为广大开发人员提供了一个硬件开发平台,帮助工程师快速的了解和学习nRF52832的BLE特性,和实现产品原型阶段的开发工作。
+
NRF52832DK是基于Nordic蓝牙芯片nRF52832的开发板('''下文简称52DK'''),支持低功耗蓝牙(BLE),为广大开发人员提供了一个硬件开发平台,帮助工程师快速的了解和学习nRF52832的BLE特性,和实现产品原型阶段的开发工作。
  
 
52DK采用核心板与底板分离的设计,核心板采用谷雨物联网的低功耗蓝牙模块BLE520,该模块引出nRF52832的全部IO,支持蓝牙5.0。
 
52DK采用核心板与底板分离的设计,核心板采用谷雨物联网的低功耗蓝牙模块BLE520,该模块引出nRF52832的全部IO,支持蓝牙5.0。
第5行: 第5行:
 
本文帮助开发者,快速的了解和使用52DK开发板。
 
本文帮助开发者,快速的了解和使用52DK开发板。
  
== 芯片简介 ==
+
== 低功耗蓝牙简介 ==
 +
BLE低功耗蓝牙的英文缩写(Bluetooth Low Energy),是蓝牙4.0版本起开始支持的新的、低功耗版本的蓝牙技术规范。
 +
 
 +
蓝牙技术联盟(Bluetooth SIG)在2010年发布了跨时代的蓝牙4.0,它并不是蓝牙3.0的简单升级版本,而是全新的技术架构,蓝牙4.0版本分两种模式:单模蓝牙和双模蓝牙。
 +
 
 +
常见的蓝牙音箱,是典型的双模蓝牙,它需要传输大量的音频数据。而小米手环,蓝牙温度计则属于单模蓝牙。行业里一般不讲单模蓝牙,而是统一称为低功耗蓝牙。
 +
 
 +
如今,蓝牙5.0已经发布和应用,4倍通信速度、2倍的通信距离以及Mesh组网特性,将使蓝牙成为物联网领域的重要的技术之一。
 +
 
 +
有关详细的低功耗蓝牙协议介绍请阅读《BLE技术揭秘》<ref group="参考">《[[BLE技术揭秘]]》,一文读懂低功耗蓝牙</ref>
 +
[[文件:BLE技术 蓝牙5.jpg|居中|无框|750x750像素]]
 +
 
 +
== nRF52832芯片简介 ==
 
nRF52832芯片主要特点介绍。
 
nRF52832芯片主要特点介绍。
 
* 2.4GHz radio,支持多种无线协议,例如BLE,ANT等。
 
* 2.4GHz radio,支持多种无线协议,例如BLE,ANT等。
第11行: 第23行:
 
* 512KB程序存储空间和64KB内存空间。
 
* 512KB程序存储空间和64KB内存空间。
 
* 31个GPIO,每个IO均可灵活配置。
 
* 31个GPIO,每个IO均可灵活配置。
 +
芯片功能框图如下图所示:
 +
[[文件:NRF52832 芯片功能框图.png|居中|无框|642x642像素]]
  
 
== 开发板简介 ==
 
== 开发板简介 ==
 
52DK采用核心板与底板分离的设计,核心板是用我们的模块:BLE520,该模块引出芯片的全部GPIO。开发板底板上,设计了LED电路,按键电路,蜂鸣器电路等,专为初学者设计,电路简单易懂。
 
52DK采用核心板与底板分离的设计,核心板是用我们的模块:BLE520,该模块引出芯片的全部GPIO。开发板底板上,设计了LED电路,按键电路,蜂鸣器电路等,专为初学者设计,电路简单易懂。
  
(开发板实物图片,带有功能简介。开发板功能框图如下图所示。)
+
有关52DK开发板完整的硬件说明,请阅读《NRF52832DK硬件设计手册<ref group="参考" name=":0">[[NRF52832DK硬件设计手册|《NRF52832DK硬件设计手册]]》,详细描述开发板的硬件设计说明</ref>》。
 +
 
 +
52DK开发板硬件功能如下图所示:
 +
[[文件:NRF52832DK-硬件说明.png|居中|无框|750x750像素]]
 +
 
 +
== 开箱测试 ==
 +
我们为开发者准备了完整的开箱测试视频和文档说明,详情请阅读《NRF52832DK开箱测试》<ref group="参考">《[[NRF52832DK开箱测试]]》,开发板的开箱测试指导</ref>,下面是NRF52832DK的开箱视频。
 +
{{哔哩哔哩|id=79042746|page=1|cid=135262757}}
 +
 
 +
== 开发资料 ==
 +
我们为52DK编写了丰富的开发资料,资料按照存储形式分为两大部分:
 +
* 在线文档,例如入门教程,硬件手册等。特点是纯技术文档,可能需要经常更新。可在线阅读,也可另存为pdf本地阅读。
 +
* 归档资料,比如协议栈安装包,软件安装包等。特点是文件较大、很少需要更新的文件或文档。
 +
资料截图如下图所示(实际内容可能已经更新,仅供参考)。
 +
[[文件:NRF52832DK-开发资料截图.png|居中|无框|855x855px]]
 +
 
 +
== 软件开发环境搭建 ==
 +
软件开发环境主要包含三个部分的安装:
 +
* 集成开发软件IAR for ARM
 +
* nRF蓝牙协议栈SDK
 +
* nRF52832芯片烧写软件nRFgo
 +
(入门手册需要配套有一个视频)
 +
 
 +
=== 集成开发软件IAR ===
 +
IAR软件安装手册位置:<code>归档资料/1-编译器/编译器IAR/IAR for ARM v7.8安装教程.pdf</code>。
 +
 
 +
请根据此安装教程操作即可。IAR安装后如下图所示。
 +
[[文件:NRF52832DK-集成开发软件IAR.png|居中|无框|750x750像素]]
 +
 
 +
=== 蓝牙协议栈SDK ===
 +
本节涉及两个内容。
 +
 
 +
首先是安装Nordic官方提供的协议栈SDK(包括协议栈固件SoftDevice),SDK中自带非常丰富的实验例程。
 +
 
 +
其次是解压我们谷雨针对NRF52832DK开发板提供的实验例程。
 +
 
 +
==== 安装协议栈sdk ====
 +
SDK位置:<code>归档资料/2-协议栈SDK/nRF5_SDK_xx.x.x.zip</code>,xx.x.x是该协议栈版本号。例如nRF_52_15.2.0.zip
 +
 
 +
Nordic提供的协议栈SDK无需特别处理,解压即可使用,但是强烈建议使用短小的全英文路径,避免不必要的问题发生。例如:<code>E:\project-nordic\nRF5_SDK_15.2.0_9412b96</code>。由于压缩包较大,小文件较多,需要数分钟的解压时间。解压后的协议栈结构如下图所示:
 +
[[文件:NRF52832DK-协议栈SDK目录结构.png|居中|无框|750x750像素]]主要目录说明:
 +
 
 +
{| class="wikitable"
 +
!目录或文件
 +
!作用
 +
|-
 +
|components
 +
|nRF52832芯片的软件或驱动组件库,例如芯片外设驱动,射频(802.15.4)驱动等,SoftDevice组件接口等。
 +
|-
 +
|examples
 +
|Nordic官方示例程序,例如外设的使用示例,协议栈示例等。
 +
|-
 +
|external
 +
|协议栈使用的其他软件组件,例如文件系统fatfs,网络通信协议lwip等。
 +
|-
 +
|nRF5x_MDK_8_17_0_IAR_NordicLicense.msi
 +
|当使用IAR时,需要安装此版本的MDK
 +
|-
 +
|nRF5x_MDK_8_17_0_Keil4_NordicLicense.msi
 +
|当使用Keil时,需要安装此版本的MDK
 +
|}
 +
 
 +
==== 协议栈固件SoftDevice ====
 +
SoftDevice是Nordic封装的蓝牙协议栈底层固件库(二进制文件Hex的形式提供),该固件库烧需要使用仿真器烧写到芯片Flash的指定地址中,然后由协议栈SDK中的例子来调用。
 +
 
 +
这种方式可以带来很多好处,SoftDevice不需要跟你的应用一起编译或者链接,大大节省调试时间。Softdevice运行在固定的Flash空间中,使用固定的RAM空间,从而与你的应用完全隔离开,实现了真正的模块分离,也便于芯片的固件升级。
 +
 
 +
SoftDevice固件目录:<code>nRF5_SDK_15.2.0_9412b96\components\softdevice\s132\hex</code>,注意s132,softdevice目录下有多个版本的固件,我们这个sdk使用的是s132版本。如下图所示。
 +
[[文件:NRF52832DK-SoftDevice文件位置.png|居中|无框|750x750像素]]
 +
 
 +
==== 安装nRFx_MDK_IAR ====
 +
由于我们使用的是IAR开发软件,因此需要安装协议栈sdk中的nRF5x_MDK_8_17_0_IAR_NordicLicense.msi,双击运行安装即可。如下图所示。
 +
[[文件:NRF52832DK-NRF52-MDK-IAR-安装.png|居中|无框|509x509像素]]
 +
 
 +
==== 解压谷雨实验例程 ====
 +
谷雨实验例程位置:<code>归档资料/1-协议栈SDK/谷雨实验源码包/nrf52832dk.rar</code>。
 +
 
 +
实验例程【必须】解压到协议栈的指定目录,因为其完全依赖协议栈的文件结构。解压后的实验例程如下图所示。
 +
[[文件:NRF52832DK-谷雨实验例程.png|居中|无框|750x750像素]]
 +
{| class="wikitable"
 +
|+目录结构说明
 +
!目录或文件
 +
!说明
 +
|-
 +
|peripheral
 +
|基础实验,是nRF52832芯片外设的示例程序,例如GPIO控制,UART收发,FLASH读写等。
 +
|-
 +
|ble
 +
|协议栈实验,例如蓝牙主机,蓝牙从机等示例程序
 +
|-
 +
|ble_advance
 +
|协议栈高级实验,例如主从一体,iBeacon等。
 +
|}
 +
{{Note|text=提示:压缩包解压时务必注意,不能多产生一层目录,例如:E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\nrf52832dk\,这样是错误的,例程将无法成功编译!|type=warning}}
 +
 
 +
=== 烧写软件nRFgo ===
 +
nRFgo软件位置:<code>归档资料/3-烧写软件nRFgo/nrfgostudio_win-YY_x.xx.x_installer.msi</code>。YY是指32位还是64位的windows系统安装,x.xx.x是指该软件的版本号,例如:nrfgostudio_win-64_1.21.2_installer.msi
 +
 
 +
nRFgo Studio是Nordic官方提供的芯片固件烧写软件和射频测试软件,需要配套使用Jlink仿真器,可以使用我们的Jlink-Lite,完美支持nRF5系列芯片。
 +
 
 +
软件安装一路Next即可,安装结束后会随即弹出nRF5x-Command-Line-Tools的安装,根据提示继续安装此工具直到安装结束(期间还会调用J-link驱动的安装)。
 +
 
 +
安装后的nRFgo软件界面如下图所示:
 +
[[文件:NRF52832DK-nRFgo软件界面.png|居中|无框|750x750像素]]
 +
 
 +
 
 +
 
 +
=== 其他软件工具 ===
 +
暂无。
 +
 
 +
== 硬件环境搭建 ==
 +
开发套件硬件环境搭建包括硬件的准备和驱动程序的安装。需要准备的硬件如下图所示。
 +
[[文件:NRF52832DK-硬件开发工具.png|居中|无框|750x750像素]]
 +
硬件说明如下:
 +
{| class="wikitable"
 +
!类型
 +
!说明
 +
|-
 +
|开发板
 +
|开发板型号为NRF52832DK。
 +
|-
 +
|仿真器
 +
|使用谷雨Jlink-Lite仿真器,10p灰色排线直连NRF52832DK开发板。
 +
若使用其他Jlink仿真器,注意仿真器接口要与NRF52832DK的烧写接口匹配。
 +
 
 +
详情可查看《NRF52832硬件设计手册》<ref group="参考" name=":0" />中的Jlink-Lite接口
 +
|-
 +
|显示屏
 +
|支持谷雨的三款显示屏
 +
* 128x128分辨率的1.44寸TFT显示屏
 +
* 240x240分辨率的1.32寸TFT显示屏
 +
* 200x200分辨率的1.54寸ePaper电子墨水屏
 +
|}
 +
需要安装的驱动程序有:
 +
* 开发板USB驱动
 +
* 仿真器Jlink驱动
 +
 
 +
=== 安装开发板USB驱动 ===
 +
驱动位置:<code>归档资料/4-驱动程序/开发板USB驱动</code>。
 +
 
 +
nRF52DK开发板采用CH340C芯片,将蓝牙芯片的UART信号转换为USB接口信号,方便电脑端使用USB接口来调试模块串口。
 +
[[文件:CH340驱动安装.png|居中|无框|700x700像素]]
 +
 
 +
=== 安装仿真器Jlink驱动 ===
 +
驱动位置:<code>归档资料/4-驱动程序/仿真器JLINK驱动</code>。
 +
 
 +
若已经安装了nRFgo Studio软件,会自动安装Jlink驱动,无需重复安装。若想使用最新版的仿真器驱动,可以安装我们提供的
 +
 
 +
=== 其他硬件 ===
 +
暂无。
 +
 
 +
== 开发环境验证 ==
 +
软硬件开发环境已经搭建完毕,现在测试一下整个工具链是否能够正常工作。
 +
 
 +
=== 硬件连接 ===
 +
按照前文硬件环境搭建中的图片连接开发板与仿真器,并将仿真器的USB与电脑连接。若驱动未安装,则根据上一节内容安相关驱动。
 +
 
 +
=== 打开IAR工程 ===
 +
我们以最简单的LED点灯实验的为例,工程文件位于:<code>E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\peripheral\01_Led_blinkly_example\gyLaunchIot.eww</code>
 +
[[文件:NRF52832-LED点灯工程文件.png|居中|无框|750x750像素]]
 +
 
 +
eww后缀的文件是IAR工程文件,双击启动IAR编译软件,如下图所示。
 +
[[文件:NRF52832DK-LED点灯.png|居中|无框|750x750像素]]
 +
 
 +
=== 下载程序 ===
 +
点击菜单 <code>Project->Download And Debug</code>,使用IAR下载测试程序。如下图所示。点击<code>Go</code>按钮,开始运行程序,点击旁边的<code>Stop Debugging</code>按钮,结束仿真下载。
 +
[[文件:NRF52832DK-LED点灯程序下载.png|居中|无框|750x750像素]]
 +
此时可以看到开发板上的四个LED轮流点亮和熄灭。
 +
 
 +
如果程序下载程序,但是开发板指示灯没有反应,多数是因为芯片中原先烧写了ble协议栈,需要将协议栈擦除。
 +
{{Note|text=注意,若芯片中烧写了协议栈程序,需要将芯片flash全部擦除,才能运行基础例程中的裸机代码。|type=warning}}
 +
 
 +
=== 擦除程序 ===
 +
使用nRFgo Studio软件来擦除和烧写芯片,如下截图。
 +
[[文件:NRF52832DK-nRFgo擦除和烧写.png|居中|缩略图|750x750像素]]
 +
首先点击左侧<code>Device Manager</code>中的<code>nRF5x Programming</code>选项,然后右侧的内容才会显示出来,如果选型是灰色或者右侧内容没有显示,请先检查硬件连接(电脑与仿真器,放着器与开发板)。
 +
 
 +
点击A区域的<code>Erase All</code>按钮,将擦除整个Flash空间。擦除完成后,在下方的Log消息框中,将打印:Erase completed
  
有关52DK开发板完整的硬件说明,请阅读《NRF52832DK硬件设计手册<ref>[[NRF52832DK硬件设计手册|《NRF52832DK硬件设计手册]]》,详细描述开发板的硬件设计说明</ref>》。
+
B区域用来烧写协议栈SoftDevice和App,在后面的章节会使用到该功能。
  
== 开发资料简介 ==
+
=== 烧写出厂固件 ===
我们为52DK编写了丰富的开发资料。除了本文入门手册外,还有一些列重要的手册和资料。
+
开发板默认烧写出厂测试程序,出厂测试程序的功能请参考开箱测试中的说明。
  
(直接引用NRF52832DK中的资料表格)
+
出厂测试固件位于百度云盘:
* 开箱测试
 
* 入门手册
 
* 硬件设计手册
 
* 基础实验手册
 
* 蓝牙协议栈实验手册
 
* 实战实验手册
 
  
== 开发环境搭建 ==
+
== 实验例程介绍 ==
开发环境预览,总分总的结构。
+
我们根据实验例程的类型分为三类,分别是:
 +
* 基础实验,针对nRF52832芯片硬件外设的示例实验,例如GPIO实验,UART串口实验等。
 +
* 协议栈实验,针对蓝牙协议栈的示例实验,例如蓝牙从机实验,蓝牙主机实验等。
 +
* 协议栈高级实验,蓝牙实验的进阶,例如蓝牙主从一体,iBeacon等,更接近真实项目的示例程序。
  
协议栈的安装和介绍
+
=== 基础实验 ===
 +
基础实验是指针对nRF52832芯片的硬件外设的示例程序,例如GPIO实验,UART串口实验。
  
编译器的安装和介绍
+
各实验如下图所示,文件夹位置:<code>E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\peripheral</code>
  
烧写软件的安装和介绍
+
[[文件:NRF52832DK-基础实验.png|居中|无框|600x600像素]]
  
抓包工具
+
=== 协议栈实验 ===
 +
协议栈实验是针对蓝牙协议栈的示例实验,例如蓝牙从机实验,蓝牙主机实验等。
  
== 一般代码框架 ==
+
各实验如下图所示,文件夹位置:<code>E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\ble</code>
本节内容介绍协议栈示例程序的一般代码框架,了解nRF52832软件代码的大致轮廓。然后再完善细节知识。
+
[[文件:NRF52832DK-协议栈实验.png|居中|无框|600x600像素]]
  
=== 入口函数main ===
+
=== 协议栈高级实验 ===
 +
协议栈高级实验是蓝牙实验的进阶,例如蓝牙主从一体,iBeacon等,更接近真实项目的示例程序。
  
=== 等等 ===
+
各实验如下图所示,文件夹位置:<code>E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\ble_advance</code>
 +
[[文件:NRF52832DK-协议栈高级实验.png|居中|无框|600x600像素]]
  
 
== 参考资料 ==
 
== 参考资料 ==
<references />
+
本文涉及的相关参考文档列表如下:<references group="参考" />
 +
[[分类:NRF52832DK]]
 +
[[分类:入门手册]]

2019年12月18日 (三) 01:55的最新版本

NRF52832DK是基于Nordic蓝牙芯片nRF52832的开发板(下文简称52DK),支持低功耗蓝牙(BLE),为广大开发人员提供了一个硬件开发平台,帮助工程师快速的了解和学习nRF52832的BLE特性,和实现产品原型阶段的开发工作。

52DK采用核心板与底板分离的设计,核心板采用谷雨物联网的低功耗蓝牙模块BLE520,该模块引出nRF52832的全部IO,支持蓝牙5.0。

本文帮助开发者,快速的了解和使用52DK开发板。

1 低功耗蓝牙简介

BLE低功耗蓝牙的英文缩写(Bluetooth Low Energy),是蓝牙4.0版本起开始支持的新的、低功耗版本的蓝牙技术规范。

蓝牙技术联盟(Bluetooth SIG)在2010年发布了跨时代的蓝牙4.0,它并不是蓝牙3.0的简单升级版本,而是全新的技术架构,蓝牙4.0版本分两种模式:单模蓝牙和双模蓝牙。

常见的蓝牙音箱,是典型的双模蓝牙,它需要传输大量的音频数据。而小米手环,蓝牙温度计则属于单模蓝牙。行业里一般不讲单模蓝牙,而是统一称为低功耗蓝牙。

如今,蓝牙5.0已经发布和应用,4倍通信速度、2倍的通信距离以及Mesh组网特性,将使蓝牙成为物联网领域的重要的技术之一。

有关详细的低功耗蓝牙协议介绍请阅读《BLE技术揭秘》[参考 1]

BLE技术 蓝牙5.jpg

2 nRF52832芯片简介

nRF52832芯片主要特点介绍。

  • 2.4GHz radio,支持多种无线协议,例如BLE,ANT等。
  • 32位 ARM Cortex-M4F 处理器,增强浮点运算能力,可以提供更复杂的算力支持。
  • 512KB程序存储空间和64KB内存空间。
  • 31个GPIO,每个IO均可灵活配置。

芯片功能框图如下图所示:

NRF52832 芯片功能框图.png

3 开发板简介

52DK采用核心板与底板分离的设计,核心板是用我们的模块:BLE520,该模块引出芯片的全部GPIO。开发板底板上,设计了LED电路,按键电路,蜂鸣器电路等,专为初学者设计,电路简单易懂。

有关52DK开发板完整的硬件说明,请阅读《NRF52832DK硬件设计手册[参考 2]》。

52DK开发板硬件功能如下图所示:

NRF52832DK-硬件说明.png

4 开箱测试

我们为开发者准备了完整的开箱测试视频和文档说明,详情请阅读《NRF52832DK开箱测试》[参考 3],下面是NRF52832DK的开箱视频。

视频链接:
av79042746?p=1&dummy=doc.png
扫码观看视频


5 开发资料

我们为52DK编写了丰富的开发资料,资料按照存储形式分为两大部分:

  • 在线文档,例如入门教程,硬件手册等。特点是纯技术文档,可能需要经常更新。可在线阅读,也可另存为pdf本地阅读。
  • 归档资料,比如协议栈安装包,软件安装包等。特点是文件较大、很少需要更新的文件或文档。

资料截图如下图所示(实际内容可能已经更新,仅供参考)。

NRF52832DK-开发资料截图.png

6 软件开发环境搭建

软件开发环境主要包含三个部分的安装:

  • 集成开发软件IAR for ARM
  • nRF蓝牙协议栈SDK
  • nRF52832芯片烧写软件nRFgo

(入门手册需要配套有一个视频)

6.1 集成开发软件IAR

IAR软件安装手册位置:归档资料/1-编译器/编译器IAR/IAR for ARM v7.8安装教程.pdf

请根据此安装教程操作即可。IAR安装后如下图所示。

NRF52832DK-集成开发软件IAR.png

6.2 蓝牙协议栈SDK

本节涉及两个内容。

首先是安装Nordic官方提供的协议栈SDK(包括协议栈固件SoftDevice),SDK中自带非常丰富的实验例程。

其次是解压我们谷雨针对NRF52832DK开发板提供的实验例程。

6.2.1 安装协议栈sdk

SDK位置:归档资料/2-协议栈SDK/nRF5_SDK_xx.x.x.zip,xx.x.x是该协议栈版本号。例如nRF_52_15.2.0.zip

Nordic提供的协议栈SDK无需特别处理,解压即可使用,但是强烈建议使用短小的全英文路径,避免不必要的问题发生。例如:E:\project-nordic\nRF5_SDK_15.2.0_9412b96。由于压缩包较大,小文件较多,需要数分钟的解压时间。解压后的协议栈结构如下图所示:

NRF52832DK-协议栈SDK目录结构.png

主要目录说明:

目录或文件 作用
components nRF52832芯片的软件或驱动组件库,例如芯片外设驱动,射频(802.15.4)驱动等,SoftDevice组件接口等。
examples Nordic官方示例程序,例如外设的使用示例,协议栈示例等。
external 协议栈使用的其他软件组件,例如文件系统fatfs,网络通信协议lwip等。
nRF5x_MDK_8_17_0_IAR_NordicLicense.msi 当使用IAR时,需要安装此版本的MDK
nRF5x_MDK_8_17_0_Keil4_NordicLicense.msi 当使用Keil时,需要安装此版本的MDK

6.2.2 协议栈固件SoftDevice

SoftDevice是Nordic封装的蓝牙协议栈底层固件库(二进制文件Hex的形式提供),该固件库烧需要使用仿真器烧写到芯片Flash的指定地址中,然后由协议栈SDK中的例子来调用。

这种方式可以带来很多好处,SoftDevice不需要跟你的应用一起编译或者链接,大大节省调试时间。Softdevice运行在固定的Flash空间中,使用固定的RAM空间,从而与你的应用完全隔离开,实现了真正的模块分离,也便于芯片的固件升级。

SoftDevice固件目录:nRF5_SDK_15.2.0_9412b96\components\softdevice\s132\hex,注意s132,softdevice目录下有多个版本的固件,我们这个sdk使用的是s132版本。如下图所示。

NRF52832DK-SoftDevice文件位置.png

6.2.3 安装nRFx_MDK_IAR

由于我们使用的是IAR开发软件,因此需要安装协议栈sdk中的nRF5x_MDK_8_17_0_IAR_NordicLicense.msi,双击运行安装即可。如下图所示。

NRF52832DK-NRF52-MDK-IAR-安装.png

6.2.4 解压谷雨实验例程

谷雨实验例程位置:归档资料/1-协议栈SDK/谷雨实验源码包/nrf52832dk.rar

实验例程【必须】解压到协议栈的指定目录,因为其完全依赖协议栈的文件结构。解压后的实验例程如下图所示。

NRF52832DK-谷雨实验例程.png
目录结构说明
目录或文件 说明
peripheral 基础实验,是nRF52832芯片外设的示例程序,例如GPIO控制,UART收发,FLASH读写等。
ble 协议栈实验,例如蓝牙主机,蓝牙从机等示例程序
ble_advance 协议栈高级实验,例如主从一体,iBeacon等。
Icon-info.png
提示:压缩包解压时务必注意,不能多产生一层目录,例如:E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\nrf52832dk\,这样是错误的,例程将无法成功编译!

6.3 烧写软件nRFgo

nRFgo软件位置:归档资料/3-烧写软件nRFgo/nrfgostudio_win-YY_x.xx.x_installer.msi。YY是指32位还是64位的windows系统安装,x.xx.x是指该软件的版本号,例如:nrfgostudio_win-64_1.21.2_installer.msi

nRFgo Studio是Nordic官方提供的芯片固件烧写软件和射频测试软件,需要配套使用Jlink仿真器,可以使用我们的Jlink-Lite,完美支持nRF5系列芯片。

软件安装一路Next即可,安装结束后会随即弹出nRF5x-Command-Line-Tools的安装,根据提示继续安装此工具直到安装结束(期间还会调用J-link驱动的安装)。

安装后的nRFgo软件界面如下图所示:

NRF52832DK-nRFgo软件界面.png


6.4 其他软件工具

暂无。

7 硬件环境搭建

开发套件硬件环境搭建包括硬件的准备和驱动程序的安装。需要准备的硬件如下图所示。

NRF52832DK-硬件开发工具.png

硬件说明如下:

类型 说明
开发板 开发板型号为NRF52832DK。
仿真器 使用谷雨Jlink-Lite仿真器,10p灰色排线直连NRF52832DK开发板。

若使用其他Jlink仿真器,注意仿真器接口要与NRF52832DK的烧写接口匹配。

详情可查看《NRF52832硬件设计手册》[参考 2]中的Jlink-Lite接口

显示屏 支持谷雨的三款显示屏
  • 128x128分辨率的1.44寸TFT显示屏
  • 240x240分辨率的1.32寸TFT显示屏
  • 200x200分辨率的1.54寸ePaper电子墨水屏

需要安装的驱动程序有:

  • 开发板USB驱动
  • 仿真器Jlink驱动

7.1 安装开发板USB驱动

驱动位置:归档资料/4-驱动程序/开发板USB驱动

nRF52DK开发板采用CH340C芯片,将蓝牙芯片的UART信号转换为USB接口信号,方便电脑端使用USB接口来调试模块串口。

CH340驱动安装.png

7.2 安装仿真器Jlink驱动

驱动位置:归档资料/4-驱动程序/仿真器JLINK驱动

若已经安装了nRFgo Studio软件,会自动安装Jlink驱动,无需重复安装。若想使用最新版的仿真器驱动,可以安装我们提供的

7.3 其他硬件

暂无。

8 开发环境验证

软硬件开发环境已经搭建完毕,现在测试一下整个工具链是否能够正常工作。

8.1 硬件连接

按照前文硬件环境搭建中的图片连接开发板与仿真器,并将仿真器的USB与电脑连接。若驱动未安装,则根据上一节内容安相关驱动。

8.2 打开IAR工程

我们以最简单的LED点灯实验的为例,工程文件位于:E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\peripheral\01_Led_blinkly_example\gyLaunchIot.eww

NRF52832-LED点灯工程文件.png

eww后缀的文件是IAR工程文件,双击启动IAR编译软件,如下图所示。

NRF52832DK-LED点灯.png

8.3 下载程序

点击菜单 Project->Download And Debug,使用IAR下载测试程序。如下图所示。点击Go按钮,开始运行程序,点击旁边的Stop Debugging按钮,结束仿真下载。

NRF52832DK-LED点灯程序下载.png

此时可以看到开发板上的四个LED轮流点亮和熄灭。

如果程序下载程序,但是开发板指示灯没有反应,多数是因为芯片中原先烧写了ble协议栈,需要将协议栈擦除。

Icon-info.png
注意,若芯片中烧写了协议栈程序,需要将芯片flash全部擦除,才能运行基础例程中的裸机代码。

8.4 擦除程序

使用nRFgo Studio软件来擦除和烧写芯片,如下截图。

NRF52832DK-nRFgo擦除和烧写.png

首先点击左侧Device Manager中的nRF5x Programming选项,然后右侧的内容才会显示出来,如果选型是灰色或者右侧内容没有显示,请先检查硬件连接(电脑与仿真器,放着器与开发板)。

点击A区域的Erase All按钮,将擦除整个Flash空间。擦除完成后,在下方的Log消息框中,将打印:Erase completed

B区域用来烧写协议栈SoftDevice和App,在后面的章节会使用到该功能。

8.5 烧写出厂固件

开发板默认烧写出厂测试程序,出厂测试程序的功能请参考开箱测试中的说明。

出厂测试固件位于百度云盘:

9 实验例程介绍

我们根据实验例程的类型分为三类,分别是:

  • 基础实验,针对nRF52832芯片硬件外设的示例实验,例如GPIO实验,UART串口实验等。
  • 协议栈实验,针对蓝牙协议栈的示例实验,例如蓝牙从机实验,蓝牙主机实验等。
  • 协议栈高级实验,蓝牙实验的进阶,例如蓝牙主从一体,iBeacon等,更接近真实项目的示例程序。

9.1 基础实验

基础实验是指针对nRF52832芯片的硬件外设的示例程序,例如GPIO实验,UART串口实验。

各实验如下图所示,文件夹位置:E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\peripheral

NRF52832DK-基础实验.png

9.2 协议栈实验

协议栈实验是针对蓝牙协议栈的示例实验,例如蓝牙从机实验,蓝牙主机实验等。

各实验如下图所示,文件夹位置:E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\ble

NRF52832DK-协议栈实验.png

9.3 协议栈高级实验

协议栈高级实验是蓝牙实验的进阶,例如蓝牙主从一体,iBeacon等,更接近真实项目的示例程序。

各实验如下图所示,文件夹位置:E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\ble_advance

NRF52832DK-协议栈高级实验.png

10 参考资料

本文涉及的相关参考文档列表如下:

  1. BLE技术揭秘》,一文读懂低功耗蓝牙
  2. 2.0 2.1 《NRF52832DK硬件设计手册》,详细描述开发板的硬件设计说明
  3. NRF52832DK开箱测试》,开发板的开箱测试指导

本PDF由谷雨文档中心自动生成,点击下方链接阅读最新内容。

取自“http://doc.iotxx.com/index.php?title=NRF52832DK入门手册&oldid=2548