boards: ruiside: art-pi2: add minimum support
- introduced a new vendor ruiside, updated `dts/bindings/vendor-prefixes.txt` - add art-pi2 board basic support Signed-off-by: Shan Pen <bricle031@gmail.com>
This commit is contained in:
parent
b469fc188b
commit
46f5e7b722
10 changed files with 347 additions and 0 deletions
5
boards/ruiside/art_pi2/Kconfig.art_pi2
Normal file
5
boards/ruiside/art_pi2/Kconfig.art_pi2
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Copyright (c) 2025 Shan Pen <bricle031@gmail.com>
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_ART_PI2
|
||||
select SOC_STM32H7R7XX
|
119
boards/ruiside/art_pi2/art_pi2.dts
Normal file
119
boards/ruiside/art_pi2/art_pi2.dts
Normal file
|
@ -0,0 +1,119 @@
|
|||
/*
|
||||
* Copyright (c) 2025 Shan Pen <bricle031@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <st/h7rs/stm32h7r7X8.dtsi>
|
||||
#include <st/h7/stm32h7r7l8hxh-pinctrl.dtsi>
|
||||
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||
|
||||
/ {
|
||||
model = "Ruiside Electronic ART-Pi2 board";
|
||||
compatible = "ruiside,art-pi2";
|
||||
|
||||
chosen {
|
||||
zephyr,console = &uart4;
|
||||
zephyr,shell-uart = &uart4;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
};
|
||||
|
||||
leds: leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
red_led: led_1 {
|
||||
gpios = <&gpioo 1 GPIO_ACTIVE_HIGH>;
|
||||
label = "User LED1";
|
||||
};
|
||||
|
||||
blue_led: led_2 {
|
||||
gpios = <&gpioo 5 GPIO_ACTIVE_LOW>;
|
||||
label = "User LED2";
|
||||
};
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
user_button: button_0 {
|
||||
label = "User";
|
||||
gpios = <&gpioc 13 GPIO_ACTIVE_LOW>;
|
||||
zephyr,code = <INPUT_KEY_0>;
|
||||
};
|
||||
};
|
||||
|
||||
aliases {
|
||||
led0 = &red_led;
|
||||
led1 = &blue_led;
|
||||
sw0 = &user_button;
|
||||
watchdog0 = &iwdg;
|
||||
die-temp0 = &die_temp;
|
||||
volt-sensor0 = &vref;
|
||||
volt-sensor1 = &vbat;
|
||||
};
|
||||
};
|
||||
|
||||
&dtcm {
|
||||
reg = <0x20000000 DT_SIZE_K(64)>;
|
||||
};
|
||||
|
||||
&clk_hsi48 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&clk_hse {
|
||||
clock-frequency = <DT_FREQ_M(24)>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pll {
|
||||
div-m = <12>;
|
||||
mul-n = <250>;
|
||||
div-p = <2>;
|
||||
div-q = <2>;
|
||||
div-r = <2>;
|
||||
div-s = <2>;
|
||||
div-t = <2>;
|
||||
clocks = <&clk_hse>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rcc {
|
||||
clocks = <&pll>;
|
||||
clock-frequency = <DT_FREQ_M(250)>;
|
||||
dcpre = <1>;
|
||||
hpre = <1>;
|
||||
ppre1 = <2>;
|
||||
ppre2 = <2>;
|
||||
ppre4 = <2>;
|
||||
ppre5 = <2>;
|
||||
};
|
||||
|
||||
&uart4 {
|
||||
pinctrl-0 = <&uart4_tx_pd1 &uart4_rx_pd0>;
|
||||
pinctrl-names = "default";
|
||||
current-speed = <115200>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iwdg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wwdg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vref {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vbat {
|
||||
status = "okay";
|
||||
};
|
14
boards/ruiside/art_pi2/art_pi2.yaml
Normal file
14
boards/ruiside/art_pi2/art_pi2.yaml
Normal file
|
@ -0,0 +1,14 @@
|
|||
identifier: art_pi2
|
||||
name: art pi2
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
- zephyr
|
||||
ram: 640
|
||||
flash: 64
|
||||
supported:
|
||||
- gpio
|
||||
- uart
|
||||
- watchdog
|
||||
- entropy
|
||||
vendor: ruiside
|
20
boards/ruiside/art_pi2/art_pi2_defconfig
Normal file
20
boards/ruiside/art_pi2/art_pi2_defconfig
Normal file
|
@ -0,0 +1,20 @@
|
|||
# Copyright (c) 2025 Shan Pen <bricle031@gmail.com>
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Enable SMPS
|
||||
CONFIG_POWER_SUPPLY_DIRECT_SMPS=y
|
||||
|
||||
# Enable MPU
|
||||
CONFIG_ARM_MPU=y
|
||||
|
||||
# Enable HW stack protection
|
||||
CONFIG_HW_STACK_PROTECTION=y
|
||||
|
||||
# Enable UART driver
|
||||
CONFIG_SERIAL=y
|
||||
# Enable console
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_UART_CONSOLE=y
|
||||
|
||||
# Enable GPIO
|
||||
CONFIG_GPIO=y
|
9
boards/ruiside/art_pi2/board.cmake
Normal file
9
boards/ruiside/art_pi2/board.cmake
Normal file
|
@ -0,0 +1,9 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# keep first
|
||||
board_runner_args(stm32cubeprogrammer "--port=swd" "--reset-mode=hw")
|
||||
board_runner_args(pyocd "--target=stm32h7r7l8hxh")
|
||||
|
||||
# keep first
|
||||
include(${ZEPHYR_BASE}/boards/common/stm32cubeprogrammer.board.cmake)
|
||||
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
|
6
boards/ruiside/art_pi2/board.yml
Normal file
6
boards/ruiside/art_pi2/board.yml
Normal file
|
@ -0,0 +1,6 @@
|
|||
board:
|
||||
name: art_pi2
|
||||
full_name: ART-Pi2
|
||||
vendor: ruiside
|
||||
socs:
|
||||
- name: stm32h7r7xx
|
BIN
boards/ruiside/art_pi2/doc/img/art_pi2.webp
Normal file
BIN
boards/ruiside/art_pi2/doc/img/art_pi2.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 70 KiB |
163
boards/ruiside/art_pi2/doc/index.rst
Normal file
163
boards/ruiside/art_pi2/doc/index.rst
Normal file
|
@ -0,0 +1,163 @@
|
|||
.. zephyr:board:: art_pi2
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
The ART-Pi2 is an open-source hardware platform designed by the
|
||||
RT-Thread team specifically for embedded software engineers
|
||||
and open-source makers, offering extensive expandability for DIY projects.
|
||||
|
||||
Key Features
|
||||
|
||||
- STM32H7R7L8HxH microcontroller featuring 64 Kbytes of Flash and 620 Kbytes of SRAM in an TFBGA225 package
|
||||
- On-board ST-LINK/V2.1 debugger/programmer
|
||||
- SDIO TF Card slot
|
||||
- SDIO WIFI:CYWL6208
|
||||
- HDC UART BuleTooth:CYWL6208
|
||||
- 32-MB HyperRAM
|
||||
- 64-MB HyperFlash
|
||||
- One Power LED (blue) for 3.3 V power-on
|
||||
- Two user LEDs blue and red
|
||||
- Two ST-LINK LEDs: blue and red
|
||||
- Two push-buttons (user and reset)
|
||||
- Board connectors:
|
||||
|
||||
- USB OTG with Type-C connector
|
||||
- RGB888 FPC connector
|
||||
|
||||
More information about the board can be found at the `ART-Pi2 website`_.
|
||||
|
||||
Hardware
|
||||
********
|
||||
|
||||
ART-Pi2 provides the following hardware components:
|
||||
|
||||
The STM32H7R7xx devices are a high-performance microcontrollers family (STM32H7
|
||||
Series) based on the high-performance Arm |reg| Cortex |reg|-M7 32-bit RISC core.
|
||||
They operate at a frequency of up to 600 MHz.
|
||||
|
||||
More information about STM32H7R7 can be found here:
|
||||
|
||||
- `STM32H7R7L8 on www.st.com`_
|
||||
- `STM32H7Rx reference manual`_
|
||||
|
||||
|
||||
Supported Features
|
||||
==================
|
||||
|
||||
.. zephyr:board-supported-hw::
|
||||
|
||||
Default Zephyr Peripheral Mapping:
|
||||
----------------------------------
|
||||
|
||||
The ART-Pi2 board features a On-board ST-LINK/V2.1 debugger/programmer. Board is configured as follows:
|
||||
|
||||
- UART4 TX/RX : PD1/PD0 (ST-Link Virtual Port Com)
|
||||
- LED1 (red) : PO1
|
||||
- LED2 (blue) : PO5
|
||||
- USER PUSH-BUTTON : PC13
|
||||
|
||||
System Clock
|
||||
------------
|
||||
|
||||
ART-Pi2 System Clock could be driven by an internal or external
|
||||
oscillator, as well as the main PLL clock. By default, the System clock is
|
||||
driven by the PLL clock at 250MHz, driven by an 24MHz high-speed external clock.
|
||||
|
||||
Serial Port
|
||||
-----------
|
||||
|
||||
ART-Pi2 board has 4 UARTs and 3 USARTs plus one LowPower UART. The Zephyr console
|
||||
output is assigned to UART4. Default settings are 115200 8N1.
|
||||
|
||||
Backup SRAM
|
||||
-----------
|
||||
|
||||
In order to test backup SRAM you may want to disconnect VBAT from VDD. You can
|
||||
do it by removing ``SB13`` jumper on the back side of the board.
|
||||
|
||||
Programming and Debugging
|
||||
*************************
|
||||
|
||||
.. zephyr:board-supported-runners::
|
||||
|
||||
ART-Pi2 board includes an ST-LINK/V2.1 embedded debug tool interface.
|
||||
|
||||
.. note::
|
||||
|
||||
Check if your ST-LINK V2.1 has newest FW version. It can be done with `STM32CubeProgrammer`_
|
||||
|
||||
Flashing
|
||||
========
|
||||
|
||||
The board is configured to be flashed using west `STM32CubeProgrammer`_ runner,
|
||||
so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required.
|
||||
|
||||
Flashing an application to ART-Pi2
|
||||
----------------------------------
|
||||
|
||||
First, connect the art_pi2 to your host computer using
|
||||
the USB port to prepare it for flashing. Then build and flash your application.
|
||||
|
||||
Here is an example for the :zephyr:code-sample:`hello_world` application.
|
||||
|
||||
Run a serial host program to connect with your art_pi2 board.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ minicom -b 115200 -D /dev/ttyACM0
|
||||
|
||||
or use screen:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ screen /dev/ttyACM0 115200
|
||||
|
||||
Build and flash the application:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/hello_world
|
||||
:board: art_pi2
|
||||
:goals: build flash
|
||||
|
||||
You should see the following message on the console:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
*** Booting Zephyr OS build v4.1.0-1907-g415ab379a8af ***
|
||||
Hello World! art_pi2/stm32h7r7xx
|
||||
|
||||
Blinky example can also be used:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/basic/blinky
|
||||
:board: art_pi2
|
||||
:goals: build flash
|
||||
|
||||
Debugging
|
||||
=========
|
||||
|
||||
You can debug an application in the usual way. Here is an example for the
|
||||
:zephyr:code-sample:`hello_world` application.
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/hello_world
|
||||
:board: art_pi2
|
||||
:maybe-skip-config:
|
||||
:goals: debug
|
||||
|
||||
References
|
||||
**********
|
||||
.. target-notes::
|
||||
|
||||
.. _ART-Pi2 website:
|
||||
https://github.com/RT-Thread-Studio/sdk-bsp-stm32h7r-realthread-artpi2
|
||||
|
||||
.. _STM32H7R7L8 on www.st.com:
|
||||
https://www.st.com/en/microcontrollers-microprocessors/stm32h7r7l8.html
|
||||
|
||||
.. _STM32H7Rx reference manual:
|
||||
https://www.st.com/resource/en/reference_manual/rm0477-stm32h7rx7sx-armbased-32bit-mcus-stmicroelectronics.pdf
|
||||
|
||||
.. _STM32CubeProgrammer:
|
||||
https://www.st.com/en/development-tools/stm32cubeprog.html
|
10
boards/ruiside/index.rst
Normal file
10
boards/ruiside/index.rst
Normal file
|
@ -0,0 +1,10 @@
|
|||
.. _boards-Ruiside:
|
||||
|
||||
Ruiside
|
||||
#######
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:glob:
|
||||
|
||||
**/*
|
|
@ -582,6 +582,7 @@ ronbo Ronbo Electronics
|
|||
ronoth Ronoth
|
||||
roofull Shenzhen Roofull Technology Co, Ltd
|
||||
roseapplepi RoseapplePi.org
|
||||
ruiside Shanghai Ruiside Electronic Technology Co., Ltd.
|
||||
ruuvi Ruuvi Innovations Ltd (Oy)
|
||||
samsung Samsung Semiconductor
|
||||
samtec Samtec/Softing company
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue