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
=================================版权声明================================= 版权声明:原创文章 谢绝转载 啥说的,鄙视那些无视版权随 ...
随机推荐
- NET Core中使用Apworks
NET Core中使用Apworks HAL,全称为Hypertext Application Language,它是一种简单的数据格式,它能以一种简单.统一的形式,在API中引入超链接特性,使得AP ...
- IIS服务器访问网站出现403错误的解决方法
最近用织梦做了一个网站,因为织梦会在一个文件夹中生成网站的静态页面,而我们单击某个栏目时,一般程序都是直接去寻找该文件夹中的index.html文件的,当服务器中默认的索引文件不包括index.htm ...
- Kendo 单页面应用(一)概述
Kendo 单页面应用(一)概述 Kendo 单页面应用(Single-Page Application,缩写为 SPA)定义了一组类用于简化 Web 应用(Rich Client)开发,最常见的单页 ...
- 【简抄】h5 新增的几个背景属性和文本属性
一.背景图像显示: ①background-size:规定背景图像的大小: 值:像素值.百分比.auto.cover.contain ②background-origin :规定背景图像的起始位置: ...
- 【Unity3D】实现太阳系
实践要求:写一个程序,实现一个完整的太阳系,其他星球围绕太阳的转速必须不一样,并且不再一个法平面内. 法平面是指过空间曲线的切点,且与切线垂直的平面.要求不在一个法平面内,则在保证所有行星以及太阳在一 ...
- android dialog style属性设置
<!--最近做项目,用到alertDialog,用系统自带的style很难看,所以查了资料自己定义了个style. res/value/style.xml内增加以下代码:--> <s ...
- C++ string 类型提取字符串
在某些情况下需要对输入的字符串进行处理,提取其中的需要的信息. 比如在linux中输入"mkdir test",新建test文件夹,就需要提取其中的test字符. 提取的方法需要b ...
- 如何给SAP Cloud Connector Region列表中添加新的Region
SAP help里提供了CloudFoundry和Neo环境下可用的Region和API endpoint: 当我们期望用SAP Cloud Connector连接某个SAP云平台Region时,一般 ...
- Linux OpenGL 实践篇-16 文本绘制
文本绘制 本文主要射击Freetype的入门理解和在OpenGL中实现文字的渲染. freetype freetype的官网,本文大部分内容参考https://www.freetype.org/fre ...
- 在ProgressBar控件中显示进度百分比
实现效果: 知识运用: ProgressBar控件的Value属性 //控件的当前值 Maximum属性 //ProgressBar正在使用的范围的上限 PerformStep方法 //按照Step属 ...