前言
-
nrf52832 想要开启 蓝牙功能,比如蓝牙主从机功能,需要额外烧写 蓝牙协议栈的固件:
softdevice
,换句话说,蓝牙协议栈等代码是不开放的,只提供一个 二进制文件。 -
也就是 nrf52832 Flash 与 RAM 要分区了,第一部分是 蓝牙协议栈固件
softdevice
,第二部分是 用户程序部分,分区不能重叠。
烧写蓝牙协议栈固件 softdevice
烧写方法
-
烧写方法大概有三种:win7 系统上(很少见了),可以使用 nrfgo studio,可惜 win10 上 nrfgo studio 无法工作
-
win10 上烧写可以使用 第二种: J-Flash 烧写,也就是使用 J-Link J-Link-OB 烧写 hex 或者 bin 文件
-
第三种烧写方法:使用 Nordic 提供的
nRF Connect
提供的Programmer
,这个Programmer
还需要额外安装(github 下载),可能容易失败
J-Flash 烧写流程
-
本篇记录如何使用 J-Flash 烧写 nrf52832 蓝牙协议栈固件:
softdevice
-
nrf52832 具体型号:nrf52832_xxAA 512KFlash/64K SRAM
-
J-Flash 来自 SEGGER J-Link 的驱动,可以单独安装,https://www.segger.com/downloads/jlink/
- 【备注】J-Link 驱动版本能用即可,无须选择最新版本,最新版本对 J-Link 有要求,比如你的 J-Link 不是正版
打开J-Flash
- 选择 Nordic nrf52832的型号:当前是 nrf52832_xxAA,注意后缀 AA 表示 512K Flash 64K SRAM,这需要根据实际的硬件调整
- SWD 默认链接
打开要烧写的文件
- 蓝牙协议栈固件的选择:这里需要注意有好几种蓝牙协议栈,对于 nrf52832来讲,有两种常见的常见,只用于蓝牙从机,蓝牙主从机一体。
- 建议烧写 S132,也就是蓝牙主从机一体的
- 链接 J-Link,开始烧写
- 烧写完成:注意 hex 的文件,本身有烧写地址,如果是 bin 文件,需要手动指定烧写地址
小结
-
nrf52832 需要额外烧写蓝牙协议栈固件:
softdevice
,推荐烧写 蓝牙主从机一体的s132nrf52720
-
蓝牙协议栈固件与用户应用程序烧写时不能重叠,也就是分区域烧写
-
一般蓝牙协议栈固件不经常烧写,如果被无意擦除,可以使用 J-Flash 烧写,默认烧写地址就是 Flash 的起始地址