Part 1
요약·해설
SEMC·FLEXSPI 부팅, 지원 장치 14종과 32개 핀, Ethernet/SPI 공유 핀, BT HCI UART, 3종 probe와 flash·debug 흐름을 설명합니다.
Cortex-M7 · 500 MHz
256 Mbit SDRAM · 64 Mbit QSPI
Ethernet · SDHC · BT HCI
Part 2
접을 수 있는 영어 원문 전체
영어 원문 전체 펼치기
75C22FF1DEB377B0CFE5A9080000BC44BB8C9B817C8697B9721EDDA01C44DF58
.. _mimxrt1020_evk:
NXP MIMXRT1020-EVK
##################
Overview
********
The i.MX RT1020 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 RT1020 runs on the Arm®
Cortex®-M7 core at 500 MHz.
.. image:: ../../../../../../../boards/nxp/mimxrt1020_evk/doc/mimxrt1020_evk.jpg
:align: center
:alt: MIMXRT1020-EVK
Hardware
********
- MIMXRT1021DAG5A MCU
- Memory
- 256 Mbit SDRAM
- 64 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 20-pin connector
- OpenSDA with DAPLink
For more information about the MIMXRT1020 SoC and MIMXRT1020-EVK board, see
these references:
- `i.MX RT1020 Website`_
- `i.MX RT1020 Datasheet`_
- `i.MX RT1020 Reference Manual`_
- `MIMXRT1020-EVK Website`_
- `MIMXRT1020-EVK User Guide`_
- `MIMXRT1020-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 |
+----------------+------------+-------------------------------------+
| IS25LP064A | FLEXSPI | Enabled via flash configurationn |
| | | block, which sets up FLEXSPI at |
| | | boot time |
+----------------+------------+-------------------------------------+
Supported Features
==================
The mimxrt1020_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 mimxrt1020_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 |
+-----------+------------+-------------------------------------+
| SPI | on-chip | spi |
+-----------+------------+-------------------------------------+
| I2C | on-chip | i2c |
+-----------+------------+-------------------------------------+
| SDHC | on-chip | disk access |
+-----------+------------+-------------------------------------+
| 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/mimxrt1020_evk/mimxrt1020_evk_defconfig`
Other hardware features are not currently supported by the port.
Connections and I/Os
====================
The MIMXRT1020 SoC has five pairs of pinmux/gpio controllers.
+---------------+-----------------+---------------------------+
| Name | Function | Usage |
+===============+=================+===========================+
| GPIO_AD_B0_05 | GPIO | LED |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_06 | LPUART1_TX | UART Console |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_07 | LPUART1_RX | UART Console |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_08 | LPUART2_TX | UART BT HCI |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_09 | LPUART2_RX | UART BT HCI |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_14 | LPI2C1_SCL | I2C |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_15 | LPI2C1_SDA | I2C |
+---------------+-----------------+---------------------------+
| GPIO_SD_B1_02 | LPI2C4_SCL | I2C |
+---------------+-----------------+---------------------------+
| GPIO_SD_B1_03 | LPI2C4_SDA | I2C |
+---------------+-----------------+---------------------------+
| WAKEUP | GPIO | SW0 |
+---------------+-----------------+---------------------------+
| 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_AD_B1_07 | USDHC1_VSELECT | SD Card |
+---------------+-----------------+---------------------------+
| GPIO_SD_B0_02 | USDHC1_CMD | SD Card |
+---------------+-----------------+---------------------------+
| GPIO_SD_B0_03 | USDHC1_CLK | SD Card |
+---------------+-----------------+---------------------------+
| GPIO_SD_B0_04 | USDHC1_DATA0 | SD Card |
+---------------+-----------------+---------------------------+
| GPIO_SD_B0_05 | USDHC1_DATA1 | SD Card |
+---------------+-----------------+---------------------------+
| GPIO_SD_B0_00 | USDHC1_DATA2 | SD Card |
+---------------+-----------------+---------------------------+
| GPIO_SD_B0_01 | USDHC1_DATA3 | SD Card |
+---------------+-----------------+---------------------------+
| GPIO_SD_B0_06 | USDHC1_CD_B | SD Card |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_10 | ADC | ADC1 Channel 10 |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_11 | ADC | ADC1 Channel 11 |
+---------------+-----------------+---------------------------+
System Clock
============
The MIMXRT1020 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 MIMXRT1020 SoC has eight UARTs. ``LPUART1`` is configured for the console,
``LPUART2`` for the Bluetooth Host Controller Interface (BT HCI), and the
remaining are not used.
Programming and Debugging
*************************
This board supports 3 debug host tools. Please install your preferred host
tool, then follow the instructions in `Configuring a Debug Probe`_ to
configure the board appropriately.
* :ref:`linkserver-debug-host-tools` (Default, Supported by NXP)
* :ref:`jlink-debug-host-tools` (Supported by NXP)
* :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
=========================
For the RT1020, J47/J48 are the SWD isolation jumpers, J42 is the DFU
mode jumper, and J16 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 J25 and J26 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: mimxrt1020_evk
:goals: flash
Open a serial terminal, reset the board (press the SW5 button), and you should
see the following message in the terminal:
.. code-block:: console
***** Booting Zephyr OS v1.14.0-rc1 *****
Hello World! mimxrt1020_evk
Debugging
=========
Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: mimxrt1020_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! mimxrt1020_evk
.. _MIMXRT1020-EVK Website:
https://www.nxp.com/support/developer-resources/run-time-software/i.mx-developer-resources/i.mx-rt1020-evaluation-kit:MIMXRT1020-EVK
.. _MIMXRT1020-EVK User Guide:
https://www.nxp.com/webapp/Download?colCode=MIMXRT1020EVKHUG
.. _MIMXRT1020-EVK Design Files:
https://www.nxp.com/webapp/Download?colCode=MIMXRT1020-EVK-Design-Files
.. _i.MX RT1020 Website:
https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/i.mx-applications-processors/i.mx-rt-series/i.mx-rt1020-crossover-processor-with-arm-cortex-m7-core:i.MX-RT1020
.. _i.MX RT1020 Datasheet:
https://www.nxp.com/docs/en/data-sheet/IMXRT1020CEC.pdf
.. _i.MX RT1020 Reference Manual:
https://www.nxp.com/webapp/Download?colCode=IMXRT1020RM
.. _OpenSDA J-Link MIMXRT1020-EVK Firmware:
https://www.segger.com/downloads/jlink/OpenSDA_MIMXRT1020-EVK
Part 3
한국어 전문 번역
개요
i.MX RT1020은 저비용 LQFP package에 고성능 기능 집합을 제공해 i.MX RT crossover processor 제품군을 확장합니다. 고객의 보드 설계와 layout도 한층 단순해집니다. i.MX RT1020은 500 MHz Arm Cortex-M7 core에서 동작합니다.

