3
3
Overview
4
4
********
5
5
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 .
8
8
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:
10
16
11
17
* CLOCK
12
18
* FLASH
13
19
* :abbr: `GPIO ( General Purpose Input Output ) `
14
20
* :abbr: `MPU ( Memory Protection Unit ) `
15
21
* :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)
17
24
* :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)
19
27
* :abbr: `WDT ( Watchdog Timer ) `
20
28
21
29
.. figure :: img/ctcc_nrf52840_mpcie.webp
@@ -30,13 +38,21 @@ This board has following features:
30
38
31
39
ctcc/nrf52840 M.2 board
32
40
41
+ .. figure :: img/ctcc_nrf9161_mpcie.webp
42
+ :align: center
43
+ :alt: CTCC nRF9161 mPCIe
44
+
45
+ ctcc/nrf9161 mPCIe board
46
+
33
47
More 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 `_.
35
49
36
50
Hardware
37
51
********
38
52
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).
40
56
41
57
Supported Features
42
58
==================
@@ -67,22 +83,61 @@ hardware features:
67
83
| WDT | on-chip | watchdog |
68
84
+-----------+------------+----------------------+
69
85
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
+
70
118
Connections and IOs
71
119
===================
72
120
73
121
LED
74
122
---
75
123
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
77
125
LED signals on mPCIe/M.2 pins.
78
126
127
+ nRF52840:
128
+
79
129
* LED1 = P0.23
80
130
* LED2 = P0.22
81
131
132
+ nRF9161:
133
+
134
+ * LED1 = P0.11
135
+ * LED2 = P0.12
136
+
82
137
Programming and Debugging
83
138
*************************
84
139
85
- Applications for the ``ctcc/nrf52840 `` board target can be
140
+ Applications for ``ctcc `` boards can be
86
141
built in the usual way (see :ref: `build_an_application ` for more details).
87
142
88
143
Flashing
@@ -91,7 +146,10 @@ Flashing
91
146
The board supports the following programming options:
92
147
93
148
1. 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.
95
153
96
154
Option 1: Using an External Debug Probe
97
155
---------------------------------------
@@ -114,84 +172,92 @@ logs on emulated USB port.
114
172
:board: ctcc/nrf52840
115
173
:goals: build flash
116
174
117
- Debugging
118
- =========
175
+ Option 2: Using MCUboot with MCUmgr support
176
+ -------------------------------------------
119
177
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.
123
186
124
- Option 2: Using MCUboot with DFU support
125
- ----------------------------------------
187
+ .. tabs ::
126
188
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
133
190
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:
136
192
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
140
198
141
- #. Compile MCUboot as a Zephyr application with DFU support.
199
+ .. group-tab :: nRF9161
142
200
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
149
208
150
209
#. Flash it onto the board as described in Option 1.
151
210
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
153
216
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:
160
218
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\"
163
224
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\"
169
234
170
235
.. note ::
171
236
172
237
In all examples it is assumed to use default :file: `root-rsa-2048.pem ` file from ``mcuboot/boot ``
173
238
directory. Providing certificate in build args produces signed binary automatically.
174
239
Do not use this certificate in your production firmware!
175
240
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
+ =========
178
243
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 .
182
247
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.
185
249
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.
186
252
187
253
References
188
254
**********
189
255
190
256
.. target-notes ::
191
257
192
- .. _ ctcc_nrf52840 Website :
258
+ .. _ Connectivity Cards Website :
193
259
https://cthings.co/products/connectivity-cards
194
260
.. _Nordic Semiconductor Infocenter :
195
261
https://infocenter.nordicsemi.com
196
262
.. _MCUboot :
197
- https://github.com/JuulLabs-OSS /mcuboot
263
+ https://github.com/zephyrproject-rtos /mcuboot
0 commit comments