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

Zephyr 3.7.0 · Boards · NXP · i.MX RT1024

NXP MIMXRT1024-EVK

Cortex-M7, 내장 QSPI와 SDRAM, Ethernet·CAN·USB·audio·6축 센서를 결합한 i.MX RT crossover 평가 보드입니다.

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

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

Part 1

요약·해설

MCU 사양과 Zephyr 클록 구분, SEMC SDRAM, 지원 장치 16종과 24개 핀, Ethernet/SPI·ADC/PWM 공유 핀, J-Link·pyOCD 흐름을 설명합니다.

MCU

Cortex-M7 · 600 MHz 사양

Zephyr clock

SysTick · 500 MHz

Memory

256 Mbit SDRAM · 4096 KB QSPI

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 C2E8AD31007793BD13B91E8767E7F2BD34248CF092F3943729132F4D620E695C
.. _mimxrt1024_evk:

NXP MIMXRT1024-EVK
##################

Overview
********

The i.MX RT1024 expands the i.MX RT crossover processor families by providing
high-performance feature set in low-cost LQFP packages, further simplifying
board design and layout for customers. The i.MX RT1024 runs on the Arm®
Cortex®-M7 core at 500 MHz.

.. image:: ../../../../../../../boards/nxp/mimxrt1024_evk/doc/mimxrt1024_evk.jpg
   :align: center
   :alt: MIMXRT1024-EVK

Hardware
********

- MIMXRT1024DAG5A MCU (600 MHz, 256 KB on-chip memory, 4096KB on-chip QSPI
  flash)

- Memory

  - 256 Mbit SDRAM
  - 32 Mbit QSPI Flash
  - TF socket for SD card

- Connectivity

  - 10/100 Mbit/s Ethernet PHY
  - Micro USB host and OTG connectors
  - CAN transceivers
  - Arduino interface

- Audio

  - Audio Codec
  - 4-pole audio headphone jack
  - Microphone
  - External speaker connection

- Power

  - 5 V DC jack

- Debug

  - JTAG 10-pin connector
  - OpenSDA with DAPLink

- Sensor

  - 6-axis FXOS8700CQ digital accelerometer and magnetometer

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

- `i.MX RT1024 Website`_
- `i.MX RT1024 Datasheet`_
- `i.MX RT1024 Reference Manual`_
- `MIMXRT1024-EVK Website`_
- `MIMXRT1024-EVK User Guide`_
- `MIMXRT1024-EVK Design Files`_

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

This platform has the following external memories:

+----------------+------------+-------------------------------------+
| Device         | Controller | Status                              |
+================+============+=====================================+
| MT48LC16M16A2P | SEMC       | Enabled via device configuration    |
|                |            | data block, which sets up SEMC at   |
|                |            | boot time                           |
+----------------+------------+-------------------------------------+

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

The mimxrt1024_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 mimxrt1024_evk board:

+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component                    |
+===========+============+=====================================+
| NVIC      | on-chip    | nested vector interrupt controller  |
+-----------+------------+-------------------------------------+
| SYSTICK   | on-chip    | systick                             |
+-----------+------------+-------------------------------------+
| FLASH     | on-chip    | QSPI flash                          |
+-----------+------------+-------------------------------------+
| GPIO      | on-chip    | gpio                                |
+-----------+------------+-------------------------------------+
| UART      | on-chip    | serial port-polling;                |
|           |            | serial port-interrupt               |
+-----------+------------+-------------------------------------+
| SPI       | on-chip    | spi                                 |
+-----------+------------+-------------------------------------+
| ENET      | on-chip    | ethernet                            |
+-----------+------------+-------------------------------------+
| CAN       | on-chip    | can                                 |
+-----------+------------+-------------------------------------+
| WATCHDOG  | on-chip    | watchdog                            |
+-----------+------------+-------------------------------------+
| HWINFO    | on-chip    | reset cause                         |
+-----------+------------+-------------------------------------+
| DMA       | on-chip    | dma                                 |
+-----------+------------+-------------------------------------+
| ADC       | on-chip    | adc                                 |
+-----------+------------+-------------------------------------+
| GPT       | on-chip    | gpt                                 |
+-----------+------------+-------------------------------------+
| USB       | on-chip    | USB                                 |
+-----------+------------+-------------------------------------+
| TRNG      | on-chip    | entropy                             |
+-----------+------------+-------------------------------------+
| FLEXSPI   | on-chip    | flash programming                   |
+-----------+------------+-------------------------------------+

The default configuration can be found in
:zephyr_file:`boards/nxp/mimxrt1024_evk/mimxrt1024_evk_defconfig`

Other hardware features are not currently supported by the port.

Connections and I/Os
====================

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

