boards/arduino/mkrzero/doc/index.html · boards/arduino/mkrzero/doc/index.rst 공식 원문 ↗

Zephyr 3.7.0 · Arduino · ATSAMD21G18A

Arduino MKR Zero

작은 MKR form factor에 microSD와 secure element를 결합한 48 MHz Cortex-M0+ board입니다.

Official pathboards/arduino/mkrzero/doc/index.html
Source fileboards/arduino/mkrzero/doc/index.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

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

Part 1

요약·해설

Arduino MKR Zero는 48 MHz ATSAMD21G18A Cortex-M0+, flash 256 KiB, RAM 32 KiB, microSD slot과 ATECC508A secure element를 갖습니다.

Arduino MKR Zero
Arduino MKR Zero. 이미지 출처: Arduino, Zephyr 3.7.0.
MCU

48 MHz ATSAMD21G18A Cortex-M0+

Storage

flash 256 KiB + microSD SPI

I/O

SERCOM USART/SPI/I2C, USB device, DAC

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 EE574DF201E1822A976FE3368AAB97D85D198CE4816434B9704272A7E88F705C
.. _arduino_mkrzero:

Arduino MKR Zero
####################

Overview
********

The Arduino MKR Zero built with smaller MKR form factor and powered by Atmel's SAMD21 MCU.
This board come with microSD card holder that allows you to play with music files with no extra hardware.

.. image:: ../../../../../../../boards/arduino/mkrzero/doc/img/arduino_mkrzero.jpg
     :align: center
     :alt: Arduino MKR Zero

Hardware
********

- ATSAMD21G18A ARM Cortex-M0+ processor at 48 MHz
- 32.768 kHz crystal oscillator
- 256 KiB flash memory and 32 KiB of RAM
- One user LEDs
- One reset button
- microSD card slot
- ATECC508A secure element

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

The arduino_mkrzero board configuration supports the following hardware
features:

+-----------+------------+------------------------------------------+
| Interface | Controller | Driver/Component                         |
+===========+============+==========================================+
| ADC       | on-chip    | Analog to digital converter              |
+-----------+------------+------------------------------------------+
| COUNTER   | on-chip    | Pulse counter                            |
+-----------+------------+------------------------------------------+
| DMA       | on-chip    | Direct memory access unit                |
+-----------+------------+------------------------------------------+
| Flash     | on-chip    | Can be used with LittleFS to store files |
+-----------+------------+------------------------------------------+
| GPIO      | on-chip    | I/O ports                                |
+-----------+------------+------------------------------------------+
| HWINFO    | on-chip    | Hardware info and serial number          |
+-----------+------------+------------------------------------------+
| NVIC      | on-chip    | nested vector interrupt controller       |
+-----------+------------+------------------------------------------+
| PWM       | on-chip    | Pulse Width Modulation                   |
+-----------+------------+------------------------------------------+
| SPI       | on-chip    | Serial Peripheral Interface ports        |
+-----------+------------+------------------------------------------+
| I2C       | on-chip    | Inter-Integrated Circuit ports           |
+-----------+------------+------------------------------------------+
| SYSTICK   | on-chip    | systick                                  |
+-----------+------------+------------------------------------------+
| USART     | on-chip    | Serial ports                             |
+-----------+------------+------------------------------------------+
| USB       | on-chip    | USB device                               |
+-----------+------------+------------------------------------------+
| WDT       | on-chip    | Watchdog                                 |
+-----------+------------+------------------------------------------+


Other hardware features are not currently supported by Zephyr.

The default configuration can be found in the Kconfig
:zephyr_file:`boards/arduino/mkrzero/arduino_mkrzero_defconfig`.

Connections and IOs
===================

The `Arduino store`_ has detailed information about board
connections. Download the `Arduino MKR Zero Schematic`_ for more detail.

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

The SAMD21 MCU is configured to use the 32.768 kHz external oscillator
with the on-chip PLL generating the 48 MHz system clock.  The internal
APB and GCLK unit are set up in the same way as the upstream Arduino
libraries.

Serial Port
===========

The SAMD21 MCU has 6 SERCOM based USARTs. SERCOM5 is available on pins 13(PA23) and 14(PA22).

PWM
===

The SAMD21 MCU has 3 TCC based PWM units with up to 4 outputs each and a period
of 24 bits or 16 bits.

SPI Port
========

The SAMD21 MCU has 6 SERCOM based SPIs.  On the Arduino MKR Zero, SERCOM1
is available on pin 8, 9, and 10.
SERCOM2 connect to microSD card slot as SPI interface.

I2C Port
========

The SAMD21 MCU has 6 SERCOM based I2Cs. SERCOM0 is available on pin 11(PA08) and 12(PA09).
This I2C bus also available as ESLOV(JST SH 5pin) socket.
ATECC508A secure element is connect to this I2C bus.

USB Device Port
===============

The SAMD21 MCU has a USB device port that can be used to communicate
with a host PC.  See the :ref:`usb-samples` sample applications for
more, such as the :zephyr:code-sample:`usb-cdc-acm` sample which sets up a virtual
serial port that echos characters back to the host PC.

