最近翻箱,发现了两块几年前买的 NRF52832 与 NRF52840 的开发板,打算搭个 BLE 的开发环境
NRF52832 与 NRF51822 之前用过, NRF52840 没有用过,好像是 BLE4 与 BLE5 的区别吧
除了开发板,最重要的还是资料,至少需要了解开发板的原理图,这部分查找了一下,终于从网盘里面找了出来,之前购买开发板时,卖家把资料以网盘的方式发了过来,所以资料的【备份】确实很有必要。
我还是想多从 官方了解更多,比如假设我只拿到了一个带原理图的开发板,如何一步步让它工作起来,熟悉各个模块,资料准备、环境搭建、工程编译、下载,各个功能的调试
nrf52 系列,有较大的 Flash 与 RAM 空间, nrf51 系列资源较少,可能主流是 nrf52 系列了
之前用了 nrf52832,做蓝牙主机,手机可以配置一些数据,如 阿里云 MQTT 的三要素,现在想基于之前做的,搞个蓝牙通信配置的功能出来,现在常用的打印机、共享单车锁、智能插座等,都支持蓝牙配置。
蓝牙是近距离通信,但是低功耗、无线,这个最大的优势,如果再让它连接 WIFI 或者 4G 这样的模块,就可以搞定 远距离通信,近距离用于参数配置
有了硬件,拿到了开发板的资料,我想先手动搜集一些资料,加强对芯片,对应用场景的回顾与认识。
当前了解到这个 nrf52832 还没有被市场淘汰,可以在 nordic 官网轻松获取 【规格书】
nrf52 系列地址: https://www.nordicsemi.cn/products/nrf52832/
https://infocenter.nordicsemi.com/topic/struct_nrf52/struct/nrf52832.html
nrf52832 芯片的参考手册 https://infocenter.nordicsemi.com/pdf/nRF52832_PS_v1.8.pdf
芯片的手册(规格书),最好下载到本地,随时翻阅。各个模块,如 GPIO、I2C、SPI 等外设的使用,都需要对芯片有个熟悉
512 kB flash/64 kB RAM
256 kB flash/32 kB RAM
建议选择 512 kB flash/64 kB RAM
的 nrf52832(芯片型号后缀),这样用户做的事情就多了起来,否则后期会由于资源不够用,比如 蓝牙 OTA 升级。当然 OTA 升级分为两种,一种是双分区,比较浪费分区,但是靠谱,一种是单分区,升级出了问题,比如升级的固件有问题,就变砖,可能需要有线升级,OTA 升级部分,后面专门写篇文章记录
nrf52832 如果需要蓝牙功能(肯定需要开启,否则买来当普通 MCU 浪费成本),就去官方下载 相应的 SDK, SDK 下载地址:
https://www.nordicsemi.com/Products/Development-software/nRF5-SDK/Download
下载前,可以简单看一下,是否支持自己的芯片,当前最新的版本支持 NRF52832,就下载最新的版本
记得之前是 J-Link + Keil MDK 的开发方式,需要安装 Keil 的 pack 包,当前买开发板时,顺便买了一个调试工具,J-OB,还没有用,后面搭建好工程就开始使用
首先安装 Keil MDK,这个开发 MCU 单片机,比如 STM32,是经常使用的
NRF 的工具:用于烧写 蓝牙协议栈
蓝牙抓包工具,买了一个,还没有用起来,后面用起来再说,主要是调试蓝牙协议,比如通过蓝牙发送一些自定义的数据包。
其他的工具:需要时再整理吧,我当时自己使用 Android Studio 写 BLE 的通信小程序
nRF Connect
,之前没有用到,现在打算用一下,相关的地址: https://www.nordicsemi.com/Products/Development-tools/nRF-Connect-for-Desktop/Download#infotabs
nRFgo Studio,之前用来烧写 蓝牙协议栈,https://www.nordicsemi.com/Products/Development-tools/nrfgo-studio/download,好像被 nRF Connect
代替了
记录一下 nrf52832 开发板入手的一些操作笔记
工欲善其事必先利其器,先准备好必要的软件与资料,这样开发调试起来会快很多