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

1,282 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 25 天,点击查看活动详情

一、搭建环境

1.1 安装Keil 5

官网下载:www2.keil.com/mdk5/

百度网盘:pan.baidu.com/s/1T_eF5NDY… 提取码:562z

1.2 下载SDK

官网下载:www.nordicsemi.com/Software-an…

百度网盘:pan.baidu.com/s/1YBe-Mp2q… 提取码:97zh

1.3 安装Nordic Packet

注意:要与SDK版本对应 developer.nordicsemi.com/nRF5_SDK/pi… 官网下载:www.keil.com/dd2/Pack/#/… 选择 Nordic Semiconductor nRF ARM devices Device Family Pack with BSD 百度网盘:pan.baidu.com/s/1XHUFqTna… 提取码:vgb2

Keil内下载:

1.4 安装ARM CMSIS内核4.5.0

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

1.5 安装协议栈软件nRFgo Studio

官网下载:www.nordicsemi.com/Software-an…

百度网盘:pan.baidu.com/s/1GxBDyzCS… 提取码: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

2.2 目录框架

  • 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 点击按钮进行编译

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

三、烧录

3.1 Keil内烧录

  1. 先烧录 协议栈

  1. 再烧录 应用程序

注意:调试过程中可能出现的问题,因为用的是官方的 nRF52833 DK 开发板,需要更新 JLINK 版本 nRF-Command-Line-Tools_10_12_0_Installer.exe 提取码:7lub

3.2 nRFgo内烧录

  1. 打开 nRFgo Studio

  1. 如果是第一次烧录,先擦除(可跳过)
  2. 烧录协议栈 选择SDK版本对应的协议栈(一般随同SDK一起下载下来) 路径:nRF5_SDK_17.0.2_d674dde\components\softdevice\s140\hex

替换协议栈hex文件

4.烧录应用程序 路径:nRF5_SDK_17.0.2_d674dde\examples\ble_peripheral\ble_app_uart\pca10100\s140\arm5_no_packs\ _build


• 由 Leung 写于 2020 年 12 月 7 日

• 参考:NORDIC nrf52833使用笔记

    nRF52832开发环境搭建

    青风电子社区