boards/nxp/mimxrt1050_evk/doc/index.html · boards/nxp/mimxrt1050_evk/doc/index.rst 공식 원문 ↗

Zephyr 3.7.0 · Boards · NXP · i.MX RT1050

NXP MIMXRT1050-EVK

600 MHz Cortex-M7과 SDRAM·HyperFlash, LCD·camera·Ethernet·USB·audio를 결합한 고성능 실시간 i.MX RT 평가 보드입니다.

Official pathboards/nxp/mimxrt1050_evk/doc/index.html
Source fileboards/nxp/mimxrt1050_evk/doc/index.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

SEMC/FLEXSPI boot, 지원 기능 14종과 핀 59행, USB device 제한, K20 OpenSDA·LPC-Link2 회로판별 설정, HyperFlash 복구와 EVKB 변경을 설명합니다.

CPU

Cortex-M7 · 600 MHz · 512 KB TCM

Memory

SDRAM · QSPI · 512 Mbit HyperFlash

Revisions

A/A1 OpenSDA · B/B1 LPC-Link2

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 F531429387BA30C8E763F5FA86D267ED55354D78733E332E3B5ECDF3A80DB9F0
.. _mimxrt1050_evk:

NXP MIMXRT1050-EVK
##################

Overview
********

The i.MX RT1050 is a new processor family featuring NXP's advanced
implementation of the ARM Cortex-M7 Core. It provides high CPU performance and
real-time response.

The i.MX RT1050 provides various memory interfaces, including SDRAM, Raw NAND
FLASH, NOR FLASH, SD/eMMC, Quad SPI, HyperBus and a wide range of other
interfaces for connecting peripherals, such as WLAN, Bluetooth™, GPS, displays,
and camera sensors. As with other i.MX processors, i.MX RT1050 also has rich
audio and video features, including LCD display, basic 2D graphics, camera
interface, SPDIF, and I2S audio interface.

.. image:: ../../../../../../../boards/nxp/mimxrt1050_evk/doc/mimxrt1050_evk.jpg
   :align: center
   :alt: MIMXRT1050-EVK

Hardware
********

- MIMXRT1052DVL6A MCU (600 MHz, 512 KB TCM)

- Memory

  - 256 KB SDRAM
  - 64 Mbit QSPI Flash
  - 512 Mbit Hyper Flash

- Display

  - LCD connector
  - Touch connector

- Ethernet

  - 10/100 Mbit/s Ethernet PHY

- USB

  - USB 2.0 OTG connector
  - USB 2.0 host connector

- Audio

  - 3.5 mm audio stereo headphone jack
  - Board-mounted microphone
  - Left and right speaker out connectors

- Power

  - 5 V DC jack

- Debug

  - JTAG 20-pin connector
  - OpenSDA with DAPLink

- Sensor

  - FXOS8700CQ 6-axis e-compass
  - CMOS camera sensor interface

- Expansion port

  - Arduino interface

- CAN bus connector

For more information about the MIMXRT1050 SoC and MIMXRT1050-EVK board, see
these references:

- `i.MX RT1050 Website`_
- `i.MX RT1050 Datasheet`_
- `i.MX RT1050 Reference Manual`_
- `MIMXRT1050-EVK Website`_
- `MIMXRT1050-EVK User Guide`_
- `MIMXRT1050-EVK Schematics`_

External Memory
===============

This platform has the following external memories:

+--------------------+------------+-------------------------------------+
| Device             | Controller | Status                              |
+====================+============+=====================================+
| IS42S16160J        | SEMC       | Enabled via device configuration    |
|                    |            | data block, which sets up SEMC at   |
|                    |            | boot time                           |
+--------------------+------------+-------------------------------------+
| S26KS512SDPBHI020  | FLEXSPI    | Enabled via flash configurationn    |
|                    |            | block, which sets up FLEXSPI at     |
|                    |            | boot time.                          |
+--------------------+------------+-------------------------------------+

Supported Features
==================

