1.. _stm32f3_seco_d23_board: 2 3SECO SBC-3.5-PX30 (JUNO - D23) (STM32F302) 4########################################## 5 6Overview 7******** 8 9SBC-3.5-PX30 (JUNO - D23) is a Single Board Computer based on embedded Rockchip PX30 10Processor, featuring Quad-Core ARM Cortex-A35 processor. The processor 11integrates a Mali-G31 GPU with High performance dedicated 2D processor, 12supporting OpenGL ES 1.1 / 2.0 / 3.2, Vulkan 1.0, OpenCL 2.0 and Open VG 1.1. 13Embedded VPU is able to support video decoding of the most common coding 14standard (MPEG-4, H.265/HEVC, H.264, VP8, VC-1). The board is completed with up 15to 4GB LPDDR4-3200 32-bit bus memory directly soldered on board and one eMMC 165.1 Flash Drive with up to 64GB of capacity. LVDS Single Channel interface and 17HDMI are supported. The RMII interface and Micrel KSZ8091 Ethernet Transceiver 18allow the implementation of a Fast Ethernet interface. The networking 19capabilities can be extended by WiFi+BT M.2 module and external modem module. 20The audio functionalities are managed by the AudioCodec embedded in the RK-809 21PMIC. SBC-3.5-PX30 board is completed by a series of connectors with various 22interfaces (UART, SPI, I2C) managed by the microcontroller STM32F302VCT6. 23 24.. image:: img/stm32f3_seco_d23.jpg 25 :align: center 26 :alt: SECO SBC-3.5-PX30 27 28More information about the board can be found at the 29`SECO SBC-3.5-PX30 website`_. 30 31Hardware 32******** 33 34SECO SBC-3.5-PX30 provides the following hardware components: 35 36- STM32F302VCT6 37 - ARM |reg| 32-bit Cortex |reg| -M4 CPU with FPU 38 - 256 KB Flash 39 - 40 KB SRAM 40 - 72 MHz max CPU frequency 41- 2 User LEDs 42- 16 GPI 43- 16 GPO 44- 4 U(S)ART 45 - Modbus 46 - RS485 47 - TTL Serial Debug 48 - TTL Serial 49- 8-channel General Purpose Timers 50- USB 2.0 full speed interface 51- CAN 52- I2C (up to 2) 53- SPI 54 55More information about STM32F302VC can be found here: 56 57- `STM32F302VC on www.st.com`_ 58- `STM32F302xC reference manual`_ 59 60Supported Features 61================== 62 63The Zephyr stm32f3_seco_d23 board configuration supports the following hardware 64features: 65 66+-----------+------------+-------------------------------------+ 67| Interface | Controller | Driver/Component | 68+===========+============+=====================================+ 69| NVIC | on-chip | nested vector interrupt controller | 70+-----------+------------+-------------------------------------+ 71| UART | on-chip | serial port-polling; | 72| | | serial port-interrupt | 73+-----------+------------+-------------------------------------+ 74| PINMUX | on-chip | pinmux | 75+-----------+------------+-------------------------------------+ 76| GPIO | on-chip | gpio | 77+-----------+------------+-------------------------------------+ 78| I2C | on-chip | i2c | 79+-----------+------------+-------------------------------------+ 80| SPI | on-chip | spi | 81+-----------+------------+-------------------------------------+ 82| USB | on-chip | USB device | 83+-----------+------------+-------------------------------------+ 84| CAN | on-chip | CAN | 85+-----------+------------+-------------------------------------+ 86| IWDG | on-chip | Independent WatchDoG | 87+-----------+------------+-------------------------------------+ 88| PWM | on-chip | pwm | 89+-----------+------------+-------------------------------------+ 90 91Other hardware features are not yet supported on Zephyr porting. 92 93Pin Mapping 94=========== 95 96SBC-3.5-PX30 has 6 GPIO controllers. These controllers are 97responsible for pin muxing, input/output, pull-up, etc. 98 99For more details please refer to `SECO SBC-3.5-PX30 board User Manual`_. 100 101Default Zephyr Peripheral Mapping: 102---------------------------------- 103 104.. rst-class:: rst-columns 105 106- UART_1_TX : PA9 (debug config for UART_1) 107- UART_1_RX : PA10 (debug config for UART_1) 108- UART_1_TX : PC4 (alternate config for UART_1) 109- UART_1_RX : PC5 (alternate config for UART_1) 110- UART_2_TX : PD5 111- UART_2_RX : PD6 112- UART_2_CLK : PD7 113- UART_2_CTS : PD3 114- UART_2_RTS/DE : PD4 115- UART_3_TX : PC10 116- UART_3_RX : PC11 117- UART_3_CLK : PD10 118- UART_3_CTS : PD11 119- UART_3_RTS/DE : PD12 120- UART_5_TX : PC12 121- UART_5_RX : PD2 122- I2C1_SCL : PB6 123- I2C1_SDA : PB7 124- I2C2_SCL : PA9 (alternate config for UART_1) 125- I2C2_SDA : PA10 (alternate config for UART_1) 126- SPI1_NSS : PA4 127- SPI1_SCK : PB3 128- SPI1_MISO : PB4 129- SPI1_MOSI : PB5 130- SPI2_NSS : PB12 131- SPI2_SCK : PB13 132- SPI2_MISO : PB14 133- SPI2_MOSI : PB15 134- CAN1_RX : PB8 135- CAN1_TX : PB9 136- USB_DM : PA11 137- USB_DP : PA12 138- LD1 : PD8 139- LD2 : PD9 140- PWM : PA8 141 142System Clock 143============ 144 145SECO SBC-3.5-PX30 System Clock could be driven by internal or external 146oscillator, as well as main PLL clock. By default System clock is driven 147by PLL clock at 72 MHz, driven by an external oscillator at 8 MHz. 148 149Serial Port 150=========== 151 152SECO SBC-3.5-PX30 has up to 4 U(S)ARTs. The Zephyr console output 153is assigned to UART1. Default settings are 115200 8N1. 154In debug configuration UART1 is connected to the flashing connector CN56. 155 156UART2 provides Modbus interface to connector CN28. 157UART3 provides RS-485 interface to connectors CN57 and CN48. 158In alternative config, USART2 and USART3 are exposed to connector J2. 159 160UART1 (in alternate config) and UART5 are connected to CN32. 161 162I2C 163=== 164SECO SBC-3.5-PX30 has up to 2 I2Cs. Both are present in connector CN33. 165I2C2 is available only on boards where DEBUG serial is not connected. 166 167USB 168=== 169SECO SBC-3.5-PX30 has a USB 2.0 full-speed device interface available through 170its connector CN31. 171 172CAN 173=== 174SECO SBC-3.5-PX30 has an onboard CAN transceiver (TJA1051T), and it is 175connected to both CN29 and CN30. PD0 is connected to EC_CAN_STBY. 176 177SPI 178=== 179SECO SBC-3.5-PX30 has two SPI lines: SPI1 is an internal SPI line connected to the 180main processor (Rockchip PX30) and SPI2 is connected to CN39. 181 182Programming and Debugging 183************************* 184 185Flashing 186======== 187 188Applications for the ``stm32f3_seco_d23`` board configuration can be built and 189flashed in the usual way (see :ref:`build_an_application` and 190:ref:`application_run` for more details). 191 192Flashing an application to SECO SBC-3.5-PX30 193-------------------------------------------- 194 195First, connect the SECO SBC-3.5-PX30 to your host computer using 196CN56 connector to an ST-Link. 197 198The pinout is (1-8): 199 200- VDD 201- UART1_TX 202- UART1_RX 203- BOOT_0 204- SWDIO_JTMS 205- SWCLK_JTCK 206- EC_RST# 207- GND 208 209Then build and flash your application. 210 211Here is an example for the :ref:`hello_world` application. 212 213.. zephyr-app-commands:: 214 :zephyr-app: samples/hello_world 215 :board: stm32f3_seco_d23 216 :goals: build flash 217 218Run a serial host program to connect with your board. 219 220.. code-block:: console 221 222 $ minicom -D /dev/<tty device> 223 224Replace <tty_device> with the port where the SBC-3.5-PX30 board can be 225found. 226 227You should see the following message on the console: 228 229.. code-block:: console 230 231 Hello World! stm32f3_seco_d23 232 233 234.. _SECO SBC-3.5-PX30 website: 235 https://edge.seco.com/sbc-3-5-px30.html 236 237.. _SECO SBC-3.5-PX30 board User Manual: 238 https://www.seco.com/Manuals/SBC-D23_Manual.pdf 239 240.. _STM32F302VC on www.st.com: 241 https://www.st.com/en/microcontrollers/stm32f302vc.html 242 243.. _STM32F302xC reference manual: 244 https://www.st.com/resource/en/reference_manual/rm0365-stm32f302xbcde-and-stm32f302x68-advanced-armbased-32bit-mcus-stmicroelectronics.pdf 245