boards/snps/iotdk/doc/index.html · boards/snps/iotdk/doc/index.rst 공식 원문 ↗

Zephyr 3.7.0 · Boards · Synopsys · ARC IoT

DesignWare ARC IoT Development Kit

144MHz ARC Data Fusion IP Subsystem에서 IoT sample을 build, debug, 배포합니다.

Official pathboards/snps/iotdk/doc/index.html
Source fileboards/snps/iotdk/doc/index.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

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

Part 1

요약·해설

USB-UART와 OpenOCD/GDB 작업 흐름, CCM 임시 실행과 SPI-FLASH/eFlash 영구 배포의 차이를 설명합니다.

Clock

144MHz

Process

55nm ULP

Serial

115200 8N1

Persistent

SPI-FLASH / eFlash

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 DC2399C0B5FA16486570F407AFB38A0DF46930E38FF16EDAEBA352B4336FF1A4
.. _iotdk:

DesignWare(R) ARC(R) IoT Development Kit
########################################

Overview
********

The DesignWare(R) ARC(R) IoT Development Kit is a versatile platform that
includes the necessary hardware and software to accelerate software
development and debugging of sensor fusion, voice recognition, and face
detection designs. The ARC IoT Development Kit includes a silicon
implementation of the ARC Data Fusion IP Subsystem running at 144 MHz on
SMIC's 55-nm ultra-low power process, and a rich set of peripherals commonly
used in IoT designs such as USB, UART, SPI, I2C, PWM, SDIO, and ADCs.

.. image:: ../../../../../../../boards/snps/iotdk/doc/iotdk.jpg
   :align: center
   :alt: DesignWare(R) ARC(R)IoT Development Kit (synopsys.com)

For details about the board, see: `ARC IoT Development Kit
(IoTDK) <https://www.synopsys.com/dw/ipdir.php?ds=arc_iot_development_kit>`__


Hardware
********

For hardware feature details, refer to : `ARC IoT Development Kit
<https://embarc.org/project/arc-iot-development-kit/>`__


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

Required Hardware and Software
==============================

To use Zephyr RTOS applications on the IoT Development Kit board, a few
additional pieces of hardware are required.

* A micro USB cable provides power to the board; however, if the
  board is to run standalone, the universal switching power adaptor (110-240V
  AC to 5V DC), provided in the package, can be used to power the board.

* :ref:`The Zephyr SDK <toolchain_zephyr_sdk>`

* Terminal emulator software for use with the USB-UART. Suggestion:
  `Putty Website`_.

* (optional) A collection of Pmods, Arduino modules, or Mikro modules.
  See `Digilent Pmod Modules`_ or develop your custom interfaces to attach
  to the Pmod connector.

Set up the ARC IoT Development Kit
==================================

To run Zephyr application on IoT Development Kit, you need to
setup the board correctly.

* Connect the digilent usb cable from your host to the board.

* Connect the 5V DC power supply to your board (optional).

Set up Zephyr Software
======================

Building Sample Applications
==============================

You can try many of the sample applications or tests, but let us discuss
the one called :ref:`hello_world`.
It is found in :zephyr_file:`samples/hello_world`.

Configuring
-----------

You may need to write a prj_arc.conf file if the sample doesn't have one.
Next, you can use the menuconfig rule to configure the target. By specifying
``iotdk`` as the board configuration, you can select the ARC IoT Development
Kit board support for Zephyr.

.. zephyr-app-commands::
   :board: iotdk
   :zephyr-app: samples/hello_world
   :goals: menuconfig


Building
--------

You can build an application in the usual way.  Refer to
:ref:`build_an_application` for more details. Here is an example for
:ref:`hello_world`.

.. zephyr-app-commands::
   :board: iotdk
   :zephyr-app: samples/hello_world
   :maybe-skip-config:
   :goals: build

Connecting Serial Output
=========================

In the default configuration, Zephyr's IoT Development Kit images support
serial output via the USB-UART on the board.  To enable serial output:

* Open a serial port emulator (i.e. on Linux minicom, putty, screen, etc)

* Specify the tty driver name, for example, on Linux this may be
  :file:`/dev/ttyUSB0`

* Set the communication settings to:


========= =====
Parameter Value
========= =====
Baud:     115200
Data:     8 bits
Parity:    None
Stopbits:  1
========= =====

Debugging
==========

Using the latest version of Zephyr SDK(>=0.9), you can debug and flash IoT
Development Kit directly.

One option is to build and debug the application using the usual
Zephyr build system commands.

.. zephyr-app-commands::
   :board: iotdk
   :app: <my app>
   :goals: debug

At this point you can do your normal debug session. Set breakpoints and then
'c' to continue into the program.

The other option is to launch a debug server, as follows.

.. zephyr-app-commands::
   :board: iotdk
   :app: <my app>
   :goals: debugserver