The mimxrt1050_evk board configuration supports the hardware features listed
below.  For additional features not yet supported, please also refer to the
:ref:`mimxrt1064_evk` , which is the superset board in NXP's i.MX RT10xx family.
NXP prioritizes enabling the superset board with NXP's Full Platform Support for
Zephyr.  Therefore, the mimxrt1064_evk board may have additional features
already supported, which can also be re-used on this mimxrt1050_evk board:

+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component                    |
+===========+============+=====================================+
| NVIC      | on-chip    | nested vector interrupt controller  |
+-----------+------------+-------------------------------------+
| SYSTICK   | on-chip    | systick                             |
+-----------+------------+-------------------------------------+
| DISPLAY   | on-chip    | eLCDIF. Tested with                 |
|           |            | :ref:`rk043fn02h_ct`, and           |
|           |            | :ref:`rk043fn66hs_ctg` shields      |
+-----------+------------+-------------------------------------+
| GPIO      | on-chip    | gpio                                |
+-----------+------------+-------------------------------------+
| I2C       | on-chip    | i2c                                 |
+-----------+------------+-------------------------------------+
| SDHC      | on-chip    | disk access                         |
+-----------+------------+-------------------------------------+
| SPI       | on-chip    | spi                                 |
+-----------+------------+-------------------------------------+
| UART      | on-chip    | serial port-polling;                |
|           |            | serial port-interrupt               |
+-----------+------------+-------------------------------------+
| ENET      | on-chip    | ethernet                            |
+-----------+------------+-------------------------------------+
| USB       | on-chip    | USB device                          |
+-----------+------------+-------------------------------------+
| ADC       | on-chip    | adc                                 |
+-----------+------------+-------------------------------------+
| GPT       | on-chip    | gpt                                 |
+-----------+------------+-------------------------------------+
| TRNG      | on-chip    | entropy                             |
+-----------+------------+-------------------------------------+
| FLEXSPI   | on-chip    | flash programming                   |
+-----------+------------+-------------------------------------+

The default configuration can be found in
:zephyr_file:`boards/nxp/mimxrt1050_evk/mimxrt1050_evk_defconfig`

Other hardware features are not currently supported by the port.

Connections and IOs
===================

The MIMXRT1050 SoC has five pairs of pinmux/gpio controllers.

