Part 1
요약·해설
SEMC/FLEXSPI boot, 지원 기능 14종과 핀 59행, USB device 제한, K20 OpenSDA·LPC-Link2 회로판별 설정, HyperFlash 복구와 EVKB 변경을 설명합니다.
Cortex-M7 · 600 MHz · 512 KB TCM
SDRAM · QSPI · 512 Mbit HyperFlash
A/A1 OpenSDA · B/B1 LPC-Link2
Part 2
접을 수 있는 영어 원문 전체
영어 원문 전체 펼치기
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 기능도 포함합니다.

하드웨어
MIMXRT1052DVL6AMCU: 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
외부 메모리
| 장치 | 컨트롤러 | 상태 |
|---|---|---|
IS42S16160J | SEMC | 부팅 시 SEMC를 설정하는 device configuration data block으로 활성화 |
S26KS512SDPBHI020 | FLEXSPI | 부팅 시 FLEXSPI를 설정하는 flash configuration block으로 활성화 |
지원 기능
mimxrt1050_evk 구성은 다음 기능을 지원합니다. 추가 기능은 NXP i.MX RT10xx 상위 집합 보드 mimxrt1064_evk에 우선 적용된 Full Platform Support를 참고해 재사용할 수 있습니다.
| 인터페이스 | 컨트롤러 | 드라이버/컴포넌트 |
|---|---|---|
NVIC | on-chip | nested vector interrupt controller |
SYSTICK | on-chip | systick |
DISPLAY | on-chip | eLCDIF; rk043fn02h_ct와 rk043fn66hs_ctg shield에서 시험 |
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 |
기본 구성은 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_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 |
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 flashSW4로 reset하면 다음 메시지가 표시됩니다.
***** Booting Zephyr OS v1.14.0-rc1 *****
Hello World! mimxrt1050_evk
디버깅
# Zephyr 저장소 루트에서
west build -b mimxrt1050_evk samples/hello_world
west debugDebugger에서 단계 실행하면 다음 메시지가 표시됩니다.
***** 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.SW7DIP switch를ON-ON-ON-OFF로 설정해 HyperFlash boot를 막습니다.SW4를 눌러 reset합니다.- 검증된 Zephyr application으로
west debug또는west flash를 다시 실행해 HyperFlash를 지우고 program합니다. - SW7을
OFF-ON-ON-OFF로 설정해 HyperFlash boot를 선택합니다. - 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
출처
영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.