nRF52-PCA10040——Overview
Overview
Zephyr applications use the nrf52_pca10040 board configuration to run on the nRF52 Development Kit (PCA10040) hardware. It provides support for the Nordic Semiconductor nRF52832 ARM Cortex-M4F CPU and the following devices:
- NVIC
- SYSTICK
- UART
- GPIO
More information about the board can be found at the nRF52 DK website [1]. The Nordic Semiconductor Infocenter [2] contains the processor’s information and the datasheet.
Supported Features
The nrf52_pca10040 board configuration supports the following hardware features:
Interface | Controller | Driver/Component |
---|---|---|
NVIC | on-chip | nested vectored interrupt controller |
SYSTICK | on-chip | system clock |
UART | on-chip | serial port |
GPIO | on-chip | gpio |
Other hardware features are not supported by the Zephyr kernel. See nRF52 DK website [1] and Nordic Semiconductor Infocenter [2] for a complete list of nRF52 Development Kit board hardware features.
Pin Names
LED
- LED1 (green) = P0.17
- LED2 (green) = P0.18
- LED3 (green) = P0.19
- LED4 (green) = P0.20
- LD5 (red/green) = OB LED 1/2
Push buttons
- BUTTON1 = SW1 = P0.13
- BUTTON2 = SW2 = P0.14
- BUTTON3 = SW3 = P0.15
- BUTTON4 = SW4 = P0.16
- BOOT = SW5 = boot/reset
External Connectors
J-Link Prog Connector
PIN # | Signal Name |
---|---|
1 | VDD |
2 | IMCU_TMSS |
3 | GND |
4 | IMCU_TCKS |
5 | V5V |
6 | IMCU_TDOS |
7 | Cut off |
8 | IMCU_TDIS |
9 | Cut off |
10 | IMCU_RESET |
Debug IN
PIN # | Signal Name | NRF52832 Functions |
---|---|---|
1 | VDD | N/A |
2 | SWDIO | SWDIO |
3 | GND | N/A |
4 | SWDCLK | SWDCLK |
5 | GND | N/A |
6 | P0.18 | P0.18 / TRACEDATA[0] / SWO |
7 | Cut off | N/A |
8 | Cut off | N/A |
9 | GND | N/A |
10 | P0.21 | P0.21 / RESET |
Debug OUT
PIN # | Signal Name |
---|---|
1 | EXT_VTG |
2 | EXT_SWDIO |
3 | GND |
4 | EXT_SWDCLK |
5 | GND |
6 | EXT_SWO |
7 | Cut off |
8 | Cut off |
9 | EXT_GND_DETECT |
10 | EXT_RESET |
Shield Debug and Current measurement
PIN # | Signal Name |
---|---|
1 | VDD_nRF |
2 | VDD |
3 | SH_VTG |
4 | SH_SWDIO |
5 | SH_SWDCLK |
6 | SH_SWO |
7 | SH_RESET |
8 | SH_GND_DETECT |
Auxiliary
PIN # | Signal Name | NRF52832 Functions |
---|---|---|
1 | P0.00 | P0.00 / XL1 |
2 | P0.01 | P0.01 / XL2 |
3 | P0.21 | P0.21 / RESET |
4 | P0.05_C | P0.05 / AIN3 |
5 | P0.06_C | P0.06 |
6 | P0.07_C | P0.07 |
7 | P0.08_C | P0.08 |
8 | P0.09 | P0.09 / NFC1 |
9 | P0.10 | P0.10 / NFC2 |
Arduino Headers
P1/P7 Power
PIN # | Signal Name | NRF52832 Functions |
---|---|---|
1 | VDD | N/A |
2 | VDD | N/A |
3 | RESET | P0.21 / RESET |
4 | VDD | N/A |
5 | V5V | N/A |
6 | GND | N/A |
7 | GND | N/A |
8 | VIN | N/A |
P2/P8 Analog in
PIN # | Signal Name | NRF52832 Functions |
---|---|---|
1 | A0 | P0.03 / AIN1 |
2 | A1 | P0.04 / AIN2 |
3 | A2 | P0.28 / AIN4 |
4 | A3 | P0.29 / AIN5 |
5 | A4 | P0.30 / AIN6 |
6 | A5 | P0.31 / AIN7 |
P3/P9 Digital I/O
PIN # | Signal Name | NRF52832 Functions |
---|---|---|
1 | D0 (RX) | P0.11 |
2 | D1 (TX) | P0.12 |
3 | D2 | P0.13 |
4 | D3 | P0.14 / TRACEDATA[3] |
5 | D4 | P0.15 / TRACEDATA[2] |
6 | D5 | P0.16 / TRACEDATA[1] |
7 | D6 | P0.17 |
8 | D7 | P0.18 / TRACEDATA[3] / SWO |
P4/P10 Digital I/O
PIN # | Signal Name | NRF52832 Functions |
---|---|---|
1 | D8 | P0.19 |
2 | D9 | P0.20 / TRACECLK |
3 | D10 (SS) | P0.22 |
4 | D11 (MOSI) | P0.23 |
5 | D12 (MISO) | P0.24 |
6 | D13 (SCK) | P0.25 |
7 | GND | N/A |
8 | AREF | P0.02 / AIN0 |
9 | SDA | P0.26 |
10 | SCL | P0.27 |
P5/P11
PIN # | Signal Name | NRF52832 Functions |
---|---|---|
1 | D12 (MISO) | P0.24 |
2 | V5V | N/A |
3 | D13 (SCK) | P0.25 |
4 | D11 (MOSI) | P0.23 |
5 | RESET | N/A |
6 | N/A | N/A |
System Clock
nRF52 DK has two external oscillators. The frequency of the slow clock is 32.768 kHz. The frequency of the main clock is 32 MHz.
Flashing Zephyr onto nRF52 DK
Flashing the Zephyr kernel onto nRF52 DK requires both the J-Link Software and documentation pack[3] and, the nrfjprog tool, which is part of the nRF5x Command Line Tools.
Installing the J-Link Software and documentation pack
To install the J-Link Software and documentation pack, follow the steps below:
- Download the appropriate package from the J-Link Software and documentation pack [3] website.
- Depending on your platform, install the package or run the installer
- When connecting a J-Link-enabled device such as the nRF52 DK board, a drive corresponding to a USB Mass Storage device as well as a serial port should come up.
Installing the nRF5x Command Line Tools
To install the nRF5x Command Line Tools, follow the steps below:
- Download the appropriate package from the nRF52 DK website [1].
- Depending on your platform, unpack the tarball and copy the contents into a folder whithin your $PATH or run the installer.
Flashing an Application to nRF52 DK
This tutorial uses the sample application shell $ZEPHYR_BASE/samples/shell
.
To build the Zephyr kernel, enter:
$ cd $ZEPHYR_BASE
$ make -C samples/shell BOARD=nrf52_pca10040Connect the micro-USB cable to the nRF52 DK and to your computer.
Erase the flash memory in the nRF52832:
$ nrfjprog --eraseall -f nrf52
Flash the application using the nrfjprog tool:
$ nrfjprog --program outdir/zephyr.hex -f nrf52
Run your favorite terminal program to listen for output.
$ minicom -D <tty_device> -b 115200
Replace
<tty_device>
with the port where the board nRF52 DK can be found. For example, under Linux,/dev/ttyACM0
.The
-b
option sets baudrate ignoring the value from config.Press the Reset button and you should see the output of shell application in your terminal.
References
[1] | (1, 2, 3) http://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF52-DK |
[2] | (1, 2) http://infocenter.nordicsemi.com/ |
[3] | (1, 2) https://www.segger.com/jlink-software.html |
nRF52-PCA10040——Overview的更多相关文章
- Nordic nRF51/nRF52开发环境搭建
本文将详述Nordic nRF51系列(包括nRF51822/nRF51802/nRF51422等)和nRF52系列(包括nRF52832/nRF52810/nRF52840)开发环境搭建. 1. 强 ...
- Nordic nRF51/nRF52开发流程说明
Nordic nRF51系列包括nRF51822/nRF51422/nRF51802等芯片,nRF52系列包括nRF52832/nRF52840/nRF52810等芯片,硬件工程师可以按照如下流程去评 ...
- nrf52——DFU升级OTA升级方式详解(基于SDK开发例程)
在我们开始前,默认你已经安装好了一些基础工具,如nrfutil,如果你没有安装过请根据官方中文博客去安装好这些基础工具,连接如下:Nordic nRF5 SDK开发环境搭建(nRF51/nRF52芯片 ...
- [原] KVM 虚拟化原理探究(1)— overview
KVM 虚拟化原理探究- overview 标签(空格分隔): KVM 写在前面的话 本文不介绍kvm和qemu的基本安装操作,希望读者具有一定的KVM实践经验.同时希望借此系列博客,能够对KVM底层 ...
- Activity之概览屏幕(Overview Screen)
概览屏幕 概览屏幕(也称为最新动态屏幕.最近任务列表或最近使用的应用)是一个系统级别 UI,其中列出了最近访问过的 Activity 和任务. 用户可以浏览该列表并选择要恢复的任务,也可以通过滑动清除 ...
- Atitit.自然语言处理--摘要算法---圣经章节旧约39卷概览bible overview v2 qa1.docx
Atitit.自然语言处理--摘要算法---圣经章节旧约39卷概览bible overview v2 qa1.docx 1. 摘要算法的大概流程2 2. 旧约圣经 (39卷)2 2.1. 与古兰经的对 ...
- Overview of OpenCascade Library
Overview of OpenCascade Library eryar@163.com 摘要Abstract:对OpenCascade库的功能及其实现做简要介绍. 关键字Key Words:Ope ...
- Apache Sqoop - Overview——Sqoop 概述
Apache Sqoop - Overview Apache Sqoop 概述 使用Hadoop来分析和处理数据需要将数据加载到集群中并且将它和企业生产数据库中的其他数据进行结合处理.从生产系统加载大 ...
- BOOST.Asio——Overview
=================================版权声明================================= 版权声明:原创文章 谢绝转载 啥说的,鄙视那些无视版权随 ...
随机推荐
- NetCore1.1+Linux
NetCore1.1+Linux部署初体验 1.环境准备 Centaos7+Win10 虚拟机 Win10安装VS2017 https://www.asp.net/downloads注意勾选下.N ...
- 配置本地和远程maven仓库
<mirrors><mirror> <id>alimaven</id> <name>aliyun maven</name> &l ...
- Oracle更新表字段时内容中含有特殊字符&的解决方法
今天在做 Oracle表字段更新时出现了特殊字符&,导致无法更新. 这个问题是第二次碰到了,所以在此记录下,以备后用. 举例: update t set col1='A&B' wher ...
- 基于JAVA的设计模式之组合模式
概念 将所有对象组合成一种树形结构,有分支节点.叶子节点,分支节点可以有自己的子节点,子节点可以是分支节点.叶子节点,可以进行增删的操作,而叶子节点不可以.比如文件夹就是一个分支节点,而文件就是一个叶 ...
- 如何构建多模块的SpringBoot项目
通过阅读本文你将了解到:如何将已有SpringBoot项目改成多模块 & 如何新构建多模块SpringBoot项目 以下示例基于我正在使用的order(订单服务)进行演示,无论你用的是什么项目 ...
- Random类、ThreadLocalRandom类
Random和ThreadLocalRandom类均用于生成伪随机数. Random的构造函数: Random() 默认以系统当前时间为种子,相当于Random(System.currentT ...
- 【Java】 hashcode()和System.identityHashCode()
hashcode()和System.identityHashCode() openjdk8: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/5b86f ...
- Servlet中文件上传的几种方式
上传文件,因为上传的都是二进制数据,所以在Servlet中就不能直接用request.getParameter();方法进行数据的获取,需要借助第三方jar包对上传的二进制文件进行解析.常用的方式如下 ...
- window.open()弹出窗口参数说明及居中设置
window.open()可以弹出一个新的窗口,并且通过参数控制窗口的各项属性. 最基本的弹出窗口代码 window.open('httP://codeo.cn/'); window.open()各参 ...
- ae(ArcEngine) java swing开发入门系列(1):开发环境和代码部署
前言:做ae开发大部分人都是用C#版,很少用到java版,本系列文章主要介绍java版ae开发的入门,对于ae接口的高级应用,可以看C#版相关文章 开发环境软件: Intellij IDEA 2018 ...