Then connect to the debug server at the IoT Development Kit from a second
console, from the build directory containing the output :file:`zephyr.elf`.

.. code-block:: console

   $ cd <my app>
   $ $ZEPHYR_SDK_INSTALL_DIR/arc-zephyr-elf/bin/arc-zephyr-elf-gdb zephyr.elf
   (gdb) target remote localhost:3333
   (gdb) load
   (gdb) b main
   (gdb) c

Flashing
========

If you just want to download the application to the IoT Development Kit's CCM
and run, you can do so in the usual way.

.. zephyr-app-commands::
   :board: iotdk
   :app: <my app>
   :goals: flash

This command still uses openocd and gdb to load the application elf file to
IoT Development Kit, but it will load the application and immediately run. If
power is removed, the application will be lost since it wasn't written to flash.

Most of the time you will not be flashing your program but will instead debug
it using openocd and gdb. The program can be download via the USB cable into
the code and data memories.

When you are ready to deploy the program so that it boots up automatically on
reset or power-up, you can follow the steps to place the program on SPI-FLASH
or internal eFlash.

For instructions on how to write your program to FLASH, refer to the
documentation on the IoT Development Kit at the `embARC website`_.

Release Notes
*************

References
**********

.. _embARC website: https://www.embarc.org

.. _Designware ARC IoT Development Kit website: <https://www.synopsys.com/dw/ipdir.php?ds=arc_iot_development_kit>`_

.. _Digilent Pmod Modules: http://store.digilentinc.com/pmod-modules

.. _Putty website: http://www.putty.org

Part 3

한국어 전문 번역

DesignWare ARC IoT Development Kit

개요

DesignWare ARC IoT Development Kit는 sensor fusion, 음성 인식, 얼굴 검출 설계의 software 개발과 debugging을 가속하는 hardware·software platform입니다. SMIC 55nm ultra-low-power 공정으로 만든 ARC Data Fusion IP Subsystem을 144MHz로 실행하며 USB, UART, SPI, I2C, PWM, SDIO, ADC 등 IoT에서 흔히 쓰는 peripheral을 갖춥니다.

Board 상세 정보는 ARC IoT Development Kit와 embARC IoTDK를 참고합니다.

Programming and debugging

필요 hardware와 software

  • Board 전원과 host 연결용 micro USB cable
  • Standalone 실행 시 package에 포함된 110-240V AC → 5V DC adaptor
  • Zephyr SDK
  • USB-UART용 terminal emulator(PuTTY 등)
  • 선택 사항인 Pmod·Arduino·Mikro module 또는 custom interface

Board 설정

  • Host와 board를 Digilent USB cable로 연결
  • 필요하면 5V DC power supply 연결

Configure

Sample에 설정이 없으면 prj_arc.conf를 작성합니다. iotdk board를 지정해 menuconfig를 실행합니다.

west build -b iotdk samples/hello_world -t menuconfig

Build

samples/hello_world를 일반적인 방식으로 build합니다.

west build -b iotdk samples/hello_world

Serial output

기본 image는 board의 USB-UART로 serial output을 냅니다. Linux에서는 예를 들어 /dev/ttyUSB0을 terminal emulator에서 열고 다음 값으로 설정합니다.

ParameterValue
Baud115200
Data8 bits
ParityNone
Stop bits1

Debugging

Zephyr SDK 0.9 이상이면 IoTDK를 직접 debug하고 flash할 수 있습니다.

west build -b iotdk <my app>
west debug

Breakpoint를 설정한 뒤 GDB의 c로 program을 계속 실행합니다. 별도 debug server를 사용할 수도 있습니다.

west build -b iotdk <my app>
west debugserver

두 번째 console에서 zephyr.elf가 있는 build directory로 이동해 GDB를 연결합니다.

cd <my app>
$ZEPHYR_SDK_INSTALL_DIR/arc-zephyr-elf/bin/arc-zephyr-elf-gdb zephyr.elf
(gdb) target remote localhost:3333
(gdb) load
(gdb) b main
(gdb) c

Flashing

Application을 IoTDK의 CCM에 내려받아 즉시 실행합니다.

west build -b iotdk <my app>
west flash

이 명령도 OpenOCD와 GDB로 ELF를 load하므로 flash memory에 기록되는 것이 아닙니다. 전원이 끊기면 application은 사라지며, 일반 개발에서는 USB cable로 code/data memory에 내려받아 debug합니다.

Reset 또는 power-up에서 자동 boot하도록 배포할 때는 program을 SPI-FLASH 또는 internal eFlash에 기록합니다. 구체적인 FLASH 기록 절차는 embARC의 IoTDK 문서를 따릅니다.

Release notes

공식 원문에는 별도의 release note 항목이 기재되어 있지 않습니다.

참고 자료

Source

출처

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