Back to Zephyr

Overview

boards/ct/ctcc/doc/index.rst

4.4.06.3 KB
Original Source

.. zephyr:board:: ctcc

Overview


Connectivity Cards come with either M.2 or mPCIe form factor with various SoCs, enabling different radio interfaces.

  • The Connectivity Card nRF52840 enables BLE and IEEE 802.15.4 over mPCIe or M.2 using USB device with on-board nRF52840 SoC

  • The Connectivity Card nRF9161 enables LTE-M/NB-IoT and DECT NR+ over mPCIe or M.2 using on-board USB-UART converter

Connectivity Card has following features:

  • CLOCK
  • FLASH
  • :abbr:GPIO (General Purpose Input Output)
  • :abbr:MPU (Memory Protection Unit)
  • :abbr:NVIC (Nested Vectored Interrupt Controller)
  • RADIO (Bluetooth Low Energy and 802.15.4) (only nRF52840)
  • RADIO (LTE-M/NB-IoT and DECT NR+) (only nRF9161)
  • :abbr:RTC (nRF RTC System Clock)
  • :abbr:USB (Universal Serial Bus) (only nRF52840)
  • :abbr:UARTE (Universal asynchronous receiver-transmitter with EasyDMA) (only nRF9161)
  • :abbr:WDT (Watchdog Timer)

.. figure:: img/ctcc_nrf52840_mpcie.webp :align: center :alt: CTCC nRF52840 mPCIe

 ctcc/nrf52840 mPCie board

.. figure:: img/ctcc_nrf52840_m2.webp :align: center :alt: CTCC nRF52840 M.2

 ctcc/nrf52840 M.2 board

.. figure:: img/ctcc_nrf9161_mpcie.webp :align: center :alt: CTCC nRF9161 mPCIe

 ctcc/nrf9161 mPCIe board

More information about the board can be found at the Connectivity Cards Website_ and for SoC information: Nordic Semiconductor Infocenter_.

Hardware


  • The ctcc/nrf52840 board target has one external oscillator of the 32.768 kHz.
  • The ctcc/nrf9161 board target has one external SPI NOR 64Mbit memory and one on-board USB-UART converter (CP210X).

Supported Features

.. zephyr:board-supported-hw::

Connections and IOs

LED

Note that boards do not have on-board LEDs, however they expose LED signals on mPCIe/M.2 pins.

nRF52840:

  • LED1 = P0.23
  • LED2 = P0.22

nRF9161:

  • LED1 = P0.11
  • LED2 = P0.12

Programming and Debugging


.. zephyr:board-supported-runners::

Applications for ctcc boards can be built in the usual way (see :ref:build_an_application for more details).

Flashing

The board supports the following programming options:

  1. Using an external :ref:debug probe <debug-probes>
  2. Using MCUboot_ with MCUmgr support

Below instructions are provided for ctcc/nrf52840, to use nrf9161 target, the USB device configs have to be replaced with UART configurations.

Option 1: Using an External Debug Probe

Connectivity Card can be programmed using an external debug probe (Segger J-Link) by connecting to on-board SWD test pads.

For Segger J-Link debug probes, follow the instructions in the :ref:nordic_segger page to install and configure all the necessary software. Further information can be found in :ref:nordic_segger_flashing.

Then build and flash applications as usual (see :ref:build_an_application and :ref:application_run for more details).

Here is an example for the :zephyr:code-sample:usb-cdc-acm-console application which prints out logs on emulated USB port.

.. zephyr-app-commands:: :zephyr-app: samples/subsys/usb/console :board: ctcc/nrf52840 :goals: build flash

Option 2: Using MCUboot with MCUmgr support

It is also possible to use the MCUboot bootloader with :ref:mcu_mgr support to flash Zephyr applications.

Install a MCUmgr-compatible tool from :ref:supported list <mcumgr_tools_libraries> and make sure MCUboot's imgtool is available for signing your binary for MCUboot as described on :ref:west-sign.

#. Compile MCUboot as a Zephyr application with MCUmgr support.

.. tabs::

  .. group-tab:: nRF52840

     To build the MCUboot:

     .. zephyr-app-commands::
        :app: mcuboot/boot/zephyr
        :board: ctcc/nrf52840
        :build-dir: mcuboot
        :goals: build

  .. group-tab:: nRF9161

     To build the MCUboot:

     .. zephyr-app-commands::
        :app: mcuboot/boot/zephyr
        :board: ctcc/nrf9161
        :build-dir: mcuboot
        :goals: build

#. Flash it onto the board as described in Option 1.

#. Flash other Zephyr application over USB using :ref:MCUmgr-compatible tool <mcumgr_tools_libraries> and reset target to boot into the image.

.. tabs::

  .. group-tab:: nRF52840

     Build the blinky example with MCUboot support:

     .. zephyr-app-commands::
        :zephyr-app: samples/basic/blinky
        :board: ctcc/nrf52840
        :goals: build
        :gen-args: -DCONFIG_BOOTLOADER_MCUBOOT=y -DCONFIG_MCUBOOT_SIGNATURE_KEY_FILE=\"path/to/mcuboot/boot/root-rsa-2048.pem\"

  .. group-tab:: nRF9161

     Build the blinky example with MCUboot support:

     .. zephyr-app-commands::
        :zephyr-app: samples/basic/blinky
        :board: ctcc/nrf9161
        :goals: build
        :gen-args: -DCONFIG_BOOTLOADER_MCUBOOT=y -DCONFIG_MCUBOOT_SIGNATURE_KEY_FILE=\"path/to/mcuboot/boot/root-rsa-2048.pem\"

.. note::

In all examples it is assumed to use default :file:root-rsa-2048.pem file from mcuboot/boot directory. Providing certificate in build args produces signed binary automatically. Do not use this certificate in your production firmware!

Debugging

These boards do not have an on-board J-Link debug IC, however instructions from the :ref:nordic_segger page also apply to them, with the additional step of connecting an external debugger.

To test flashed software, plug in ctcc card to mPCIe/M.2 slot or use mPCIe/M.2 adapter to USB and plug such adapter to USB port.

  • For ctcc/nrf52840 check on Linux system by entering lsusb command if the following device appears: NordicSemiconductor MCUBOOT or NordicSemiconductor USB-DEV (when booted into blinky example).
  • For ctcc/nrf9161 it's not possible to see a change in lsusb due to the on-board USB-UART converter. Instead, connect to the UART console using a terminal emulation program of your choice.

References


.. target-notes::

.. _Connectivity Cards Website: https://cthings.co/products/connectivity-cards .. _Nordic Semiconductor Infocenter: https://infocenter.nordicsemi.com .. _MCUboot: https://github.com/zephyrproject-rtos/mcuboot