This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

Contextual Eletronics Advanced BLE Cell

Overview

The Contextual Eletronics ABC (PCA10056) hardware provides support for the Nordic Semiconductor nRF52840 ARM Cortex-M4F CPU and the following devices:

  • CLOCK

  • FLASH

  • GPIO

  • I2C

  • MPU

  • NVIC

  • PWM

  • Segger RTT (RTT Console)

  • SPI

  • UART

  • Quectel BG95 Modem

Contextual Electronics Advanced BLE Cell

Contextual Electronics Advanced BLE Cell (Credit: Chris Gamell)

More information about the board can be found at the ABC Board website 1. The Nordic Semiconductor Infocenter 2 contains the processor’s information and the datasheet.

Hardware

ABC board has two external oscillators. The frequency of the slow clock is 32.768 kHz. The frequency of the main clock is 32 MHz.

  • nRF52840 ARM Cortex-M4F processor at 64 MHz

  • 1 MB flash memory and 256 KB of SRAM

  • SWD connector

Supported Features

The contextualelectronics_abc board configuration supports the following hardware features:

Interface

Controller

Driver/Component

CLOCK

on-chip

clock_control

FLASH

on-chip

flash

GPIO

on-chip

gpio

I2C(M)

on-chip

i2c

MPU

on-chip

arch/arm

NVIC

on-chip

arch/arm

PWM

on-chip

pwm

RTC

on-chip

system clock

RTT

Segger

console

SPI(M)

on-chip

spi

UART

on-chip

serial

Modem

on-board

quectel_bg9x

Other hardware features are not supported by the Zephyr kernel. See ABC Board website 1 for more details on this board, and Nordic Semiconductor Infocenter 2 for a complete list of SoC features.

Programming and Debugging

Applications for the contextualelectronics_abc board configuration can be built and flashed in the usual way (see Building an Application and Run an Application for more details).

Flashing

Flashing Zephyr onto the contextualelectronics_abc board requires an external programmer. The programmer is attached to the SWD header.

Build the Zephyr kernel and the Hello World sample application.

west build -b contextualelectronics_abc samples/hello_world

Flash the image.

west build -b contextualelectronics_abc samples/hello_world
west flash

To see the output, run your favorite terminal program.

$ minicom -D <tty_device> -b 115200

Replace <tty_device> with the port where the ABC board can be found. For example, under Linux, /dev/ttyACM0.

Debugging

Refer to the Nordic nRF5x Segger J-Link page to learn about debugging Nordic boards with a Segger IC.

Selecting the pins

To select the pin numbers for tx-pin and rx-pin:

tx-pin = <pin_no>

Open the nRF52840 Product Specification 3, chapter 7 ‘Hardware and Layout’. In the table 7.1.1 ‘aQFN73 ball assignments’ select the pins marked ‘General purpose I/O’. Note that pins marked as ‘low frequency I/O only’ can only be used in under-10KHz applications. They are not suitable for 115200 speed of UART.

Translate the ‘Pin’ into number for devicetree by using the following formula:

pin_no = b\*32 + a

where a and b are from the Pin value in the table (Pb.a). For example, for P0.1, pin_no = 1 and for P1.0, pin_no = 32.