+---------------+-----------------+---------------------------+
| Name          | Function        | Usage                     |
+===============+=================+===========================+
| GPIO_AD_B1_08 | GPIO            | LED                       |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_06 | LPUART1_TX      | UART Console              |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_07 | LPUART1_RX      | UART Console              |
+---------------+-----------------+---------------------------+
| WAKEUP        | GPIO            | SW4                       |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_04 | ENET_RST        | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_08 | ENET_REF_CLK    | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_09 | ENET_RX_DATA01  | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_10 | ENET_RX_DATA00/LPSPI1_SCK | Ethernet/SPI    |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_11 | ENET_RX_EN/LPSPI1_PCS0 | Ethernet/SPI       |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_12 | ENET_RX_ER/LPSPI1_SDO | Ethernet/SPI        |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_13 | ENET_TX_EN/LPSPI1_SDI | Ethernet/SPI        |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_14 | ENET_TX_DATA00  | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_15 | ENET_TX_DATA01  | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_06 | ENET_INT        | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_EMC_41   | ENET_MDC        | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_EMC_40   | ENET_MDIO       | Ethernet                  |
+---------------+-----------------+---------------------------+
| GPIO_SD_B1_00 | FLEXCAN1_TX     | CAN TX                    |
+---------------+-----------------+---------------------------+
| GPIO_SD_B1_01 | FLEXCAN1_RX     | CAN RX                    |
+---------------+-----------------+---------------------------+
| GPIO_SD_B1_02 | LPI2C4_SCL      | I2C SCL                   |
+---------------+-----------------+---------------------------+
| GPIO_SD_B1_03 | LPI2C4_SDA      | I2C SDA                   |
+---------------+-----------------+---------------------------+
| GPIO_SD_B1_05 | DQS             | QSPI flash                |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_11 | ADC1            | ADC1 Channel 11           |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_10 | ADC1            | ADC1 Channel 10           |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_10 | FLEXPWM1        | FLEXPWM1 Channel A2       |
+---------------+-----------------+---------------------------+

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

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

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 MIMXRT1024 SoC has eight UARTs. One is configured for the console and the
remaining are not used.

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

This board supports 2 debug host tools. Please install your preferred host
tool, then follow the instructions in `Configuring a Debug Probe`_ to
configure the board appropriately.

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

Configuring a Debug Probe
=========================

For the RT1024, J47/J48 are the SWD isolation jumpers, J42 is the DFU
mode jumper, and J55 is the 10 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 J50 and J46 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 J23.

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: mimxrt1024_evk
   :goals: flash

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

.. code-block:: console

   ***** Booting Zephyr OS v2.4.0-rc1 *****
   Hello World! mimxrt1024_evk

Debugging
=========

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

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: mimxrt1024_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 v2.4.0-rc1 *****
   Hello World! mimxrt1024_evk

.. _MIMXRT1024-EVK Website:
   https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/i-mx-rt1024-evaluation-kit:MIMXRT1024-EVK

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

.. _MIMXRT1024-EVK Design Files:
   https://www.nxp.com/webapp/Download?colCode=MIMXRT1024-EVK-Design-Files

.. _i.MX RT1024 Website:
   https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/i-mx-rt-crossover-mcus/i-mx-rt1024-crossover-processor-with-arm-cortex-m7-core:i.MX-RT1024

.. _i.MX RT1024 Datasheet:
   https://www.nxp.com.cn/docs/en/data-sheet/IMXRT1024CEC.pdf

.. _i.MX RT1024 Reference Manual:
   https://www.nxp.com/webapp/Download?colCode=IMXRT1024RM

Part 3

한국어 전문 번역

개요

i.MX RT1024는 저비용 LQFP package에 고성능 기능 집합을 제공해 i.MX RT crossover processor 제품군을 확장하고 보드 설계와 layout을 단순화합니다. i.MX RT1024는 500 MHz Arm Cortex-M7 core에서 동작합니다.

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

하드웨어

  • MIMXRT1024DAG5A MCU: 600 MHz, 256 KB on-chip memory, 4096 KB on-chip QSPI flash
  • 메모리: 256 Mbit SDRAM, 32 Mbit QSPI Flash, SD card용 TF socket
  • 연결: 10/100 Mbit/s Ethernet PHY, Micro USB host·OTG, CAN transceiver, Arduino interface
  • 오디오: Audio Codec, 4-pole headphone jack, microphone, 외부 speaker 연결
  • 전원: 5 V DC jack
  • 디버그: JTAG 10-pin connector, DAPLink가 탑재된 OpenSDA
  • 센서: 6-axis FXOS8700CQ digital accelerometer and magnetometer

하드웨어 목록의 600 MHz는 MCU 사양 표기이고, 아래 Zephyr 시스템 클록 절에서는 보드 구성이 SysTick을 500 MHz로 운용한다고 명시합니다.

외부 메모리

이 플랫폼의 외부 SDRAM은 부팅 시 SEMC 초기화 데이터로 활성화됩니다.

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

지원 기능

mimxrt1024_evk 구성은 다음 기능을 지원합니다. 그 밖의 기능은 NXP i.MX RT10xx 계열의 상위 집합 보드 mimxrt1064_evk도 참고하십시오. NXP가 Zephyr Full Platform Support를 상위 집합 보드에 우선 활성화하므로 그곳의 지원 기능을 RT1024에서 재사용할 수 있습니다.

