NRF52833学习笔记(1)——搭建环境、编译烧写

一、搭建环境

1.1 安装Keil 5

官网下载:http://www2.keil.com/mdk5/
百度网盘:https://pan.baidu.com/s/1T_eF5NDYeq38bR0cqjiZkw 提取码:562z

1.2 下载SDK

官网下载:https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK/Download#infotabs
百度网盘:https://pan.baidu.com/s/1YBe-Mp2qGf6xBMMm8rEhBw 提取码:97zh

1.3 安装Nordic Packet

注意:要与SDK版本对应
http://developer.nordicsemi.com/nRF5_SDK/pieces/nRF_DeviceFamilyPack/
官网下载:http://www.keil.com/dd2/Pack/#/third-party-download-dialog
选择 Nordic Semiconductor nRF ARM devices Device Family Pack with BSD
NRF52833学习笔记(1)——搭建环境、编译烧写
百度网盘:https://pan.baidu.com/s/1XHUFqTnaPEfpquUYjYBLHA 提取码:vgb2
Keil内下载:
NRF52833学习笔记(1)——搭建环境、编译烧写
NRF52833学习笔记(1)——搭建环境、编译烧写

1.4 安装ARM CMSIS内核4.5.0

百度网盘:https://pan.baidu.com/s/1V-magEmEUoGxVhCeT9hIcw 提取码:m5n7

1.5 安装协议栈软件nRFgo Studio

官网下载:https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRFgo-Studio/Download
百度网盘:https://pan.baidu.com/s/1GxBDyzCS1_R-wVh2zyA2vA 提取码:qlfj

二、SoftDevice

2.1 命名规则

Sxyz 为例,其中 S 表示 Software,各字母的含义如下所示。不同的协议栈的具体描述可见此处

2.1.1 通用规则

x - 协议栈类型

  • 1:BLE stack
  • 2:ANT stack
  • 3:BLE&ANT stack

y - BLE角色

  • 1:peripheral role
  • 2:central role
  • 3:all roles(central/peripheral/advertiser/observer)

z - 系列芯片

  • 0:nRF51 series
  • 2:nRF52 series
  • 3:misc series
    例如 S113 代表的是低功耗 BLE 协议栈,从设备,针对 nRF52805, nRF52810, nRF52811, nRF52820, nRF52832, nRF52833 and nRF52840 系列的 SoC。

2.1.2 特定规则

x - 协议栈类型
同上

yz - 芯片型号

  • 40:针对芯片52840
    tips: S140是一个大而全的协议栈,包含蓝牙所有功能。

注意不同的softdevice所占用的ROM和RAM是不一样的,具体看其手册S112S113S122S130S132S140S212S312S332S340
NRF52833学习笔记(1)——搭建环境、编译烧写
NRF52833学习笔记(1)——搭建环境、编译烧写

2.2 目录框架

NRF52833学习笔记(1)——搭建环境、编译烧写

  • components:Nordic 开发的各种 SDK,只包含头文件、源文件以及库文件,切勿修改!
  • config:不同类型芯片的配置文件。
  • documentation:SDK 和不同 softdeviceAPI 的参考文档。
  • examples:根据不同传输协议/ BLE 角色/外设等应用场景所设计的例程。此目录很常用。
  • external:第三方库或源码。
  • external_tools:第三方工具。
  • integration:集成旧版本SDK(≤SDK14)的驱动(又称legacy)。
  • modules:新版本SDK(>SDK14)驱动nrfx,同时支持nRF5 SDK(用于nRF51/52芯片)以及nRF Connect SDK(支持nRF91/53芯片)。

二、编译

打开BLE从机串口传输示例工程 ble_app_uart
路径:SDK\nRF5_SDK_17.0.2_d674dde\examples\ble_peripheral\ble_app_uart\pca10100\s140\arm5_no_packs
NRF52833学习笔记(1)——搭建环境、编译烧写
点击按钮进行编译
NRF52833学习笔记(1)——搭建环境、编译烧写

注意:其他工程编译可能产生缺少micro_ecc_lib_nrf52.lib文件错误时,查看 解决方法:编译NRF52832工程时缺少micro_ecc_lib_nrf52.lib文件

三、烧录

3.1 Keil内烧录

  1. 先烧录 协议栈
    NRF52833学习笔记(1)——搭建环境、编译烧写
    NRF52833学习笔记(1)——搭建环境、编译烧写
  2. 再烧录 应用程序
    NRF52833学习笔记(1)——搭建环境、编译烧写
    NRF52833学习笔记(1)——搭建环境、编译烧写

注意:调试过程中可能出现的问题,因为用的是官方的 nRF52833 DK 开发板,需要更新 JLINK 版本
nRF-Command-Line-Tools_10_12_0_Installer.exe 提取码:7lub
NRF52833学习笔记(1)——搭建环境、编译烧写

3.2 nRFgo内烧录

  1. 打开 nRFgo Studio
    NRF52833学习笔记(1)——搭建环境、编译烧写
  2. 如果是第一次烧录,先擦除(可跳过)
    NRF52833学习笔记(1)——搭建环境、编译烧写
  3. 烧录协议栈
    选择SDK版本对应的协议栈(一般随同SDK一起下载下来)
    路径:nRF5_SDK_17.0.2_d674dde\components\softdevice\s140\hex
    NRF52833学习笔记(1)——搭建环境、编译烧写
    替换协议栈hex文件
    NRF52833学习笔记(1)——搭建环境、编译烧写
    4.烧录应用程序
    路径:nRF5_SDK_17.0.2_d674dde\examples\ble_peripheral\ble_app_uart\pca10100\s140\arm5_no_packs\ _build
    NRF52833学习笔记(1)——搭建环境、编译烧写
    NRF52833学习笔记(1)——搭建环境、编译烧写

• 由 Leung 写于 2020 年 12 月 7 日

• 参考:NORDIC nrf52833使用笔记
    nRF52832开发环境搭建
    青风电子社区

上一篇:蓝牙BLE技术BLE单模串口数据传输模块


下一篇:轻松上手 Android蓝牙基础开发(3)