nRF52832 开发记录(一)

摘要:
开发环境KeilMDK-ARM5.29下载链接nRFCommandLineTools10.5.0 10.5.0的安装和配置包括nRF开发工具和J-link驱动程序下载链接ARM.CMSIS.4.5.0下载链接NordicSemiconductor.nRF_ DeviceFamilyPack。8.27.1下载链接nRF5SDKv16.0.0安装Keil后下载链接。

前言

近段时间因项目需要开始接触蓝牙芯片 nRF52832,官方的文档和 SDK 确实相当完善和易于上手,最开始是在 nRF5 SDK v15.3.0 做开发,不久前官方更新了 nRF5 SDK v16.0.0,后续文章也会以这个版本做记录。

开发环境安装和配置

Keil MDK-ARM 5.29 下载链接
nRF Command Line Tools 10.5.0 包含 nRF 开发常用的工具和 J-Link 驱动 下载链接
ARM.CMSIS.4.5.0 下载链接
NordicSemiconductor.nRF_DeviceFamilyPack.8.27.1 下载链接
nRF5 SDK v16.0.0 下载链接
下载安装 Keil 完成后,打开 Keil 中的 Pack Installer 手动导入 ARM.CMSIS.4.5.0 和 NordicSemiconductor.nRF_DeviceFamilyPack.8.27.1

nRF52832 开发记录(一)第1张

修改 nRF5 SDK v16.0.0 中例程为 nRF_DeviceFamilyPack.8.27.1

SDK v16.0.0 中的例程 examples 依赖于 nRF_DeviceFamilyPack.8.27.0,而这个版本因为有 bug 已被撤回,所以需要手动修改为 nRF_DeviceFamilyPack.8.27.1,以 examplesle_peripheralle_app_template 为例,其中 pca10040 代表 nRF52832,打开 arm5_no_packs

提示安装 nRF_DeviceFamilyPack.8.27.0 点击取消

nRF52832 开发记录(一)第2张

点击 Select Software Packs

nRF52832 开发记录(一)第3张

nRF52832 开发记录(一)第4张

将下面两项分别修改

nRF52832 开发记录(一)第5张

确定后会弹出 Manage Run-Time Environment,去掉 Device 中 Startup 的勾并确定

nRF52832 开发记录(一)第6张

点击 Manage Run-Time Environment,勾选 Startup 为 8.27.1 并确定,修改完成

nRF52832 开发记录(一)第7张

nRF52832 开发记录(一)第8张

Flash 分区的划分

nRF52832 有 512KB 的 Flash 空间,以 4KB 为一个页,即为分区和擦除的最小单位。按照功能可分为以下几种:

**不带协议栈,不带 bootloader **

分区地址大小
App + Free Space0x0001 0000 - 0x0007 FFFF508KB
MBR0x0000 0000 - 0x0000 0FFF4KB

**带协议栈,不带 bootloader **

分区地址大小
App + Free Space0x0002 6000 - 0x0007 FFFF360KB
SoftDevice0x0000 1000 - 0x0002 5FFF148KB
MBR0x0000 0000 - 0x0000 0FFF4KB

**带协议栈和 bootloader **

分区地址大小
BL Settings0x0007 F000 - 0x0007 FFFF4KB
MBR Params0x0007 E000 - 0x0007 EFFF4KB
Bootloader0x0007 8000 - 0x0007 DFFF24KB
App + Free Space0x0002 6000 - 0x0007 7FFF328KB
SoftDevice0x0000 1000 - 0x0002 5FFF148KB
MBR0x0000 0000 - 0x0000 0FFF4KB

使用了协议栈 SoftDevice 的项目工程需要烧录一次 SoftDevice,再烧录用户程序,即选择 flash_s132_nrf52_7.0.1_softdevice 点 Download 烧录后,再切换回 nrf52832_xxaa 烧录用户程序,一般协议栈只需烧录一次

nRF52832 开发记录(一)第9张

烧录协议栈后该区域会被锁定,出现无法再次下载的错误,此时可用 J-Link 驱动中的 SEGGER J-Flash Lite 的 Erase Chip 进行整片擦除

nRF52832 开发记录(一)第10张

免责声明:文章转载自《nRF52832 开发记录(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇gdb命令调试技巧Java开发小技巧(五):HttpClient工具类下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

蓝牙协议栈详解

1.概述: 蓝牙协议规范遵循开放系统互连参考模型(OSI/RM),从低到高地定义了蓝牙协议堆栈的各个层次。 SIG所定义的蓝牙技术规范的目的是使符合该规范的各种应用之间能够实现互操作。互操作的远端设备需要使用相同的协议栈,不同的应用需要不同的协议栈。但是,所有的应用都要使用蓝牙技术规范中的数据链路层和物理层。 2.完整的蓝牙协议栈 完整的蓝牙协议栈如图1所...

虚拟机安装win10系统

一、创建一个新的虚拟机 默认典型安装,下一步 安装向导来,如图,先在映像中选中ISO镜像文件,再选择稍后安装  找到对应的版本,选择对应的版本(这里是Windows10)  选择虚拟机的存放位置,给虚拟机起名  选择磁盘大小(最好默认吧) 完成(我的虚拟机名修改过) 二、在虚拟机上安装Windows10系统 1、安装虚拟机前,需要去虚拟机的设置...

socket网络编程(一)——初识socket

出现一项技术,首先我们弄懂一下,为什么要出现。那么为什么要出现socket这玩意呢?可以很简单的用一句话来概括: 为了实现两台计算机的通信   1、socket诞生的原因 两台装有操作系统的机子要想实现通信,第一要联网,第二通信双方一定制定某种规则。我们平时最为常见的http请求也是一种通信协议,只不过它是属于应用层的。http协议将要发送的数据封装后,...

NETCONF+Yang配置TSN

NETCONF用来替换SNMP,是一个网管协议。YANG是NETCONF的数据建模语言,可以使用Yang模式的文本配置网关,从而通过NETCONF协议管理网关。 NETCONF+Yang可用于TSN(实时性网络,time-sensitive network)网络,控制网络实时性。 以下转自:干货铺时间:详解SDN南向协议之NETCONF 背景介绍   NE...

iOS开发之socket简介

1,socket是什么? 2,socket的作用 3,socket怎么用 4,socket的扩展 —————————————————————— socket是什么?          Socket这个名词现在有很多不同的意思,这里主要讲到其中2个含义。一是,套接字socket=(IP地址:端口号),是端的概念。二是,socket在应用层和传输层之间,是层的...

通信协议——Http、TCP、UDP

CP   HTTP   UDP:  都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。 TCP   HTTP   UDP三者的关系: TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UD...