Part 1
요약·해설
지원표 4행, 공식 이미지와 WIC·resource table·OpenOCD 조건을 보존했습니다.
4× Cortex-A53
Cortex-M4F
400MHz
remoteproc
Part 2
접을 수 있는 영어 원문 전체
영어 원문 전체 펼치기
89C701DDCF8FE6DCE95A5A29207652B7795999A4B3CA58C5FF665AF27C872DE1
.. _sk_am62:
SK-AM62 M4F Core
################
Overview
********
The SK-AM62 board configuration is used by Zephyr applications that run on
the TI AM62x platform. The board configuration provides support for the ARM
Cortex-M4F MCU core and the following features:
- Nested Vector Interrupt Controller (NVIC)
- System Tick System Clock (SYSTICK)
The board configuration also enables support for the semihosting debugging console.
See the `TI AM62X Product Page`_ for details.
.. figure:: ../../../../../../../boards/ti/sk_am62/doc/img/sk_am62_angled.webp
:align: center
:alt: TI SK-AM62 EVM
Texas Instruments SK-AM62 EVM
Hardware
********
The SK-AM62 EVM features the AM62x SoC, which is composed of a quad Cortex-A53
cluster and a single Cortex-M4 core in the MCU domain. Zephyr is ported to run on
the M4F core and the following listed hardware specifications are used:
- Low-power ARM Cortex-M4F
- Memory
- 256KB of SRAM
- 2GB of DDR4
- Debug
- XDS110 based JTAG
Supported Features
==================
The sk_am62 configuration supports the following hardware features:
+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
| NVIC | on-chip | nested vector interrupt controller |
+-----------+------------+-------------------------------------+
| SYSTICK | on-chip | systick |
+-----------+------------+-------------------------------------+
| PINCTRL | on-chip | pinctrl |
+-----------+------------+-------------------------------------+
| UART | on-chip | serial |
+-----------+------------+-------------------------------------+
Other hardware features are not currently supported by the port.
Devices
========
System Clock
------------
This board configuration uses a system clock frequency of 400 MHz.
DDR RAM
-------
The board has 2GB of DDR RAM available. This board configuration
allocates Zephyr 4kB of RAM (only for resource table: 0x9CC00000 to 0x9CC00400).
Serial Port
-----------
This board configuration uses a single serial communication channel with the
MCU domain UART (MCU_UART0).
SD Card
*******
Download TI's official `WIC`_ and flash the WIC file with an etching software
onto an SD-card. This will boot Linux on the A53 application cores of the EVM.
These cores will then load the zephyr binary on the M4 core using remoteproc.
The default configuration can be found in
:zephyr_file:`boards/ti/sk_am62/sk_am62_am6234_m4_defconfig`
Flashing
********
The board can using remoteproc, and uses the OpenAMP resource table to accomplish this.
The testing requires the binary to be copied to the SD card to allow the A53 cores to load it while booting using remoteproc.
To test the M4F core, we build the `hello_world` sample with the following command.
.. code-block:: console
# From the root of the Zephyr repository
west build -p -b sk_am62/am6234/m4 samples/hello_world
This builds the program and the binary is present in the `build/zephyr` directory as `zephyr.elf`.
We now copy this binary onto the SD card in the `/lib/firmware` directory and name it as `am62-mcu-m4f0_0-fw`.
.. code-block:: console
# Mount the SD card at sdcard for example
sudo mount /dev/sdX sdcard
# copy the elf to the /lib/firmware directory
sudo cp --remove-destination zephyr.elf sdcard/lib/firmware/am62-mcu-m4f0_0-fw
The SD card can now be used for booting. The binary will now be loaded onto the M4F core on boot.
To allow the board to boot using the SD card, set the boot pins to the SD Card boot mode. Refer to `EVM Setup Page`_.
After changing the boot mode, the board should go through the boot sequence on powering up.
The binary will run and print Hello world to the MCU_UART0 port.
Debugging
*********
The board is equipped with an XDS110 JTAG debugger. To debug a binary, utilize the `debug` build target:
.. zephyr-app-commands::
:zephyr-app: <my_app>
:board: sk_am62/am6234/m4
:maybe-skip-config:
:goals: debug
.. hint::
To utilize this feature, you'll need OpenOCD version 0.12 or higher. Due to the possibility of
older versions being available in package feeds, it's advisable to `build OpenOCD from source`_.
References
**********
AM62x SK EVM TRM:
https://www.ti.com/lit/ug/spruiv7/spruiv7.pdf
.. _TI AM62X Product Page:
https://www.ti.com/product/AM625
.. _WIC:
https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-PvdSyIiioq/08.06.00.42/tisdk-default-image-am62xx-evm.wic.xz
.. _AM62x SK EVM TRM:
https://www.ti.com/lit/ug/spruiv7/spruiv7.pdf
.. _EVM Setup Page:
https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/08_06_00_18/exports/docs/api_guide_am62x/EVM_SETUP_PAGE.html
.. _build OpenOCD from source:
https://docs.u-boot.org/en/latest/board/ti/k3.html#building-openocd-from-source
Part 3
한국어 전문 번역