인터페이스컨트롤러드라이버/컴포넌트
NVICon-chipnested vector interrupt controller
SYSTICKon-chipsystick
FLASHon-chipQSPI flash
GPIOon-chipgpio
UARTon-chipserial port-polling; serial port-interrupt
SPIon-chipspi
ENETon-chipethernet
CANon-chipcan
WATCHDOGon-chipwatchdog
HWINFOon-chipreset cause
DMAon-chipdma
ADCon-chipadc
GPTon-chipgpt
USBon-chipUSB
TRNGon-chipentropy
FLEXSPIon-chipflash programming

기본 구성은 boards/nxp/mimxrt1024_evk/mimxrt1024_evk_defconfig에 있습니다. 표 밖의 하드웨어 기능은 현재 이 port에서 지원하지 않습니다.

연결과 I/O

MIMXRT1024 SoC에는 pinmux/GPIO controller 쌍이 5개 있습니다. Ethernet/SPI와 ADC/PWM처럼 같은 pin을 공유하는 항목은 선택한 pinmux 기능에 맞게 사용해야 합니다.

이름기능용도
GPIO_AD_B1_08GPIOLED
GPIO_AD_B0_06LPUART1_TXUART Console
GPIO_AD_B0_07LPUART1_RXUART Console
WAKEUPGPIOSW4
GPIO_AD_B0_04ENET_RSTEthernet
GPIO_AD_B0_08ENET_REF_CLKEthernet
GPIO_AD_B0_09ENET_RX_DATA01Ethernet
GPIO_AD_B0_10ENET_RX_DATA00/LPSPI1_SCKEthernet/SPI
GPIO_AD_B0_11ENET_RX_EN/LPSPI1_PCS0Ethernet/SPI
GPIO_AD_B0_12ENET_RX_ER/LPSPI1_SDOEthernet/SPI
GPIO_AD_B0_13ENET_TX_EN/LPSPI1_SDIEthernet/SPI
GPIO_AD_B0_14ENET_TX_DATA00Ethernet
GPIO_AD_B0_15ENET_TX_DATA01Ethernet
GPIO_AD_B1_06ENET_INTEthernet
GPIO_EMC_41ENET_MDCEthernet
GPIO_EMC_40ENET_MDIOEthernet
GPIO_SD_B1_00FLEXCAN1_TXCAN TX
GPIO_SD_B1_01FLEXCAN1_RXCAN RX
GPIO_SD_B1_02LPI2C4_SCLI2C SCL
GPIO_SD_B1_03LPI2C4_SDAI2C SDA
GPIO_SD_B1_05DQSQSPI flash
GPIO_AD_B1_11ADC1ADC1 Channel 11
GPIO_AD_B1_10ADC1ADC1 Channel 10
GPIO_AD_B1_10FLEXPWM1FLEXPWM1 Channel A2

시스템 클록

Zephyr의 MIMXRT1024 SoC 구성은 500 MHz SysTick을 시스템 클록 소스로 사용합니다. 전원 관리가 활성화되면 32 KHz 저주파 oscillator를 GPT timer의 소스로 사용해 시스템 클록을 생성하며, 해상도가 낮아지는 대신 저전력 상태를 지원합니다.

직렬 포트

UART 8개 중 하나를 console로 구성하고 나머지는 사용하지 않습니다. 핀 표에서는 console TX/RX가 LPUART1_TX와 LPUART1_RX에 연결됩니다.

프로그래밍과 디버깅

이 문서가 선언하는 debug host tool은 기본·NXP 지원 J-Link와 NXP가 지원하지 않는 pyOCD의 2종입니다.

디버그 프로브 구성

RT1024에서 J47/J48은 SWD isolation jumper, J42는 DFU mode jumper, J55는 10-pin JTAG/SWD header입니다. LPC-Link2 on-board probe의 기본 firmware는 DAPLink입니다. 공통 firmware·jumper 절차는 NXP RT1xxx LPC-Link2 Debug Probe 설정에도 보존되어 있습니다.

CMSIS-DAP

pyOCD와 CMSIS-DAP을 사용할 때 기본 probe firmware를 CMSIS-DAP 안내에 따라 program하고 J47/J48을 장착합니다.

J-Link

온보드 probe를 SEGGER J-Link firmware로 바꿀 때는 debug USB가 EVK에 전원을 공급하지 않으므로 별도 전원을 선택하고 J47/J48을 장착합니다. 외부 J-Link를 쓸 때는 이 jumper를 제거하고 J55에 연결합니다.

콘솔 구성

Probe 선택과 관계없이 OpenSDA를 USB-to-serial adapter로 사용합니다. UART 연결용 J50과 J46이 장착되어 있는지 확인하고 PC를 J23에 USB로 연결합니다. Terminal은 115200 baud, data 8 bits, parity None, stop bit 1로 설정합니다.

플래시

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

SW9 버튼으로 reset하면 다음 메시지가 표시됩니다.

***** Booting Zephyr OS v2.4.0-rc1 *****
Hello World! mimxrt1024_evk

디버깅

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

Debugger에서 애플리케이션을 단계 실행하면 terminal에 다음 메시지가 표시됩니다.

***** Booting Zephyr OS v2.4.0-rc1 *****
Hello World! mimxrt1024_evk

참고 자료

Source

출처

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