33 Overview
44********
55
6- The Connectivity Card nRF52840 enables BLE and IEEE 802.15.4 connectivity
7- over mPCIe or M.2 using USB port with on-board nRF52840 SoC .
6+ Connectivity Cards come with either M.2 or mPCIe form factor with various SoCs, enabling different
7+ radio interfaces .
88
9- This board has following features:
9+ * The Connectivity Card nRF52840 enables BLE and IEEE 802.15.4 over mPCIe or M.2
10+ using USB device with on-board nRF52840 SoC
11+
12+ * The Connectivity Card nRF9161 enables LTE-M/NB-IoT and DECT NR+ over mPCIe or M.2
13+ using on-board USB-UART converter
14+
15+ Connectivity Card has following features:
1016
1117* CLOCK
1218* FLASH
1319* :abbr: `GPIO ( General Purpose Input Output ) `
1420* :abbr: `MPU ( Memory Protection Unit ) `
1521* :abbr: `NVIC ( Nested Vectored Interrupt Controller ) `
16- * RADIO (Bluetooth Low Energy and 802.15.4)
22+ * RADIO (Bluetooth Low Energy and 802.15.4) (only nRF52840)
23+ * RADIO (LTE-M/NB-IoT and DECT NR+) (only nRF9161)
1724* :abbr: `RTC ( nRF RTC System Clock ) `
18- * :abbr: `USB ( Universal Serial Bus ) `
25+ * :abbr: `USB ( Universal Serial Bus ) ` (only nRF52840)
26+ * :abbr: `UARTE ( Universal asynchronous receiver-transmitter with EasyDMA ) ` (only nRF9161)
1927* :abbr: `WDT ( Watchdog Timer ) `
2028
2129.. figure :: img/ctcc_nrf52840_mpcie.webp
@@ -30,13 +38,21 @@ This board has following features:
3038
3139 ctcc/nrf52840 M.2 board
3240
41+ .. figure :: img/ctcc_nrf9161_mpcie.webp
42+ :align: center
43+ :alt: CTCC nRF9161 mPCIe
44+
45+ ctcc/nrf9161 mPCIe board
46+
3347More information about the board can be found at the
34- `ctcc_nrf52840 Website `_ and for SoC information: `Nordic Semiconductor Infocenter `_.
48+ `Connectivity Cards Website `_ and for SoC information: `Nordic Semiconductor Infocenter `_.
3549
3650Hardware
3751********
3852
39- The ``ctcc/nrf52840 `` board target has one external oscillator of the 32.768 kHz.
53+ * The ``ctcc/nrf52840 `` board target has one external oscillator of the 32.768 kHz.
54+ * The ``ctcc/nrf9161 `` board target has one external SPI NOR 64Mbit memory and one on-board USB-UART
55+ converter (CP210X).
4056
4157Supported Features
4258==================
@@ -67,22 +83,61 @@ hardware features:
6783| WDT | on-chip | watchdog |
6884+-----------+------------+----------------------+
6985
86+ The ``ctcc/nrf9161 `` board target supports the following
87+ hardware features:
88+
89+ +-----------+------------+----------------------+
90+ | Interface | Controller | Driver/Component |
91+ +===========+============+======================+
92+ | CLOCK | on-chip | clock_control |
93+ +-----------+------------+----------------------+
94+ | FLASH | on-chip | flash |
95+ +-----------+------------+----------------------+
96+ | FLASH | external | spi |
97+ +-----------+------------+----------------------+
98+ | GPIO | on-chip | gpio |
99+ +-----------+------------+----------------------+
100+ | MPU | on-chip | arch/arm |
101+ +-----------+------------+----------------------+
102+ | NVIC | on-chip | arch/arm |
103+ +-----------+------------+----------------------+
104+ | RADIO | on-chip | LTE-M/NB-IoT, |
105+ | | | DECT NR\+ |
106+ +-----------+------------+----------------------+
107+ | SPI(M/S) | on-chip | spi |
108+ +-----------+------------+----------------------+
109+ | SPU | on-chip | system protection |
110+ +-----------+------------+----------------------+
111+ | UARTE | on-chip | serial |
112+ +-----------+------------+----------------------+
113+ | RTC | on-chip | system clock |
114+ +-----------+------------+----------------------+
115+ | WDT | on-chip | watchdog |
116+ +-----------+------------+----------------------+
117+
70118Connections and IOs
71119===================
72120
73121LED
74122---
75123
76- Note that board does not have on-board LEDs, however it exposes
124+ Note that boards do not have on-board LEDs, however they expose
77125LED signals on mPCIe/M.2 pins.
78126
127+ nRF52840:
128+
79129* LED1 = P0.23
80130* LED2 = P0.22
81131
132+ nRF9161:
133+
134+ * LED1 = P0.11
135+ * LED2 = P0.12
136+
82137Programming and Debugging
83138*************************
84139
85- Applications for the ``ctcc/nrf52840 `` board target can be
140+ Applications for ``ctcc `` boards can be
86141built in the usual way (see :ref: `build_an_application ` for more details).
87142
88143Flashing
@@ -91,7 +146,10 @@ Flashing
91146The board supports the following programming options:
92147
931481. Using an external :ref: `debug probe <debug-probes >`
94- 2. Using MCUboot with DFU support
149+ 2. Using `MCUboot `_ with MCUmgr support
150+
151+ Below instructions are provided for ``ctcc/nrf52840 ``, to use ``nrf9161 `` target, the USB device configs have
152+ to be replaced with UART configurations.
95153
96154Option 1: Using an External Debug Probe
97155---------------------------------------
@@ -114,84 +172,92 @@ logs on emulated USB port.
114172 :board: ctcc/nrf52840
115173 :goals: build flash
116174
117- Debugging
118- =========
175+ Option 2: Using MCUboot with MCUmgr support
176+ -------------------------------------------
119177
120- The ``ctcc/nrf52840 `` board target does not have an on-board J-Link debug IC, however
121- instructions from the :ref: `nordic_segger ` page also apply to this board,
122- with the additional step of connecting an external debugger.
178+ It is also possible to use the MCUboot bootloader with :ref: `mcu_mgr ` support to flash
179+ Zephyr applications.
180+
181+ Install a MCUmgr-compatible tool from :ref: `supported list <mcumgr_tools_libraries >`
182+ and make sure MCUboot's ``imgtool `` is available for signing your binary
183+ for MCUboot as described on :ref: `west-sign `.
184+
185+ #. Compile MCUboot as a Zephyr application with ``MCUmgr `` support.
123186
124- Option 2: Using MCUboot with DFU support
125- ----------------------------------------
187+ .. tabs ::
126188
127- It is also possible to use the MCUboot bootloader with DFU support to flash
128- Zephyr applications. You need to flash MCUboot with DFU support and fill in slot0 with
129- some application one-time using Option 1. Then you can re-flash an application using DFU utility
130- by loading images to slot1. Note, it's not possible to have only MCUboot and load directly
131- software to slot0 due to DFU implementation in Zephyr, which for present slot0 and slot1 in flash
132- map, it assumes only slot1 partition as writeable.
189+ .. group-tab :: nRF52840
133190
134- Install ``dfu-util `` first and make sure MCUboot's ``imgtool `` is
135- available for signing your binary for MCUboot as described on :ref: `west-sign `.
191+ To build the MCUboot:
136192
137- Next, do the **one-time setup ** to flash MCUboot with DFU support.
138- We'll assume you've cloned the `MCUboot `_ as a submodule when initializing
139- Zephyr repositories using :ref: `west ` tool.
193+ .. zephyr-app-commands ::
194+ :app: mcuboot/boot/zephyr
195+ :board: ctcc/nrf52840
196+ :build-dir: mcuboot
197+ :goals: build
140198
141- #. Compile MCUboot as a Zephyr application with DFU support.
199+ .. group-tab :: nRF9161
142200
143- .. zephyr-app-commands ::
144- :app: mcuboot/boot/zephyr
145- :board: ctcc/nrf52840
146- :build-dir: mcuboot
147- :goals: build
148- :gen-args: -DCONFIG_BOOT_USB_DFU_WAIT=y
201+ To build the MCUboot:
202+
203+ .. zephyr-app-commands ::
204+ :app: mcuboot/boot/zephyr
205+ :board: ctcc/nrf9161
206+ :build-dir: mcuboot
207+ :goals: build
149208
150209#. Flash it onto the board as described in Option 1.
151210
152- #. Flash other Zephyr application to fill in slot0 e.g:
211+ #. Flash other Zephyr application over USB using :ref: `MCUmgr-compatible tool <mcumgr_tools_libraries >` and reset target to boot into the image.
212+
213+ .. tabs ::
214+
215+ .. group-tab :: nRF52840
153216
154- .. zephyr-app-commands ::
155- :zephyr-app: samples/subsys/usb/dfu
156- :board: ctcc/nrf52840
157- :build-dir: dfu
158- :goals: build
159- :gen-args: -DCONFIG_BOOTLOADER_MCUBOOT=y -DCONFIG_MCUBOOT_SIGNATURE_KEY_FILE=\" path/to/mcuboot/boot/root-rsa-2048.pem\"
217+ Build the blinky example with MCUboot support:
160218
161- You can now flash a Zephyr application to the board using DFU util.
162- As an example we'll use the :zephyr:code-sample: `usb-cdc-acm-console ` sample.
219+ .. zephyr-app-commands ::
220+ :zephyr-app: samples/basic/blinky
221+ :board: ctcc/nrf52840
222+ :goals: build
223+ :gen-args: -DCONFIG_BOOTLOADER_MCUBOOT=y -DCONFIG_MCUBOOT_SIGNATURE_KEY_FILE=\" path/to/mcuboot/boot/root-rsa-2048.pem\"
163224
164- .. zephyr-app-commands ::
165- :zephyr-app: samples/subsys/usb/console
166- :board: ctcc/nrf52840
167- :goals: build flash
168- :gen-args: -DCONFIG_BOOTLOADER_MCUBOOT=y -DCONFIG_MCUBOOT_SIGNATURE_KEY_FILE=\" path/to/mcuboot/boot/root-rsa-2048.pem\"
225+ .. group-tab :: nRF9161
226+
227+ Build the blinky example with MCUboot support:
228+
229+ .. zephyr-app-commands ::
230+ :zephyr-app: samples/basic/blinky
231+ :board: ctcc/nrf9161
232+ :goals: build
233+ :gen-args: -DCONFIG_BOOTLOADER_MCUBOOT=y -DCONFIG_MCUBOOT_SIGNATURE_KEY_FILE=\" path/to/mcuboot/boot/root-rsa-2048.pem\"
169234
170235.. note ::
171236
172237 In all examples it is assumed to use default :file: `root-rsa-2048.pem ` file from ``mcuboot/boot ``
173238 directory. Providing certificate in build args produces signed binary automatically.
174239 Do not use this certificate in your production firmware!
175240
176- #. Plug in `` ctcc/nrf52840 `` card to mPCIe/M.2 slot or use mPCIe/M.2 adapter to USB
177- and plug such adapter to USB port.
241+ Debugging
242+ =========
178243
179- You should see `` NordicSemiconductor MCUBOOT `` or `` NordicSemiconductor Zephyr DFU sample ``
180- (if you flashed `` dfu `` sample to slot0) device once plugging it into host
181- USB port. You can check that on Linux system by entering `` lsusb `` command .
244+ These boards do not have an on-board J-Link debug IC, however
245+ instructions from the :ref: ` nordic_segger ` page also apply to them,
246+ with the additional step of connecting an external debugger .
182247
183- To check if DFU device is visible you can enter ``sudo dfu-util -l `` command. Once the
184- device is visible you can flash Zephyr image using DFU util: ``sudo dfu-util --alt 1 --download build/zephyr/zephyr.signed.bin ``
248+ 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.
185249
250+ * 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).
251+ * For ``ctcc/nrf9161 `` it's not possible to see a change in ``lsusb `` due to the on-board USB-UART converter. Intead, connect to the UART console using a terminal emulation program of your choice.
186252
187253References
188254**********
189255
190256.. target-notes ::
191257
192- .. _ ctcc_nrf52840 Website :
258+ .. _ Connectivity Cards Website :
193259 https://cthings.co/products/connectivity-cards
194260.. _Nordic Semiconductor Infocenter :
195261 https://infocenter.nordicsemi.com
196262.. _MCUboot :
197- https://github.com/JuulLabs-OSS /mcuboot
263+ https://github.com/zephyrproject-rtos /mcuboot
0 commit comments