192 lines
6.3 KiB
ReStructuredText
192 lines
6.3 KiB
ReStructuredText
.. zephyr:board:: ucans32k1sic
|
|
|
|
Overview
|
|
********
|
|
|
|
`NXP UCANS32K1SIC`_ is a CAN signal improvement capability (SIC) evaluation
|
|
board designed for both automotive and industrial applications. The UCANS32K1SIC
|
|
provides two CAN SIC interfaces and is based on the 32-bit Arm Cortex-M4F
|
|
`NXP S32K146`_ microcontroller.
|
|
|
|
Hardware
|
|
********
|
|
|
|
- NXP S32K146
|
|
- Arm Cortex-M4F @ up to 112 Mhz
|
|
- 1 MB Flash
|
|
- 128 KB SRAM
|
|
- up to 127 I/Os
|
|
- 3x FlexCAN with 2x FD
|
|
- eDMA, 12-bit ADC, MPU, ECC and more.
|
|
|
|
- Interfaces:
|
|
- DCD-LZ debug interface with SWD + Console / UART
|
|
- Dual CAN FD PHYs with dual connectors for daisy chain operation
|
|
- JST-GH DroneCode compliant standard connectors and I/O headers
|
|
- user RGB LED and button.
|
|
|
|
More information about the hardware and design resources can be found at
|
|
`NXP UCANS32K1SIC`_ website.
|
|
|
|
Supported Features
|
|
==================
|
|
|
|
The ``ucans32k1sic`` board configuration supports the following hardware features:
|
|
|
|
============ ========== ================================
|
|
Interface Controller Driver/Component
|
|
============ ========== ================================
|
|
SYSMPU on-chip mpu
|
|
PORT on-chip pinctrl
|
|
GPIO on-chip gpio
|
|
LPUART on-chip serial
|
|
LPI2C on-chip i2c
|
|
LPSPI on-chip spi
|
|
FTM on-chip pwm
|
|
FlexCAN on-chip can
|
|
Watchdog on-chip watchdog
|
|
RTC on-chip counter
|
|
ADC on-chip adc
|
|
============ ========== ================================
|
|
|
|
The default configuration can be found in the Kconfig file
|
|
:zephyr_file:`boards/nxp/ucans32k1sic/ucans32k1sic_defconfig`.
|
|
|
|
Connections and IOs
|
|
===================
|
|
|
|
This board has 5 GPIO ports named from ``gpioa`` to ``gpioe``.
|
|
|
|
Pin control can be further configured from your application overlay by adding
|
|
children nodes with the desired pinmux configuration to the singleton node
|
|
``pinctrl``. Supported properties are described in
|
|
:zephyr_file:`dts/bindings/pinctrl/nxp,kinetis-pinctrl.yaml`.
|
|
|
|
LEDs
|
|
----
|
|
|
|
The UCANS32K1SIC board has one user RGB LED that can be used either as a GPIO
|
|
LED or as a PWM LED.
|
|
|
|
.. table:: RGB LED as GPIO LED
|
|
:widths: auto
|
|
|
|
=============== ================ =============== =====
|
|
Devicetree node Devicetree alias Label Pin
|
|
=============== ================ =============== =====
|
|
led1_red led0 LED1_RGB_RED PTD15
|
|
led1_green led1 LED1_RGB_GREEN PTD16
|
|
led1_blue led2 LED1_RGB_BLUE PTD0
|
|
=============== ================ =============== =====
|
|
|
|
.. table:: RGB LED as PWM LED
|
|
:widths: auto
|
|
|
|
=============== ======================== ================== ================
|
|
Devicetree node Devicetree alias Label Pin
|
|
=============== ======================== ================== ================
|
|
led1_red_pwm pwm-led0 / red-pwm-led LED1_RGB_RED_PWM PTD15 / FTM0_CH0
|
|
led1_green_pwm pwm-led1 / green-pwm-led LED1_RGB_GREEN_PWM PTD16 / FTM0_CH1
|
|
led1_blue_pwm pwm-led2 / blue-pwm-led LED1_RGB_BLUE_PWM PTD0 / FTM0_CH2
|
|
=============== ======================== ================== ================
|
|
|
|
The user can control the LEDs in any way. An output of ``0`` illuminates the LED.
|
|
|
|
Buttons
|
|
-------
|
|
|
|
The UCANS32K1SIC board has one user button:
|
|
|
|
======================= ============== =====
|
|
Devicetree node Label Pin
|
|
======================= ============== =====
|
|
sw0 / button_3 SW3 PTD15
|
|
======================= ============== =====
|
|
|
|
Serial Console
|
|
==============
|
|
|
|
The serial console is provided via ``lpuart1`` on the 7-pin DCD-LZ debug
|
|
connector ``P6``.
|
|
|
|
========= ===== ============
|
|
Connector Pin Pin Function
|
|
========= ===== ============
|
|
P6.2 PTC7 LPUART1_TX
|
|
P6.3 PTC6 LPUART1_RX
|
|
========= ===== ============
|
|
|
|
System Clock
|
|
============
|
|
|
|
The Arm Cortex-M4F core is configured to run at 80 MHz (RUN mode).
|
|
|
|
Programming and Debugging
|
|
*************************
|
|
|
|
Applications for the ``ucans32k1sic`` board can be built in the usual way as
|
|
documented in :ref:`build_an_application`.
|
|
|
|
This board configuration supports `Lauterbach TRACE32`_ and `SEGGER J-Link`_
|
|
West runners for flashing and debugging applications. Follow the steps described
|
|
in :ref:`lauterbach-trace32-debug-host-tools` and :ref:`jlink-debug-host-tools`,
|
|
to setup the flash and debug host tools for these runners, respectively. The
|
|
default runner is J-Link.
|
|
|
|
Flashing
|
|
========
|
|
|
|
Run the ``west flash`` command to flash the application using SEGGER J-Link.
|
|
Alternatively, run ``west flash -r trace32`` to use Lauterbach TRACE32.
|
|
|
|
The Lauterbach TRACE32 runner supports additional options that can be passed
|
|
through command line:
|
|
|
|
.. code-block:: console
|
|
|
|
west flash -r trace32 --startup-args elfFile=<elf_path> loadTo=<flash/sram>
|
|
eraseFlash=<yes/no> verifyFlash=<yes/no>
|
|
|
|
Where:
|
|
|
|
- ``<elf_path>`` is the path to the Zephyr application ELF in the output
|
|
directory
|
|
- ``loadTo=flash`` loads the application to the SoC internal program flash
|
|
(:kconfig:option:`CONFIG_XIP` must be set), and ``loadTo=sram`` load the
|
|
application to SRAM. The default is ``flash``.
|
|
- ``eraseFlash=yes`` erases the whole content of SoC internal flash before the
|
|
application is downloaded to either Flash or SRAM. This routine takes time to
|
|
execute. The default is ``no``.
|
|
- ``verifyFlash=yes`` verify the SoC internal flash content after programming
|
|
(use together with ``loadTo=flash``). The default is ``no``.
|
|
|
|
For example, to erase and verify flash content:
|
|
|
|
.. code-block:: console
|
|
|
|
west flash -r trace32 --startup-args elfFile=build/zephyr/zephyr.elf loadTo=flash eraseFlash=yes verifyFlash=yes
|
|
|
|
Debugging
|
|
=========
|
|
|
|
Run the ``west debug`` command to start a GDB session using SEGGER J-Link.
|
|
Alternatively, run ``west debug -r trace32`` to launch the Lauterbach TRACE32
|
|
software debugging interface.
|
|
|
|
References
|
|
**********
|
|
|
|
.. target-notes::
|
|
|
|
.. _NXP UCANS32K1SIC:
|
|
https://www.nxp.com/design/development-boards/analog-toolbox/can-sic-evaluation-board:UCANS32K1SIC
|
|
|
|
.. _NXP S32K146:
|
|
https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32k-auto-general-purpose-mcus/s32k1-microcontrollers-for-automotive-general-purpose:S32K1
|
|
|
|
.. _Lauterbach TRACE32:
|
|
https://www.lauterbach.com
|
|
|
|
.. _SEGGER J-Link:
|
|
https://wiki.segger.com/S32Kxxx
|