+---------------+-----------------+---------------------------+
| Name          | Function        | Usage                     |
+===============+=================+===========================+
| GPIO_AD_B0_00 | LPSPI1_SCK      | SPI                       |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_01 | LPSPI1_SDO      | SPI                       |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_02 | LPSPI3_SDI/LCD_RST| SPI/LCD Display         |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_03 | LPSPI3_PCS0     | SPI                       |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_05 | GPIO            | SD Card                   |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_09 | GPIO/ENET_RST   | LED                       |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_10 | GPIO/ENET_INT   | GPIO/Ethernet             |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_11 | GPIO            | Touch Interrupt           |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_12 | LPUART1_TX      | UART Console              |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_13 | LPUART1_RX      | UART Console              |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_00 | LPI2C1_SCL      | I2C                       |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_01 | LPI2C1_SDA      | I2C                       |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_06 | LPUART3_TX      | UART BT HCI               |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_07 | LPUART3_RX      | UART BT HCI               |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_11 | ADC             | ADC1 channel 0            |
+---------------+-----------------+---------------------------+
| WAKEUP        | GPIO            | SW0                       |
+---------------+-----------------+---------------------------+
| GPIO_B0_00    | LCD_CLK         | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_01    | LCD_ENABLE      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_02    | LCD_HSYNC       | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_03    | LCD_VSYNC       | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_04    | LCD_DATA00      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_05    | LCD_DATA01      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_06    | LCD_DATA02      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_07    | LCD_DATA03      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_08    | LCD_DATA04      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_09    | LCD_DATA05      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_10    | LCD_DATA06      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_11    | LCD_DATA07      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_12    | LCD_DATA08      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_13    | LCD_DATA09      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_14    | LCD_DATA10      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B0_15    | LCD_DATA11      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B1_00    | LCD_DATA12      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B1_01    | LCD_DATA13      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B1_02    | LCD_DATA14      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B1_03    | LCD_DATA15      | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_B1_04    | ENET_RX_DATA00  | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_B1_05    | ENET_RX_DATA01  | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_B1_06    | ENET_RX_EN      | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_B1_07    | ENET_TX_DATA00  | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_B1_08    | ENET_TX_DATA01  | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_B1_09    | ENET_TX_EN      | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_B1_10    | ENET_REF_CLK    | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_B1_11    | ENET_RX_ER      | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_B1_12    | GPIO            | SD Card                   |
+---------------+-----------------+---------------------------+
| GPIO_B1_14    | USDHC1_VSELECT  | SD Card                   |
+---------------+-----------------+---------------------------+
| GPIO_B1_15    | BACKLIGHT_CTL   | LCD Display               |
+---------------+-----------------+---------------------------+
| GPIO_EMC_40   | ENET_MDC        | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_EMC_41   | ENET_MDIO       | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_09 | ENET_RST        | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_10 | ENET_INT        | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_SD_B0_00 | USDHC1_CMD/LPSPI1_SCK | SD Card/SPI         |
+---------------+-----------------+---------------------------+
| GPIO_SD_B0_01 | USDHC1_CLK/LPSPI1_PCS0 | SD Card/SPI        |
+---------------+-----------------+---------------------------+
| GPIO_SD_B0_02 | USDHC1_DATA0/LPSPI1_SDO | SD Card/SPI       |
+---------------+-----------------+---------------------------+
| GPIO_SD_B0_03 | USDHC1_DATA1/LPSPI1_SDI | SD Card/SPI       |
+---------------+-----------------+---------------------------+
| GPIO_SD_B0_04 | USDHC1_DATA2    | SD Card                   |
+---------------+-----------------+---------------------------+
| GPIO_SD_B0_05 | USDHC1_DATA3    | SD Card                   |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_02 | 1588_EVENT2_OUT | 1588                      |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_03 | 1588_EVENT2_IN  | 1588                      |
+---------------+-----------------+---------------------------+

.. note::
        In order to use the SPI peripheral on this board, resistors R278,
        R279, R280, and R281 must be populated with zero ohm resistors

System Clock
============

The MIMXRT1050 SoC is configured to use SysTick as the system clock source,
running at 600MHz.

When power management is enabled, the 32 KHz low frequency
oscillator on the board will be used as a source for the GPT timer to
generate a system clock. This clock enables lower power states, at the
cost of reduced resolution

Serial Port
===========

The MIMXRT1050 SoC has eight UARTs. ``LPUART1`` is configured for the console,
``LPUART3`` for the Bluetooth Host Controller Interface (BT HCI), and the
remaining are not used.

USB
===

The RT1050 SoC has two USB OTG (USBOTG) controllers that supports both
device and host functions through its micro USB connectors.
Only USB device function is supported in Zephyr at the moment.

Programming and Debugging
*************************

.. note::
   Newer revisions of this board use :ref:`lpc-link2-onboard-debug-probe`,
   while older revisions use the :ref:`opensda-onboard-debug-probe`.
   Schematic revisions A/A1 use the K20 OpenSDA probe, and B/B1 use the
   LPC-Link2 LPC4322 probe.

This board supports 3 debug host tools. Please install your preferred host
tool, then follow the instructions in `Configuring a Debug Probe
(Schematic A/A1)`_ or `Configuring a Debug Probe (Schematic B/B1)`_,
depending on board schematic revision to configure the board appropriately.

* :ref:`linkserver-debug-host-tools` (Default, NXP Supported)
* :ref:`jlink-debug-host-tools` (NXP Supported)
* :ref:`pyocd-debug-host-tools` (Not supported by NXP)

Once the host tool and board are configured, build and flash applications
as usual (see :ref:`build_an_application` and :ref:`application_run` for more
details).

Configuring a Debug Probe (Schematic A/A1)
==========================================

For the RT1050 Schematic Rev A, J32/J33 are the SWD isolation jumpers, SW4 is
the reset button, and J21 is the 20 pin JTAG/SWD header.

.. include:: ../../../../../../../boards/nxp/common/opensda-debug.rst
   :start-after: nxp-opensda-probes