개요
sk_am62 board configuration은 TI AM62x platform의 Cortex-M4F MCU core에서 실행되는 Zephyr application을 위한 것입니다. NVIC와 SYSTICK을 지원하고 semihosting debug console도 enable합니다.
하드웨어
AM62x SoC는 quad Cortex-A53 cluster와 MCU domain의 single Cortex-M4 core로 구성됩니다. Zephyr는 M4F core에서 실행되며 256KB SRAM, 2GB DDR4, XDS110 기반 JTAG를 사용합니다.
지원 기능
| Interface | Controller | Driver/Component |
|---|---|---|
| NVIC | on-chip | nested vector interrupt controller |
| SYSTICK | on-chip | systick |
| PINCTRL | on-chip | pinctrl |
| UART | on-chip | serial |
표에 없는 기능은 현재 port에서 지원하지 않습니다.
장치
System clock
이 configuration은 400MHz system clock을 사용합니다.
DDR RAM
Board에는 2GB DDR RAM이 있지만 Zephyr에는 OpenAMP resource table만을 위한 4kB 구간 0x9CC00000~0x9CC00400을 할당합니다.
Serial port
MCU domain UART인 MCU_UART0 하나를 사용합니다.
SD card와 Linux 부팅
TI 공식 WIC image를 SD card에 기록하면 EVM의 A53 application core가 Linux를 부팅합니다. Linux는 remoteproc로 M4 core에 Zephyr binary를 적재합니다. 기본 설정은 boards/ti/sk_am62/sk_am62_am6234_m4_defconfig에 있습니다.
Flash와 실행
Remoteproc와 OpenAMP resource table을 사용하므로 binary를 SD card의 Linux filesystem에 복사해야 합니다. 먼저 sample을 빌드합니다.
# From the root of the Zephyr repository
west build -p -b sk_am62/am6234/m4 samples/hello_world결과물 build/zephyr/zephyr.elf를 SD card의 /lib/firmware에 am62-mcu-m4f0_0-fw라는 이름으로 복사합니다.
# Mount the SD card at sdcard for example
sudo mount /dev/sdX sdcard
# copy the elf to the /lib/firmware directory
sudo cp --remove-destination zephyr.elf sdcard/lib/firmware/am62-mcu-m4f0_0-fwBoot pin을 SD Card boot mode로 바꾸고 전원을 켜면 A53이 부팅 과정에서 M4F image를 적재합니다. Hello world 출력은 MCU_UART0에 나타납니다.
Debug
XDS110 JTAG와 debug target을 사용합니다. 이 기능에는 OpenOCD 0.12 이상이 필요하며 package feed가 구버전을 제공할 수 있으므로 source build가 권장됩니다.
west build -b sk_am62/am6234/m4 <my_app>
west debug
참고 자료
Source
출처
영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.