boards/seco/stm32f3_seco_d23/doc/index.html · boards/seco/stm32f3_seco_d23/doc/index.rst 공식 원문 ↗

Zephyr 3.7.0 · Boards · SECO · STM32F302

SECO SBC-3.5-PX30 (JUNO - D23)

Rockchip PX30 multimedia SBC의 외부 UART, SPI, I2C, CAN을 STM32F302 관리 MCU와 Zephyr로 제어하는 board입니다.

Official pathboards/seco/stm32f3_seco_d23/doc/index.html
Source fileboards/seco/stm32f3_seco_d23/doc/index.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

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

Part 1

요약·해설

PX30 system과 Zephyr target의 경계, peripheral mapping 35개, 72 MHz clock, connector별 serial/I2C/USB/CAN/SPI, CN56 flashing을 설명합니다.

Main SoC

Rockchip PX30 · Cortex-A35 × 4

Zephyr MCU

STM32F302VCT6 · Cortex-M4

Interfaces

UART · I2C · SPI · USB · CAN

Flash

CN56 · ST-Link · SWD

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 E6132191684AECBA3BE3BD896B3CE01B6831C62094ADFBA148F2279295D26B8D
.. _stm32f3_seco_d23_board:

SECO SBC-3.5-PX30 (JUNO - D23) (STM32F302)
##########################################

Overview
********

SBC-3.5-PX30 (JUNO - D23) is a Single Board Computer based on embedded Rockchip PX30
Processor, featuring Quad-Core ARM Cortex-A35 processor. The processor
integrates a Mali-G31 GPU with High performance dedicated 2D processor,
supporting OpenGL ES 1.1 / 2.0 / 3.2, Vulkan 1.0, OpenCL 2.0 and Open VG 1.1.
Embedded VPU is able to support video decoding of the most common coding
standard (MPEG-4, H.265/HEVC, H.264, VP8, VC-1). The board is completed with up
to 4GB LPDDR4-3200 32-bit bus memory directly soldered on board and one eMMC
5.1 Flash Drive with up to 64GB of capacity. LVDS Single Channel interface and
HDMI are supported. The RMII interface and Micrel KSZ8091 Ethernet Transceiver
allow the implementation of a Fast Ethernet interface. The networking
capabilities can be extended by WiFi+BT M.2 module and external modem module.
The audio functionalities are managed by the AudioCodec embedded in the RK-809
PMIC. SBC-3.5-PX30 board is completed by a series of connectors with various
interfaces (UART, SPI, I2C) managed by the microcontroller STM32F302VCT6.

.. image:: ../../../../../../../boards/seco/stm32f3_seco_d23/doc/img/stm32f3_seco_d23.jpg
     :align: center
     :alt: SECO SBC-3.5-PX30

More information about the board can be found at the
`SECO SBC-3.5-PX30 website`_.

Hardware
********

SECO SBC-3.5-PX30 provides the following hardware components:

- STM32F302VCT6
  - ARM |reg| 32-bit Cortex |reg| -M4 CPU with FPU
  - 256 KB Flash
  - 40 KB SRAM
  - 72 MHz max CPU frequency
- 2 User LEDs
- 16 GPI
- 16 GPO
- 4 U(S)ART
  - Modbus
  - RS485
  - TTL Serial Debug
  - TTL Serial
- 8-channel General Purpose Timers
- USB 2.0 full speed interface
- CAN
- I2C (up to 2)
- SPI

More information about STM32F302VC can be found here:

- `STM32F302VC on www.st.com`_
- `STM32F302xC reference manual`_

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

The Zephyr stm32f3_seco_d23 board configuration supports the following hardware
features:

+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component                    |
+===========+============+=====================================+
| NVIC      | on-chip    | nested vector interrupt controller  |
+-----------+------------+-------------------------------------+
| UART      | on-chip    | serial port-polling;                |
|           |            | serial port-interrupt               |
+-----------+------------+-------------------------------------+
| PINMUX    | on-chip    | pinmux                              |
+-----------+------------+-------------------------------------+
| GPIO      | on-chip    | gpio                                |
+-----------+------------+-------------------------------------+
| I2C       | on-chip    | i2c                                 |
+-----------+------------+-------------------------------------+
| SPI       | on-chip    | spi                                 |
+-----------+------------+-------------------------------------+
| USB       | on-chip    | USB device                          |
+-----------+------------+-------------------------------------+
| CAN       | on-chip    | CAN                                 |
+-----------+------------+-------------------------------------+
| IWDG      | on-chip    | Independent WatchDoG                |
+-----------+------------+-------------------------------------+
| PWM       | on-chip    | pwm                                 |
+-----------+------------+-------------------------------------+

Other hardware features are not yet supported on Zephyr porting.

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

SBC-3.5-PX30 has 6 GPIO controllers. These controllers are
responsible for pin muxing, input/output, pull-up, etc.

For more details please refer to `SECO SBC-3.5-PX30 board User Manual`_.

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

.. rst-class:: rst-columns

- UART_1_TX : PA9 (debug config for UART_1)
- UART_1_RX : PA10 (debug config for UART_1)
- UART_1_TX : PC4 (alternate config for UART_1)
- UART_1_RX : PC5 (alternate config for UART_1)
- UART_2_TX : PD5
- UART_2_RX : PD6
- UART_2_CLK : PD7
- UART_2_CTS : PD3
- UART_2_RTS/DE : PD4
- UART_3_TX : PC10
- UART_3_RX : PC11
- UART_3_CLK : PD10
- UART_3_CTS : PD11
- UART_3_RTS/DE : PD12
- UART_5_TX : PC12
- UART_5_RX : PD2
- I2C1_SCL : PB6
- I2C1_SDA : PB7
- I2C2_SCL : PA9 (alternate config for UART_1)
- I2C2_SDA : PA10 (alternate config for UART_1)
- SPI1_NSS : PA4
- SPI1_SCK : PB3
- SPI1_MISO : PB4
- SPI1_MOSI : PB5
- SPI2_NSS : PB12
- SPI2_SCK : PB13
- SPI2_MISO : PB14
- SPI2_MOSI : PB15
- CAN1_RX : PB8
- CAN1_TX : PB9
- USB_DM : PA11
- USB_DP : PA12
- LD1 : PD8
- LD2 : PD9
- PWM : PA8

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

SECO SBC-3.5-PX30 System Clock could be driven by internal or external
oscillator, as well as main PLL clock. By default System clock is driven
by PLL clock at 72 MHz, driven by an external oscillator at 8 MHz.

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

SECO SBC-3.5-PX30 has up to 4 U(S)ARTs. The Zephyr console output
is assigned to UART1. Default settings are 115200 8N1.
In debug configuration UART1 is connected to the flashing connector CN56.

UART2 provides Modbus interface to connector CN28.
UART3 provides RS-485 interface to connectors CN57 and CN48.
In alternative config, USART2 and USART3 are exposed to connector J2.

UART1 (in alternate config) and UART5 are connected to CN32.

I2C
===
SECO SBC-3.5-PX30 has up to 2 I2Cs. Both are present in connector CN33.
I2C2 is available only on boards where DEBUG serial is not connected.

USB
===
SECO SBC-3.5-PX30 has a USB 2.0 full-speed device interface available through
its connector CN31.

CAN
===
SECO SBC-3.5-PX30 has an onboard CAN transceiver (TJA1051T), and it is
connected to both CN29 and CN30. PD0 is connected to EC_CAN_STBY.

SPI
===
SECO SBC-3.5-PX30 has two SPI lines: SPI1 is an internal SPI line connected to the
main processor (Rockchip PX30) and SPI2 is connected to CN39.

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

Flashing
========

Applications for the ``stm32f3_seco_d23`` board configuration can be built and
flashed in the usual way (see :ref:`build_an_application` and
:ref:`application_run` for more details).

Flashing an application to SECO SBC-3.5-PX30
--------------------------------------------

First, connect the SECO SBC-3.5-PX30 to your host computer using
CN56 connector to an ST-Link.

The pinout is (1-8):

- VDD
- UART1_TX
- UART1_RX
- BOOT_0
- SWDIO_JTMS
- SWCLK_JTCK
- EC_RST#
- GND

Then build and flash your application.