Configuring a Debug Probe (Schematic B/B1)
==========================================

For the RT1050 Schematic Rev B, J47/J48 are the SWD isolation jumpers, J42 is
the DFU mode jumper, and J21 is the 20 pin JTAG/SWD header.

.. include:: ../../../../../../../boards/nxp/common/rt1xxx-lpclink2-debug.rst
   :start-after: rt1xxx-lpclink2-probes

Configuring a Console
=====================

Regardless of your choice in debug probe, we will use the OpenSDA
microcontroller as a usb-to-serial adapter for the serial console. Check that
jumpers J30 and J31 are **on** (they are on by default when boards ship from
the factory) to connect UART signals to the OpenSDA microcontroller.

Connect a USB cable from your PC to J28.

Use the following settings with your serial terminal of choice (minicom, putty,
etc.):

- Speed: 115200
- Data: 8 bits
- Parity: None
- Stop bits: 1

Flashing
========

Here is an example for the :ref:`hello_world` application.

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: mimxrt1050_evk
   :goals: flash

Open a serial terminal, reset the board (press the SW4 button), and you should
see the following message in the terminal:

.. code-block:: console

   ***** Booting Zephyr OS v1.14.0-rc1 *****
   Hello World! mimxrt1050_evk

Debugging
=========

Here is an example for the :ref:`hello_world` application.

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: mimxrt1050_evk
   :goals: debug

Open a serial terminal, step through the application in your debugger, and you
should see the following message in the terminal:

.. code-block:: console

   ***** Booting Zephyr OS v1.14.0-rc1 *****
   Hello World! mimxrt1050_evk

Troubleshooting
===============

If the debug probe fails to connect with the following error, it's possible
that the boot header in HyperFlash is invalid or corrupted. The boot header is
configured by :kconfig:option:`CONFIG_NXP_IMXRT_BOOT_HEADER`.

.. code-block:: console

   Remote debugging using :2331
   Remote communication error.  Target disconnected.: Connection reset by peer.
   "monitor" command not supported by this target.
   "monitor" command not supported by this target.
   You can't do that when your target is `exec'
   (gdb) Could not connect to target.
   Please check power, connection and settings.

You can fix it by erasing and reprogramming the HyperFlash with the following
steps:

#. Set the SW7 DIP switches to ON-ON-ON-OFF to prevent booting from HyperFlash.

#. Reset by pressing SW4

#. Run ``west debug`` or ``west flash`` again with a known working Zephyr
   application.

#. Set the SW7 DIP switches to OFF-ON-ON-OFF to boot from HyperFlash.

#. Reset by pressing SW4

Board Revisions
***************

The original MIMXRT1050-EVK (rev A0) board was updated with a newer
MIMXRT1050-EVKB (rev A1) board, with these major hardware differences:

- SoC changed from MIMXRT1052DVL6\ **A** to MIMXRT1052DVL6\ **B**
- Hardware bug fixes for: power, interfaces, and memory
- Arduino headers included

For more details, please see the following `NXP i.MXRT1050 A0 to A1 Migration Guide`_.

Current Zephyr build supports the new MIMXRT1050-EVKB

.. _MIMXRT1050-EVK Website:
   https://www.nxp.com/products/microcontrollers-and-processors/arm-based-processors-and-mcus/i.mx-applications-processors/i.mx-rt-series/i.mx-rt1050-evaluation-kit:MIMXRT1050-EVK

.. _MIMXRT1050-EVK User Guide:
   https://www.nxp.com/webapp/Download?colCode=IMXRT1050EVKBHUG

.. _MIMXRT1050-EVK Schematics:
   https://www.nxp.com/webapp/Download?colCode=MIMXRT1050-EVK-DESIGNFILES

.. _i.MX RT1050 Website:
   https://www.nxp.com/products/microcontrollers-and-processors/arm-based-processors-and-mcus/i.mx-applications-processors/i.mx-rt-series/i.mx-rt1050-crossover-processor-with-arm-cortex-m7-core:i.MX-RT1050

