1.. zephyr:board:: frdm_mcxc444
2
3Overview
4********
5
6FRDM-MCXC444 is a compact and scalable development board for rapid
7prototyping of MCX C444 MCU. It offers industry standard headers
8for easy access to the MCU's I/Os, integrated open-standard serial
9interfaces and on-board MCU-Link debugger.
10The MCXC is a general purpose ultra-low-power MCU family,
11providing additional memory, communications and analog peripheral.
12
13Hardware
14********
15
16- MCXC444VLH Arm Cortex-M0+ microcontroller running at 48 MHz
17- 64LQFP package
18- 256 KB flash
19- 32 KB SRAM
20- USB FS 2.0
21- 2x low-power UART, 1x UART, 2x I2C, 2x SPI
22- FXLS8974CF accelerometer
23- Tri-color LED
24- On-board MCU-Link debugger with CMSIS-DAP
25- Arduino Header, mikroBUS, Pmod
26
27For more information about the MCXC444 SoC and FRDM-MCXC444 board, see
28these references:
29
30- `MCX C14x/24x/44x Website`_
31- `MCX C44x Datasheet`_
32- `MCX C44x Reference Manual`_
33- `FRDM-MCXC444 Website`_
34- `FRDM-MCXC444 User Manual`_
35- `FRDM-MCXC444 Design Files`_
36
37Supported Features
38==================
39
40The ``frdm_mcxc444`` board target supports the following hardware features:
41
42+-----------+------------+-------------------------------------+
43| Interface | Controller | Driver/Component                    |
44+===========+============+=====================================+
45| NVIC      | on-chip    | nested vector interrupt controller  |
46+-----------+------------+-------------------------------------+
47| SYSTICK   | on-chip    | systick                             |
48+-----------+------------+-------------------------------------+
49| PINMUX    | on-chip    | pinmux                              |
50+-----------+------------+-------------------------------------+
51| GPIO      | on-chip    | gpio                                |
52+-----------+------------+-------------------------------------+
53| UART      | on-chip    | serial port-polling;                |
54|           |            | serial port-interrupt               |
55+-----------+------------+-------------------------------------+
56| FLASH     | on-chip    | soc flash                           |
57+-----------+------------+-------------------------------------+
58| I2C       | on-chip    | i2c                                 |
59+-----------+------------+-------------------------------------+
60| LPTMR     | on-chip    | counter                             |
61+-----------+------------+-------------------------------------+
62| PIT       | on-chip    | counter                             |
63+-----------+------------+-------------------------------------+
64| PWM       | on-chip    | pwm                                 |
65+-----------+------------+-------------------------------------+
66| RTC       | on-chip    | counter                             |
67+-----------+------------+-------------------------------------+
68| USB       | on-chip    | USB device                          |
69+-----------+------------+-------------------------------------+
70
71
72Targets available
73==================
74
75The default configuration can be found in
76:zephyr_file:`boards/nxp/frdm_mcxc444/frdm_mcxc444_defconfig`
77
78Other hardware features are not currently supported by the port.
79
80Connections and IOs
81===================
82
83The MCXC444 SoC has five pairs of pinmux/gpio controllers (PORTA/GPIOA,
84PORTB/GPIOB, PORTC/GPIOC, PORTD/GPIOD, and PORTE/GPIOE) for the FRDM-MCXC444 board.
85
86+-------+-------------+---------------------------+
87| Name  | Function    | Usage                     |
88+=======+=============+===========================+
89| PTE20 | ADC         | ADC0 channel 1            |
90+-------+-------------+---------------------------+
91| PTE31 | GPIO        | Red LED                   |
92+-------+-------------+---------------------------+
93| PTD5  | GPIO        | Green LED                 |
94+-------+-------------+---------------------------+
95| PTE29 | GPIO        | Blue LED                  |
96+-------+-------------+---------------------------+
97| PTA1  | LPUART0_RX  | UART Console              |
98+-------+-------------+---------------------------+
99| PTA2  | LPUART0_TX  | UART Console              |
100+-------+-------------+---------------------------+
101| PTA20 | RESET       | RESET Button SW1          |
102+-------+-------------+---------------------------+
103| PTC3  | GPIO        | User button SW2           |
104+-------+-------------+---------------------------+
105| PTA4  | GPIO        | User button SW3           |
106+-------+-------------+---------------------------+
107| PTE25 | I2C0_SDA    | I2C accelerometer         |
108+-------+-------------+---------------------------+
109| PTE24 | I2C0_SCL    | I2C accelerometer         |
110+-------+-------------+---------------------------+
111
112System Clock
113============
114
115The MCXC444 SoC is configured to use HIRC running at 48 MHz as a system clock source.
116
117Serial Port
118===========
119
120The MCXC444 LPUART0 is used for the console.
121
122Programming and Debugging
123*************************
124
125Build and flash applications as usual (see :ref:`build_an_application` and
126:ref:`application_run` for more details).
127
128Configuring a Debug Probe
129=========================
130
131A debug probe is used for both flashing and debugging the board. This board is
132configured by default to use the MCU-Link CMSIS-DAP Onboard Debug Probe.
133
134Using LinkServer
135----------------
136
137Linkserver is the default runner for this board, and supports the factory
138default MCU-Link firmware. Follow the instructions in
139:ref:`mcu-link-cmsis-onboard-debug-probe` to reprogram the default MCU-Link
140firmware. This only needs to be done if the default onboard debug circuit
141firmware was changed. To put the board in ``DFU mode`` to program the firmware,
142short jumper JP2.
143
144Using J-Link
145------------
146
147There are two options. The onboard debug circuit can be updated with Segger
148J-Link firmware by following the instructions in
149:ref:`mcu-link-jlink-onboard-debug-probe`.
150To be able to program the firmware, you need to put the board in ``DFU mode``
151by shortening the jumper JP1.
152The second option is to attach a :ref:`jlink-external-debug-probe` to the
15310-pin SWD connector (J10) of the board. Additionally, the jumper JP4 must
154be shortened.
155For both options use the ``-r jlink`` option with west to use the jlink runner.
156
157.. code-block:: console
158
159   west flash -r jlink
160
161Configuring a Console
162=====================
163
164Connect a USB cable from your PC to J13, and use the serial terminal of your choice
165(minicom, putty, etc.) with the following settings:
166
167- Speed: 115200
168- Data: 8 bits
169- Parity: None
170- Stop bits: 1
171
172Flashing
173========
174
175Here is an example for the :zephyr:code-sample:`hello_world` application.
176
177.. zephyr-app-commands::
178   :zephyr-app: samples/hello_world
179   :board: frdm_mcxc444
180   :goals: flash
181
182Open a serial terminal, reset the board (press the SW1 button), and you should
183see the following message in the terminal:
184
185.. code-block:: console
186
187   *** Booting Zephyr OS build v3.6.0-4475-gfa5bd8bb098e ***
188   Hello World! frdm_mcxc444/mcxc444
189
190Debugging
191=========
192
193Here is an example for the :zephyr:code-sample:`hello_world` application.
194
195.. zephyr-app-commands::
196   :zephyr-app: samples/hello_world
197   :board: frdm_mcxc444
198   :goals: debug
199
200Open a serial terminal, step through the application in your debugger, and you
201should see the following message in the terminal:
202
203.. code-block:: console
204
205   *** Booting Zephyr OS build v3.6.0-4475-gfa5bd8bb098e ***
206   Hello World! frdm_mcxc444/mcxc444
207
208.. _MCX C14x/24x/44x Website:
209   https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/mcx-arm-cortex-m/mcx-c-series-microcontrollers/mcx-c14x-24x-44x-mcus-with-arm-cortex-m0-plus-entry-level-mcus-with-usb-segment-lcd-and-classical-peripherals:MCX-C14x-24x-44x
210
211.. _MCX C44x Datasheet:
212   https://www.nxp.com/docs/en/data-sheet/MCXC44XP64M48SF6.pdf
213
214.. _MCX C44x Reference Manual:
215   https://www.nxp.com/webapp/Download?colCode=MCXC44XP64M48RM
216
217.. _FRDM-MCXC444 Website:
218   https://www.nxp.com/design/design-center/development-boards-and-designs/general-purpose-mcus/frdm-development-board-for-mcx-c444-mcus:FRDM-MCXC444
219
220.. _FRDM-MCXC444 User Manual:
221   https://www.nxp.com/webapp/Download?colCode=UM12120
222
223.. _FRDM-MCXC444 Design Files:
224   https://www.nxp.com/webapp/Download?colCode=FRDM-MCXC444-DESIGNFILES
225