Here is an example for the :ref:`hello_world` application.

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: stm32f3_seco_d23
   :goals: build flash

Run a serial host program to connect with your board.

.. code-block:: console

   $ minicom -D /dev/<tty device>

Replace <tty_device> with the port where the SBC-3.5-PX30 board can be
found.

You should see the following message on the console:

.. code-block:: console

   Hello World! stm32f3_seco_d23


.. _SECO SBC-3.5-PX30 website:
   https://edge.seco.com/sbc-3-5-px30.html

.. _SECO SBC-3.5-PX30 board User Manual:
   https://www.seco.com/Manuals/SBC-D23_Manual.pdf

.. _STM32F302VC on www.st.com:
   https://www.st.com/en/microcontrollers/stm32f302vc.html

.. _STM32F302xC reference manual:
   https://www.st.com/resource/en/reference_manual/rm0365-stm32f302xbcde-and-stm32f302x68-advanced-armbased-32bit-mcus-stmicroelectronics.pdf

Part 3

한국어 전문 번역

개요

SBC-3.5-PX30(JUNO - D23)은 embedded Rockchip PX30 processor 기반 single-board computer입니다. Quad-core ARM Cortex-A35 processor와 고성능 전용 2D processor를 갖춘 Mali-G31 GPU를 탑재하며 OpenGL ES 1.1/2.0/3.2, Vulkan 1.0, OpenCL 2.0, OpenVG 1.1을 지원합니다.

내장 VPU는 MPEG-4, H.265/HEVC, H.264, VP8, VC-1 같은 주요 video format decoding을 지원합니다. Board에는 최대 4 GB LPDDR4-3200 32-bit bus memory가 직접 납땜되고, 최대 64 GB eMMC 5.1 flash drive 하나가 장착됩니다. LVDS single-channel interface와 HDMI도 지원합니다.

RMII interface와 Micrel KSZ8091 Ethernet transceiver가 Fast Ethernet을 구현합니다. Wi-Fi + Bluetooth M.2 module과 외부 modem module로 networking 기능을 확장할 수 있습니다. Audio 기능은 RK-809 PMIC 내장 AudioCodec이 관리합니다.

SBC-3.5-PX30의 여러 connector에 제공되는 UART, SPI, I2C interface는 STM32F302VCT6 microcontroller가 관리합니다. Zephyr의 stm32f3_seco_d23 configuration은 이 관리 MCU를 대상으로 합니다.

SECO SBC-3.5-PX30
SECO SBC-3.5-PX30

보드에 대한 자세한 내용은 SECO SBC-3.5-PX30 website에서 확인할 수 있습니다.

하드웨어

SECO SBC-3.5-PX30이 제공하는 STM32F302 측 hardware component는 다음과 같습니다.

  • STM32F302VCT6: 32-bit ARM Cortex-M4 CPU + FPU, 256 KB flash, 40 KB SRAM, 최대 72 MHz CPU frequency
  • User LED 2개
  • GPI 16개
  • GPO 16개
  • U(S)ART 4개: Modbus, RS485, TTL serial debug, TTL serial
  • 8-channel general-purpose timer
  • USB 2.0 full-speed interface
  • CAN
  • I2C 최대 2개
  • SPI

STM32F302VC에 대한 자세한 정보는 STM32F302VC product page와 STM32F302xC reference manual에서 확인할 수 있습니다.

지원 기능

Zephyr stm32f3_seco_d23 board configuration은 다음 hardware 기능을 지원합니다.

InterfaceControllerDriver / Component
NVICon-chipnested vector interrupt controller
UARTon-chipserial port-polling; serial port-interrupt
PINMUXon-chippinmux
GPIOon-chipgpio
I2Con-chipi2c
SPIon-chipspi
USBon-chipUSB device
CANon-chipCAN
IWDGon-chipIndependent WatchDoG
PWMon-chippwm

그 밖의 hardware 기능은 아직 Zephyr port에서 지원하지 않습니다.

Pin mapping

SBC-3.5-PX30에는 GPIO controller 6개가 있습니다. 이 controller들이 pin muxing, input/output, pull-up 등을 담당합니다. 자세한 사항은 SECO SBC-3.5-PX30 board user manual을 참고합니다.

기본 Zephyr peripheral mapping

  • UART_1_TX : PA9 (UART_1 debug configuration)
  • UART_1_RX : PA10 (UART_1 debug configuration)
  • UART_1_TX : PC4 (UART_1 alternate configuration)
  • UART_1_RX : PC5 (UART_1 alternate configuration)
  • UART_2_TX : PD5
  • UART_2_RX : PD6
  • UART_2_CLK : PD7
  • UART_2_CTS : PD3
  • UART_2_RTS/DE : PD4
  • UART_3_TX : PC10
  • UART_3_RX : PC11
  • UART_3_CLK : PD10
  • UART_3_CTS : PD11
  • UART_3_RTS/DE : PD12
  • UART_5_TX : PC12
  • UART_5_RX : PD2
  • I2C1_SCL : PB6
  • I2C1_SDA : PB7
  • I2C2_SCL : PA9 (UART_1 alternate configuration)
  • I2C2_SDA : PA10 (UART_1 alternate configuration)
  • SPI1_NSS : PA4
  • SPI1_SCK : PB3
  • SPI1_MISO : PB4
  • SPI1_MOSI : PB5
  • SPI2_NSS : PB12
  • SPI2_SCK : PB13
  • SPI2_MISO : PB14
  • SPI2_MOSI : PB15
  • CAN1_RX : PB8
  • CAN1_TX : PB9
  • USB_DM : PA11
  • USB_DP : PA12
  • LD1 : PD8
  • LD2 : PD9
  • PWM : PA8

System clock

SECO SBC-3.5-PX30 system clock은 internal oscillator, external oscillator 또는 main PLL clock으로 구동할 수 있습니다. 기본적으로 8 MHz external oscillator에서 구동되는 72 MHz PLL clock이 system clock을 제공합니다.

Serial port

SECO SBC-3.5-PX30에는 최대 4개의 U(S)ART가 있습니다. Zephyr console output은 UART1에 할당되며 기본 설정은 115200 8N1입니다. Debug configuration에서는 UART1이 flashing connector CN56에 연결됩니다.

UART2는 CN28에 Modbus interface를 제공합니다. UART3은 CN57과 CN48에 RS-485 interface를 제공합니다. Alternate configuration에서는 USART2와 USART3이 connector J2에 노출됩니다. Alternate configuration의 UART1과 UART5는 CN32에 연결됩니다.

I2C

최대 I2C 두 개를 제공하며 둘 다 connector CN33에 있습니다. I2C2는 DEBUG serial이 연결되지 않은 board에서만 사용할 수 있습니다.

USB

USB 2.0 full-speed device interface는 connector CN31을 통해 사용할 수 있습니다.

CAN

Board에 TJA1051T CAN transceiver가 내장되어 CN29와 CN30 모두에 연결됩니다. PD0은 EC_CAN_STBY에 연결됩니다.

SPI

SPI line은 두 개입니다. SPI1은 main processor인 Rockchip PX30에 연결된 내부 SPI line이고, SPI2는 CN39에 연결됩니다.

Programming과 debugging

Flashing

stm32f3_seco_d23 board configuration용 application은 일반적인 Zephyr 방식으로 build하고 flash할 수 있습니다.

SECO SBC-3.5-PX30에 application flash

먼저 CN56 connector와 ST-Link를 사용해 SBC-3.5-PX30을 host computer에 연결합니다. CN56의 pinout 1-8은 다음과 같습니다.

  • VDD
  • UART1_TX
  • UART1_RX
  • BOOT_0
  • SWDIO_JTMS
  • SWCLK_JTCK
  • EC_RST#
  • GND

그런 다음 application을 build하고 flash합니다. 다음은 hello_world 예제입니다.

west build -b stm32f3_seco_d23 samples/hello_world
west flash

Serial host program으로 board에 연결합니다.

$ minicom -D /dev/<tty device>

<tty_device>를 SBC-3.5-PX30 board가 연결된 port로 바꿉니다. Console에는 다음 message가 표시되어야 합니다.

Hello World! stm32f3_seco_d23

참고 자료

Source

출처

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