.. _i.MX RT1050 Datasheet:
   https://www.nxp.com/docs/en/data-sheet/IMXRT1050CEC.pdf

.. _i.MX RT1050 Reference Manual:
   https://www.nxp.com/docs/en/reference-manual/IMXRT1050RM.pdf

.. _OpenSDA J-Link MIMXRT1050-EVK-Hyperflash Firmware:
   https://www.segger.com/downloads/jlink/OpenSDA_MIMXRT1050-EVK-Hyperflash

.. _NXP i.MXRT1050 A0 to A1 Migration Guide:
   https://www.nxp.com/docs/en/nxp/application-notes/AN12146.pdf

.. _Enable QSPI flash support in SEGGER JLink:
   https://wiki.segger.com/i.MXRT1050#QSPI_flash

Part 3

한국어 전문 번역

개요

i.MX RT1050은 NXP의 고급 Arm Cortex-M7 구현을 채택한 processor 제품군으로 높은 CPU 성능과 실시간 응답성을 제공합니다.

SDRAM, raw NAND flash, NOR flash, SD/eMMC, Quad SPI, HyperBus 등 다양한 memory interface와 WLAN, Bluetooth, GPS, display, camera sensor용 peripheral interface를 제공합니다. LCD display, 기본 2D graphics, camera interface, SPDIF와 I2S audio interface 같은 audio/video 기능도 포함합니다.

NXP MIMXRT1050-EVK 보드
NXP MIMXRT1050-EVK. 이미지 출처: NXP, Zephyr v3.7.0 공식 문서.

하드웨어

  • MIMXRT1052DVL6A MCU: 600 MHz, 512 KB TCM
  • 메모리: 원문 표기의 256 KB SDRAM, 64 Mbit QSPI Flash, 512 Mbit HyperFlash
  • LCD·touch connector와 10/100 Mbit/s Ethernet PHY
  • USB 2.0 OTG와 host connector
  • 3.5 mm stereo headphone, board microphone, 좌·우 speaker output
  • 5 V DC jack, JTAG 20-pin, DAPLink OpenSDA
  • FXOS8700CQ 6-axis e-compass와 CMOS camera sensor interface
  • Arduino expansion과 CAN bus connector

외부 메모리

장치컨트롤러상태
IS42S16160JSEMC부팅 시 SEMC를 설정하는 device configuration data block으로 활성화
S26KS512SDPBHI020FLEXSPI부팅 시 FLEXSPI를 설정하는 flash configuration block으로 활성화

지원 기능

mimxrt1050_evk 구성은 다음 기능을 지원합니다. 추가 기능은 NXP i.MX RT10xx 상위 집합 보드 mimxrt1064_evk에 우선 적용된 Full Platform Support를 참고해 재사용할 수 있습니다.

인터페이스컨트롤러드라이버/컴포넌트
NVICon-chipnested vector interrupt controller
SYSTICKon-chipsystick
DISPLAYon-chipeLCDIF; rk043fn02h_ct와 rk043fn66hs_ctg shield에서 시험
GPIOon-chipgpio
I2Con-chipi2c
SDHCon-chipdisk access
SPIon-chipspi
UARTon-chipserial port-polling; serial port-interrupt
ENETon-chipethernet
USBon-chipUSB device
ADCon-chipadc
GPTon-chipgpt
TRNGon-chipentropy
FLEXSPIon-chipflash programming

기본 구성은 boards/nxp/mimxrt1050_evk/mimxrt1050_evk_defconfig에 있으며, 표 밖의 하드웨어 기능은 현재 port에서 지원하지 않습니다.

연결과 I/O

SoC에는 pinmux/GPIO controller 쌍이 5개 있습니다. LCD 16-bit data bus, RMII Ethernet, USDHC/SPI 공유 핀, IEEE 1588 event 핀까지 원문 59행을 보존합니다.