DAC
===

The SAMD21 MCU has a single channel DAC with 10 bits of resolution. On the
Arduino MKR Zero, the DAC is available on pin A0.

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

The Arduino MKR Zero ships the BOSSA compatible bootloader.  The
bootloader can be entered by quickly tapping the reset button twice.

Flashing
========

#. Build the Zephyr kernel and the :ref:`hello_world` sample application:

   .. zephyr-app-commands::
      :zephyr-app: samples/hello_world
      :board: arduino_mkrzero
      :goals: build
      :compact:

#. Connect the MKR Zero to your host computer using USB

#. Connect a 3.3 V USB to serial adapter to the board and to the
   host.  See the `Serial Port`_ section above for the board's pin
   connections.

#. Run your favorite terminal program to listen for output. Under Linux the
   terminal should be :code:`/dev/ttyACM0`. For example:

   .. code-block:: console

      $ minicom -D /dev/ttyACM0 -o

   The -o option tells minicom not to send the modem initialization
   string. Connection should be configured as follows:

   - Speed: 115200
   - Data: 8 bits
   - Parity: None
   - Stop bits: 1

#. Tap the reset button twice quickly to enter bootloader mode

#. Flash the image:

   .. zephyr-app-commands::
      :zephyr-app: samples/hello_world
      :board: arduino_mkrzero
      :goals: flash
      :compact:

   You should see "Hello World! arduino_mkrzero" in your terminal.

References
**********

.. target-notes::

.. _Arduino Store:
    https://store.arduino.cc/collections/boards/products/arduino-mkr-zero-i2s-bus-sd-for-sound-music-digital-audio-data

.. _Arduino MKR Zero Schematic:
    https://www.arduino.cc/en/uploads/Main/ArduinoMKRZero-schematic.pdf

Part 3

한국어 전문 번역

개요

Arduino MKR Zero는 작은 MKR form factor의 Atmel SAMD21 board입니다. 별도 hardware 없이 music file을 다룰 수 있는 microSD holder를 포함합니다.

Arduino MKR Zero
Arduino MKR Zero.

하드웨어

  • 48 MHz ATSAMD21G18A Cortex-M0+
  • 32.768 kHz crystal oscillator
  • flash 256 KiB, RAM 32 KiB
  • user LED와 reset button
  • microSD card slot
  • ATECC508A secure element

지원 기능

InterfaceControllerDriver/Component
ADCon-chipanalog-to-digital converter
COUNTERon-chippulse counter
DMAon-chipdirect memory access
Flashon-chipLittleFS file storage
GPIOon-chipI/O ports
HWINFOon-chiphardware info and serial number
NVICon-chipnested vector interrupt controller
PWMon-chippulse-width modulation
SPIon-chipSPI ports
I2Con-chipI2C ports
SYSTICKon-chipsystick
USARTon-chipserial ports
USBon-chipUSB device
WDTon-chipwatchdog

다른 hardware는 현재 지원하지 않습니다. 기본 설정은 boards/arduino/mkrzero/arduino_mkrzero_defconfig입니다.

연결과 I/O

System clock

32.768 kHz external oscillator와 on-chip PLL로 48 MHz system clock을 만듭니다. APB와 GCLK도 upstream Arduino library와 같은 방식입니다.

Serial

SERCOM USART 6개 중 SERCOM5가 pin 13(PA23), 14(PA22)에 있습니다.

PWM

TCC 기반 PWM unit 3개가 각각 최대 output 4개와 24-bit 또는 16-bit period를 제공합니다.

SPI

SERCOM SPI 6개 중 SERCOM1은 pin 8·9·10에 있고 SERCOM2는 microSD slot에 연결됩니다.

I2C

SERCOM I2C 6개 중 SERCOM0은 pin 11(PA08), 12(PA09), ESLOV JST-SH 5-pin socket과 ATECC508A에 연결됩니다.

USB device

host PC와 통신하며 usb-cdc-acm sample로 echo virtual serial port를 만들 수 있습니다.

DAC

10-bit single-channel DAC는 A0 pin에서 사용할 수 있습니다.

프로그래밍과 디버깅

MKR Zero에는 BOSSA-compatible bootloader가 factory 출하되며 reset을 빠르게 두 번 눌러 진입합니다.

  1. hello_world를 build합니다.
  2. USB로 board를 host에 연결합니다.
  3. 3.3 V USB-serial adapter를 board와 host에 연결합니다. pin은 Serial Port 절을 따릅니다.
  4. terminal을 115200 baud, 8 data bit, parity none, stop bit 1로 엽니다.
  5. reset을 빠르게 두 번 눌러 bootloader mode로 들어갑니다.
  6. image를 flash합니다.
west build -b arduino_mkrzero samples/hello_world
$ minicom -D /dev/ttyACM0 -o
west flash
Hello World! arduino_mkrzero

-o는 modem initialization string을 보내지 않도록 합니다.

참고 자료

Source

출처

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