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