SECO JUNO SBC-D23 (STM32F302)

Overview

JUNO (SBC-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. The JUNO board is completed by a series of connectors with various interfaces (UART, SPI, I2C) managed by the microcontroller STM32F302VCT6.

SECO JUNO

More information about the board can be found at the SECO JUNO SBC-D23 website.

Hardware

SECO JUNO SBC-D23 provides the following hardware components:

  • STM32F302VCT6 - ARM® 32-bit Cortex® -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:

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

SECO-D23 has 6 GPIO controllers. These controllers are responsible for pin muxing, input/output, pull-up, etc.

For mode details please refer to SECO JUNO SBC-D23 board User Manual.

Default Zephyr Peripheral Mapping:

  • 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-D23 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-D23 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-D23 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-D23 has a USB 2.0 full-speed device interface available through its connector CN31.

CAN

SECO SBC-D23 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-D23 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 Building an Application and Run an Application for more details).

Flashing an application to SECO SBC-D23

First, connect the SECO SBC-D23 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 Hello World application.

# From the root of the zephyr repository
west build -b stm32f3_seco_d23 samples/hello_world
west flash

Run a serial host program to connect with your board.

$ minicom -D /dev/<tty device>

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

You should see the following message on the console:

Hello World! stm32f3_seco_d23