이름기능용도
GPIO_AD_B0_00LPSPI1_SCKSPI
GPIO_AD_B0_01LPSPI1_SDOSPI
GPIO_AD_B0_02LPSPI3_SDI/LCD_RSTSPI/LCD Display
GPIO_AD_B0_03LPSPI3_PCS0SPI
GPIO_AD_B0_05GPIOSD Card
GPIO_AD_B0_09GPIO/ENET_RSTLED
GPIO_AD_B0_10GPIO/ENET_INTGPIO/Ethernet
GPIO_AD_B0_11GPIOTouch Interrupt
GPIO_AD_B0_12LPUART1_TXUART Console
GPIO_AD_B0_13LPUART1_RXUART Console
GPIO_AD_B1_00LPI2C1_SCLI2C
GPIO_AD_B1_01LPI2C1_SDAI2C
GPIO_AD_B1_06LPUART3_TXUART BT HCI
GPIO_AD_B1_07LPUART3_RXUART BT HCI
GPIO_AD_B1_11ADCADC1 channel 0
WAKEUPGPIOSW0
GPIO_B0_00LCD_CLKLCD Display
GPIO_B0_01LCD_ENABLELCD Display
GPIO_B0_02LCD_HSYNCLCD Display
GPIO_B0_03LCD_VSYNCLCD Display
GPIO_B0_04LCD_DATA00LCD Display
GPIO_B0_05LCD_DATA01LCD Display
GPIO_B0_06LCD_DATA02LCD Display
GPIO_B0_07LCD_DATA03LCD Display
GPIO_B0_08LCD_DATA04LCD Display
GPIO_B0_09LCD_DATA05LCD Display
GPIO_B0_10LCD_DATA06LCD Display
GPIO_B0_11LCD_DATA07LCD Display
GPIO_B0_12LCD_DATA08LCD Display
GPIO_B0_13LCD_DATA09LCD Display
GPIO_B0_14LCD_DATA10LCD Display
GPIO_B0_15LCD_DATA11LCD Display
GPIO_B1_00LCD_DATA12LCD Display
GPIO_B1_01LCD_DATA13LCD Display
GPIO_B1_02LCD_DATA14LCD Display
GPIO_B1_03LCD_DATA15LCD Display
GPIO_B1_04ENET_RX_DATA00Ethernet
GPIO_B1_05ENET_RX_DATA01Ethernet
GPIO_B1_06ENET_RX_ENEthernet
GPIO_B1_07ENET_TX_DATA00Ethernet
GPIO_B1_08ENET_TX_DATA01Ethernet
GPIO_B1_09ENET_TX_ENEthernet
GPIO_B1_10ENET_REF_CLKEthernet
GPIO_B1_11ENET_RX_EREthernet
GPIO_B1_12GPIOSD Card
GPIO_B1_14USDHC1_VSELECTSD Card
GPIO_B1_15BACKLIGHT_CTLLCD Display
GPIO_EMC_40ENET_MDCEthernet
GPIO_EMC_41ENET_MDIOEthernet
GPIO_AD_B0_09ENET_RSTEthernet
GPIO_AD_B0_10ENET_INTEthernet
GPIO_SD_B0_00USDHC1_CMD/LPSPI1_SCKSD Card/SPI
GPIO_SD_B0_01USDHC1_CLK/LPSPI1_PCS0SD Card/SPI
GPIO_SD_B0_02USDHC1_DATA0/LPSPI1_SDOSD Card/SPI
GPIO_SD_B0_03USDHC1_DATA1/LPSPI1_SDISD Card/SPI
GPIO_SD_B0_04USDHC1_DATA2SD Card
GPIO_SD_B0_05USDHC1_DATA3SD Card
GPIO_AD_B1_021588_EVENT2_OUT1588
GPIO_AD_B1_031588_EVENT2_IN1588

SPI 사용 조건: R278, R279, R280, R281에 0 Ω resistor를 실장해야 합니다.

시스템 클록과 직렬 포트

SysTick은 600 MHz 시스템 클록 소스로 동작합니다. 전원 관리 시 32 KHz oscillator를 GPT timer source로 사용해 해상도를 낮추는 대신 저전력 상태를 지원합니다. UART 8개 중 LPUART1은 console, LPUART3은 Bluetooth Host Controller Interface(BT HCI)로 구성합니다.

USB