하드웨어
MIMXRT1021DAG5AMCU- 메모리: 256 Mbit SDRAM, 64 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 20-pin connector, DAPLink가 탑재된 OpenSDA
MIMXRT1020 SoC와 EVK의 자세한 정보는 아래 웹사이트, 데이터시트, Reference Manual, User Guide와 설계 파일을 참고하십시오.
외부 메모리
SDRAM은 SEMC 초기화 데이터로, QSPI flash는 FLEXSPI configuration block으로 부팅 시 활성화됩니다.
| 장치 | 컨트롤러 | 상태 |
|---|---|---|
MT48LC16M16A2P | SEMC | 부팅 시 SEMC를 설정하는 device configuration data block으로 활성화 |
IS25LP064A | FLEXSPI | 부팅 시 FLEXSPI를 설정하는 flash configuration block으로 활성화 |
지원 기능
mimxrt1020_evk 구성은 아래 기능을 지원합니다. 아직 지원되지 않은 추가 기능은 NXP i.MX RT10xx 계열의 상위 집합 보드 mimxrt1064_evk도 참고하십시오. NXP는 Zephyr Full Platform Support를 이 상위 집합 보드에 우선 활성화하므로 이미 구현된 기능을 RT1020에서도 재사용할 수 있습니다.
| 인터페이스 | 컨트롤러 | 드라이버/컴포넌트 |
|---|---|---|
NVIC | on-chip | nested vector interrupt controller |
SYSTICK | on-chip | systick |
FLASH | on-chip | QSPI flash |
GPIO | on-chip | gpio |
SPI | on-chip | spi |
I2C | on-chip | i2c |
SDHC | on-chip | disk access |
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 |
기본 구성은 boards/nxp/mimxrt1020_evk/mimxrt1020_evk_defconfig에 있습니다. 표 밖의 기능은 현재 이 port에서 지원하지 않습니다.
연결과 I/O
MIMXRT1020 SoC에는 pinmux/GPIO controller 쌍이 5개 있습니다. Ethernet과 SPI가 일부 핀을 공유하므로 선택한 pinmux에 맞게 사용해야 합니다.
| 이름 | 기능 | 용도 |
|---|---|---|
GPIO_AD_B0_05 | GPIO | LED |
GPIO_AD_B0_06 | LPUART1_TX | UART Console |
GPIO_AD_B0_07 | LPUART1_RX | UART Console |
GPIO_AD_B1_08 | LPUART2_TX | UART BT HCI |
GPIO_AD_B1_09 | LPUART2_RX | UART BT HCI |
GPIO_AD_B1_14 | LPI2C1_SCL | I2C |
GPIO_AD_B1_15 | LPI2C1_SDA | I2C |
GPIO_SD_B1_02 | LPI2C4_SCL | I2C |
GPIO_SD_B1_03 | LPI2C4_SDA | I2C |
WAKEUP | GPIO | SW0 |
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_AD_B1_07 | USDHC1_VSELECT | SD Card |
GPIO_SD_B0_02 | USDHC1_CMD | SD Card |
GPIO_SD_B0_03 | USDHC1_CLK | SD Card |
GPIO_SD_B0_04 | USDHC1_DATA0 | SD Card |
GPIO_SD_B0_05 | USDHC1_DATA1 | SD Card |
GPIO_SD_B0_00 | USDHC1_DATA2 | SD Card |
GPIO_SD_B0_01 | USDHC1_DATA3 | SD Card |
GPIO_SD_B0_06 | USDHC1_CD_B | SD Card |
GPIO_AD_B1_10 | ADC | ADC1 Channel 10 |
GPIO_AD_B1_11 | ADC | ADC1 Channel 11 |
시스템 클록
SoC는 500 MHz SysTick을 시스템 클록 소스로 사용합니다. 전원 관리가 활성화되면 32 KHz 저주파 oscillator를 GPT timer의 소스로 사용해 시스템 클록을 만들며, 해상도가 낮아지는 대신 저전력 상태를 지원합니다.
직렬 포트
UART 8개 중 LPUART1은 console, LPUART2는 Bluetooth Host Controller Interface(BT HCI)로 구성하며 나머지는 사용하지 않습니다.
프로그래밍과 디버깅
지원하는 host tool은 기본·NXP 지원 LinkServer, NXP 지원 J-Link, NXP가 지원하지 않는 pyOCD의 3종입니다. 도구와 보드를 구성한 다음 일반 Zephyr 절차로 빌드·플래시합니다.
디버그 프로브 구성
RT1020에서 J47/J48은 SWD isolation jumper, J42는 DFU mode jumper, J16은 20-pin JTAG/SWD header입니다. LPC-Link2 on-board debug probe의 기본 firmware는 DAPLink입니다. 공통 절차는 NXP RT1xxx LPC-Link2 Debug Probe 설정에도 보존되어 있습니다.
CMSIS-DAP
- LinkServer 또는 pyOCD를 쓸 때 LPC-Link2 CMSIS-DAP 안내에 따라 기본 firmware를 다시 program합니다.
J47/J48을 장착합니다.
J-Link
온보드 circuit을 SEGGER J-Link firmware로 바꾸거나 외부 J-Link를 연결할 수 있습니다. 온보드 J-Link는 debug USB로 EVK에 전원을 공급하지 않으므로 별도 전원을 선택하고 firmware를 program한 뒤 J47/J48을 장착합니다. 외부 J-Link를 쓸 때는 J47/J48을 제거하고 J16에 연결합니다.
콘솔 구성
Debug probe 선택과 관계없이 OpenSDA를 USB-to-serial adapter로 사용합니다. UART 신호 연결용 J25/J26이 장착되어 있는지 확인하고 PC를 J23에 USB로 연결합니다. Terminal은 115200 baud, data 8 bits, parity None, stop bit 1로 설정합니다.
플래시
# Zephyr 저장소 루트에서
west build -b mimxrt1020_evk samples/hello_world
west flashSW5로 reset하면 다음 메시지가 표시됩니다.
***** Booting Zephyr OS v1.14.0-rc1 *****
Hello World! mimxrt1020_evk
디버깅
# Zephyr 저장소 루트에서
west build -b mimxrt1020_evk samples/hello_world
west debugDebugger에서 애플리케이션을 단계 실행하면 terminal에 다음 메시지가 표시됩니다.
***** Booting Zephyr OS v1.14.0-rc1 *****
Hello World! mimxrt1020_evk
참고 자료
Source
출처
영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.