nRF52832程序下载
nRF52832程序下载可以分为两种:
- 基本外设使用例程,类似单片机的应用例程
- 基于SoftDevice的例程
环境介绍
PC环境:Windows
IDE环境:ARM-MDK5
SDK环境:nRF5 SDK v15.1.0
硬件环境:nRF52832开发板(外设配置与官方pca10040开发板一致)
nRF5283基本外设例程下载
基本外设例程位于目录:examples\peripheral\,以该目录下的blinky例程为例,打开blinky\pca10040\blank\arm5_no_packs的MDK工程
注:pca10040是官方的nRF52832开发板,IDE环境是ARM-MDK5对应arm5_no_packs中的工程
nRF52832的基本外设例程下载流程分两步:
- 擦除FLASH(只需要操作一次)
- 下载应用程序
具体实现如下:
- 打开工程的Options窗口,在Debug栏下选择对应的下载器协议(作者使用的是DAPLink),然后点击Setting
- 切换到Flash Download,勾选Reset and Run,添加Programming Algorithm,RAM for Algorithm下的大小改为0x2000,点击OK完成配置(注:基本外设使用的Programming Algorithm是nRF52xxx SoftDevice Erase和nRF52xxx_UICR)
- 点击菜单栏Flash–>Erase擦除FLASH,点击编译程序没有错误,然后点击Flash–>Download下载程序
SoftDevice例程下载
基本外设例程位于目录:examples\peripheral\,以该目录下的blinky例程为例,打开blinky\pca10040\s132\arm5_no_packs的MDK工程
注:pca10040是官方的nRF52832开发板,s132是针对nRF52832的SoftDevice,IDE环境是ARM-MDK5对应arm5_no_packs中的工程
nRF52832的基本外设例程下载流程分三步:
- 擦除FLASH(只需要操作一次)
- 下载SoftDevice
- 下载应用程序
- 在菜单栏切换目标工程为
flash_s132_nrf52_6.1.0_softdevice
,该工程是softdevice工程,不需要编译
- 打开工程的Options窗口,在Debug栏下选择对应的下载器协议(作者使用的是DAPLink),然后点击Setting
- 切换到Flash Download,勾选Reset and Run,添加Programming Algorithm,RAM for Algorithm下的大小改为0x2000,点击OK完成配置(注:SoftDevice使用的Programming Algorithm是nRF52xxx和nRF52xxx_UICR)
- 点击菜单栏Flash–>Erase擦除FLASH,然后点击Flash–>Download下载SoftDevice
- 在菜单栏切换目标工程为
nrf52832_xxaa
,该工程是基于softdevice的应用工程
- 打开工程的Options窗口,在Debug栏下选择对应的下载器协议(作者使用的是DAPLink),然后点击Setting
- 切换到Flash Download,勾选Reset and Run,添加Programming Algorithm,RAM for Algorithm下的大小改为0x2000,点击OK完成配置(注:SoftDevice使用的Programming Algorithm是nRF52xxx和nRF52xxx_UICR)
- 点击编译,然后点击Flash–>Download下载应用程序
- 下载完成后重启一次,可以看到程序效果:LED1~LED4逐次亮–>灭
基本应用程序与基于SoftDevice应用程序的区别
基本应用程序与基于SoftDevice应用程序的区别在于ROM、RAM的分配不一样
基本应用程序的ROM、RAM的分配比较简单,直接是RAM大小和FLASH大小,如下图:
基于SoftDevice应用程序的FLASH和RAM分配比较复杂,因为SoftDevice就占用了一定的FLASH和RAM,应用程序根据剩下的FLASH和RAM空间进行分配定义,根据需求还需要添加Bootloader区域等。本文中的基于SoftDevice应用程序的FLASH和RAM分配如下图: