boards/adafruit/kb2040/doc/index.html · boards/adafruit/kb2040/doc/index.rst 공식 원문 ↗

Zephyr 3.7.0 · Adafruit · RP2040

Adafruit KB2040

RP2040 기반 KB2040의 하드웨어, Zephyr 지원 peripheral, 기본 핀 매핑과 UF2 flashing 절차를 설명합니다.

Official pathboards/adafruit/kb2040/doc/index.html
Source fileboards/adafruit/kb2040/doc/index.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

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

Part 1

요약·해설

KB2040은 키보드와 소형 USB 장치를 만들기 편하도록 RP2040, USB, STEMMA QT, RGB NeoPixel을 작은 보드에 모은 제품입니다. Zephyr에서는 UART·GPIO·ADC·I2C·SPI·USB device·watchdog·PWM·flash·clock controller와 PIO UART가 지원됩니다.

Adafruit KB2040 보드
Adafruit KB2040. 이미지 출처: Adafruit, Zephyr 공식 문서.
SoC

최대 133 MHz dual-core Arm Cortex-M0+ RP2040

메모리

264 KB SRAM, XIP 가능한 8 MB QSPI flash

연결

USB 1.1 host/device, GPIO 18개, STEMMA QT I2C

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 CD0E334777A7DF1D1E929036338A5A8890831ADB14146647E1DD5E89AD3F9D96
.. _adafruit_kb2040:

Adafruit KB2040
###############

Overview
********

The Adafruit KB2040 is a small, low-cost, versatile board from
Adafruit. It is equipped with an RP2040 SoC, an on-board RGB Neopixel,
a USB connector, and a STEMMA QT connector. The USB bootloader allows
it to be flashed without any adapter, in a drag-and-drop manner.

Hardware
********
- Dual core Arm Cortex-M0+ processor running up to 133MHz
- 264KB on-chip SRAM
- 8MB on-board QSPI flash with XIP capabilities
- 18 GPIO pins
- 4 Analog inputs
- 1 UART peripherals
- 1 SPI controllers
- 2 I2C controllers (one via STEMMA QT connector)
- 16 PWM channels
- USB 1.1 controller (host/device)
- 8 Programmable I/O (PIO) for custom peripherals
- On-board RGB LED
- 1 Watchdog timer peripheral


.. figure:: ../../../../../../../boards/adafruit/kb2040/doc/img/kb2040.jpg
     :align: center
     :alt: Adafruit KB2040

     Adafruit KB2040 (Image courtesy of Adafruit)

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

The adafruit_kb2040 board configuration supports the following
hardware features:

.. list-table::
   :header-rows: 1

   * - Peripheral
     - Kconfig option
     - Devicetree compatible
   * - NVIC
     - N/A
     - :dtcompatible:`arm,v6m-nvic`
   * - UART
     - :kconfig:option:`CONFIG_SERIAL`
     - :dtcompatible:`raspberrypi,pico-uart`
   * - GPIO
     - :kconfig:option:`CONFIG_GPIO`
     - :dtcompatible:`raspberrypi,pico-gpio`
   * - ADC
     - :kconfig:option:`CONFIG_ADC`
     - :dtcompatible:`raspberrypi,pico-adc`
   * - I2C
     - :kconfig:option:`CONFIG_I2C`
     - :dtcompatible:`snps,designware-i2c`
   * - SPI
     - :kconfig:option:`CONFIG_SPI`
     - :dtcompatible:`raspberrypi,pico-spi`
   * - USB Device
     - :kconfig:option:`CONFIG_USB_DEVICE_STACK`
     - :dtcompatible:`raspberrypi,pico-usbd`
   * - HWINFO
     - :kconfig:option:`CONFIG_HWINFO`
     - N/A
   * - Watchdog Timer (WDT)
     - :kconfig:option:`CONFIG_WATCHDOG`
     - :dtcompatible:`raspberrypi,pico-watchdog`
   * - PWM
     - :kconfig:option:`CONFIG_PWM`
     - :dtcompatible:`raspberrypi,pico-pwm`
   * - Flash
     - :kconfig:option:`CONFIG_FLASH`
     - :dtcompatible:`raspberrypi,pico-flash`
   * - Clock controller
     - :kconfig:option:`CONFIG_CLOCK_CONTROL`
     - :dtcompatible:`raspberrypi,pico-clock-controller`
   * - UART (PIO)
     - :kconfig:option:`CONFIG_SERIAL`
     - :dtcompatible:`raspberrypi,pico-uart-pio`

Pin Mapping
===========

The peripherals of the RP2040 SoC can be routed to various pins on the board.
The configuration of these routes can be modified through DTS. Please refer to
the datasheet to see the possible routings for each peripheral.

Default Zephyr Peripheral Mapping:
----------------------------------

.. rst-class:: rst-columns

- UART0_TX : P0
- UART0_RX : P1
- I2C1_SDA : P2
- I2C1_SCL : P3
- SPI0_RX : P20
- SPI0_SCK : P18
- SPI0_TX : P19

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

Flashing
========

Using UF2
---------

Since it doesn't expose the SWD pins, you must flash the Adafruit KB2040 with
a UF2 file. By default, building an app for this board will generate a
`build/zephyr/zephyr.uf2` file. If the KB2040 is powered on with the `BOOTSEL`
button pressed, it will appear on the host as a mass storage device. The
UF2 file should be drag-and-dropped to the device, which will flash the KB2040.

.. target-notes::

.. _Getting Started with Raspberry Pi Pico:
  https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf

.. _Primary Guide\: Adafruit KB2040:
  https://learn.adafruit.com/adafruit-kb2040

Part 3

한국어 전문 번역

개요

Adafruit KB2040은 Adafruit의 작고 저렴하며 활용 범위가 넓은 보드입니다. RP2040 SoC, 보드 내장 RGB NeoPixel, USB connector, STEMMA QT connector를 갖추고 있습니다. USB bootloader 덕분에 별도 adapter 없이 drag-and-drop 방식으로 flash할 수 있습니다.

하드웨어

  • 최대 133 MHz로 동작하는 dual-core Arm Cortex-M0+ processor
  • 264 KB on-chip SRAM
  • XIP 기능을 갖춘 8 MB on-board QSPI flash
  • GPIO pin 18개와 analog input 4개
  • UART peripheral 1개, SPI controller 1개, I2C controller 2개(STEMMA QT connector 경유 1개 포함)
  • PWM channel 16개
  • USB 1.1 host/device controller
  • 사용자 정의 peripheral용 Programmable I/O(PIO) 8개
  • 보드 내장 RGB LED와 watchdog timer peripheral 1개

지원 기능

adafruit_kb2040 보드 설정은 다음 하드웨어 기능을 지원합니다.

PeripheralKconfig optionDevicetree compatible
NVICN/Aarm,v6m-nvic
UARTCONFIG_SERIALraspberrypi,pico-uart
GPIOCONFIG_GPIOraspberrypi,pico-gpio
ADCCONFIG_ADCraspberrypi,pico-adc
I2CCONFIG_I2Csnps,designware-i2c
SPICONFIG_SPIraspberrypi,pico-spi
USB DeviceCONFIG_USB_DEVICE_STACKraspberrypi,pico-usbd
HWINFOCONFIG_HWINFON/A
Watchdog TimerCONFIG_WATCHDOGraspberrypi,pico-watchdog
PWMCONFIG_PWMraspberrypi,pico-pwm
FlashCONFIG_FLASHraspberrypi,pico-flash
Clock controllerCONFIG_CLOCK_CONTROLraspberrypi,pico-clock-controller
UART (PIO)CONFIG_SERIALraspberrypi,pico-uart-pio

핀 매핑

RP2040 SoC의 peripheral은 보드의 여러 pin으로 routing할 수 있습니다. DTS를 통해 routing 설정을 바꿀 수 있으며, peripheral별 가능한 routing은 datasheet를 참고해야 합니다.

기본 Zephyr peripheral mapping은 다음과 같습니다.

  • UART0_TX: P0
  • UART0_RX: P1
  • I2C1_SDA: P2
  • I2C1_SCL: P3
  • SPI0_RX: P20
  • SPI0_SCK: P18
  • SPI0_TX: P19

프로그래밍과 디버깅

UF2 사용

KB2040은 SWD pin을 노출하지 않으므로 UF2 파일로 flash해야 합니다. 이 보드를 대상으로 애플리케이션을 빌드하면 기본적으로 build/zephyr/zephyr.uf2 파일이 생성됩니다. BOOTSEL button을 누른 상태에서 KB2040의 전원을 켜면 host에 mass-storage 장치로 나타납니다. 이 장치에 UF2 파일을 drag-and-drop하면 KB2040이 flash됩니다.

참고 자료

  • Getting Started with Raspberry Pi Pico
  • Primary Guide: Adafruit KB2040

Source

출처

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