RT1050에는 micro USB connector를 통해 device와 host 기능을 모두 제공할 수 있는 USB OTG controller 2개가 있습니다. 그러나 현재 Zephyr에서는 USB device 기능만 지원합니다.

프로그래밍과 디버깅

신형 보드 revision은 LPC-Link2 on-board probe를, 구형은 OpenSDA probe를 사용합니다. Schematic A/A1은 K20 OpenSDA, B/B1은 LPC-Link2 LPC4322입니다. Host tool은 기본·NXP 지원 LinkServer, NXP 지원 J-Link, NXP 미지원 pyOCD의 3종입니다.

Schematic A/A1: K20 OpenSDA

J32/J33은 SWD isolation jumper, SW4는 reset, J21은 20-pin JTAG/SWD header입니다. 전체 공통 절차는 NXP OpenSDA Debug Probe 설정에 보존되어 있습니다.

  • DAPLink를 쓸 때 기본 firmware를 복구하고 J32/J33을 장착합니다.
  • 온보드 J-Link 또는 외부 J-Link를 쓸 때 isolation jumper를 제거하고, 외부 probe는 J21에 연결합니다.

Schematic B/B1: LPC-Link2

J47/J48은 SWD isolation jumper, J42는 DFU jumper, J21은 20-pin JTAG/SWD header입니다. 전체 절차는 NXP RT1xxx LPC-Link2 Debug Probe 설정에 보존되어 있습니다.

  • CMSIS-DAP 또는 온보드 J-Link에서는 J47/J48을 장착합니다.
  • 온보드 J-Link firmware는 debug USB로 EVK 전원을 공급하지 않으므로 별도 전원을 사용합니다.
  • 외부 J-Link에서는 J47/J48을 제거하고 J21에 연결합니다.

콘솔

Probe 종류와 관계없이 OpenSDA microcontroller를 USB-to-serial adapter로 사용합니다. J30/J31이 장착되어 있는지 확인하고 PC를 J28에 연결합니다. Terminal은 115200 baud, 8 bits, parity None, stop bit 1입니다.

플래시

# Zephyr 저장소 루트에서
west build -b mimxrt1050_evk samples/hello_world
west flash

SW4로 reset하면 다음 메시지가 표시됩니다.

***** Booting Zephyr OS v1.14.0-rc1 *****
Hello World! mimxrt1050_evk

디버깅

# Zephyr 저장소 루트에서
west build -b mimxrt1050_evk samples/hello_world
west debug

Debugger에서 단계 실행하면 다음 메시지가 표시됩니다.

***** Booting Zephyr OS v1.14.0-rc1 *****
Hello World! mimxrt1050_evk

문제 해결

HyperFlash의 boot header가 잘못되거나 손상되고 CONFIG_NXP_IMXRT_BOOT_HEADER 구성이 맞지 않으면 다음 연결 오류가 발생할 수 있습니다.

Remote debugging using :2331
Remote communication error.  Target disconnected.: Connection reset by peer.
"monitor" command not supported by this target.
"monitor" command not supported by this target.
You can't do that when your target is `exec'
(gdb) Could not connect to target.
Please check power, connection and settings.
  1. SW7 DIP switch를 ON-ON-ON-OFF로 설정해 HyperFlash boot를 막습니다.
  2. SW4를 눌러 reset합니다.
  3. 검증된 Zephyr application으로 west debug 또는 west flash를 다시 실행해 HyperFlash를 지우고 program합니다.
  4. SW7을 OFF-ON-ON-OFF로 설정해 HyperFlash boot를 선택합니다.
  5. SW4를 눌러 reset합니다.

보드 리비전

기존 MIMXRT1050-EVK rev A0는 신형 MIMXRT1050-EVKB rev A1으로 갱신되었습니다.

  • SoC: MIMXRT1052DVL6A에서 MIMXRT1052DVL6B로 변경
  • 전원·interface·memory hardware bug 수정
  • Arduino header 추가

현재 Zephyr build는 신형 MIMXRT1050-EVKB를 지원합니다. 자세한 변경은 A0→A1 Migration Guide를 참고하십시오.

참고 자료

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.