Nordic nRF52840简介
nRF52840是一款LE SoC,支持低功耗蓝牙、蓝牙网状网络、NFC、Thread和Zigbee的多协议蓝牙5.2SoC。
nRF52840 SoC是nRF52系列中最先进的成员。它可以应对需要协议并发性和丰富多样的外围设备和功能的复杂应用程序的挑战。它为闪存和 RAM 提供了充足的内存可用性,这是此类要求苛刻的应用程序的先决条件。
nRF52840围绕32位ARM® Cortex™-M4 CPU构建,带有以64MHz运行的浮点单元。它具有用于简化配对和支付解决方案的 NFC-A 标签。ARM TrustZone® CryptoCell 加密单元包含在芯片上,并带来了广泛的加密选项,可以独立于 CPU 高效执行。它具有众多数字外设和接口,例如用于连接外部闪存和显示器的高速SPI和QSPI、用于数字麦克风和音频的PDM和I2S,以及用于数据传输和电池充电电源的全速USB设备。

Nordic nRF52840资源说明
64MHz ARM® Cortex™-M4 with FPU
1MB Flash, 256KB RAM
2Mbps, 2Mbps, Long Range
Bluetooth Low Energy
Bluetooth mesh
Thread, Zigbee
+8 dBm Tx Power
128-bit AES CCM, Arm CryptoCell-310
UART, SPI, TWI, PDM, I2S, QSPI, PWM
12-bit ADC
NFC
USB 2.0
环境搭建
硬件环境准备
nRF52840-DK开发板一块 + Micro USB数据线一条
电脑一台。
软件环境准备
下载Nordic官方SDK, 官方最新的SDK版本:17.0.2。本次环境搭建选择版本16.0.0。
下载链接:https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK/Download#infotabs
下载完的目录结构:

安装Keil5 for ARM
安装包和破解软件自行找度娘
安装nRF52840所需要的的PACK
nRF_DeviceFamilyPack
PACK版本是根据SDK的版本不同而不同,16.0.0版本的SDK需要PACK大于8.27.1.
nRF_DeviceFamilyPack下载链接:http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/
ARM.CMSIS.4.5.0.pack
MDK官网下载或者KEIL自带的包管理器下载,为了快速下载可以利用迅雷这个骚操作。
工程设置及测试
我们使用SDK中的demo程序进行测试--LED实验。工程路径:nRF5_SDK_16.0.0_98a08e2\examples\peripheral\blinky\pca10056\blank\arm5_no_packs。
打开上述路径的工程,如果你的软件环境搭建完成,出现如下图的提示,直接点击“Cancel”

如果弹出如下图的提示,让你安装nRF_DeviceFamilyPack版本: 8.27.0。实际官网也没有这个版本,直接点击“否”

进行工程配置,点击如下图按钮:

配置如下图红框的内容,版本为8.38.0


配置完,进行编译。如果出现如下错误,是跟芯片相关的文件没有添加

添加跟芯片相关的文件arm_startup_nrf52840.s和system_nrf52840.c,文件路径:nRF5_SDK_16.0.0_98a08e2\modules\nrfx\mdk。

添加完,在进行编译完成即可下载。

总结:
总的来说,这个环境有点麻烦,工具版本需要配对使用。
初步看了Nordic的sdk的代码,API过于细致了。哈哈哈
关注微信公众号『Rice嵌入式开发技术分享』,后台回复“微信”添加作者微信,备注”入群“,便可邀请进入技术交流群。
