README_en.md
1## Introduction
2
3[中文页](README_ZH.md) | English Page
4
5The **sdk-bsp-stm32h7r-realthread-artpi2** is a support package developed by the RT-Thread team for the ART-Pi development board. It also serves as a software SDK for users to develop their applications more easily and conveniently.
6
7The **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.
8
9<img src="figures/board_large.png" alt="image-20201009181905422" style="zoom:50%;" />
10
11## Directory Structure
12
13```
14$ sdk-bsp-stm32h7r-realthread-artpi2
15├── README.md
16├── RealThread_STM32H7R-ART-Pi2.yaml
17├── debug
18├── documents
19│ ├── coding_style_cn.md
20│ ├── RT-Thread Programming Guide.pdf
21│ ├── board
22│ └── figures
23├── libraries
24│ ├── STM32H7RSxx_HAL_Driver
25│ ├── drivers
26│ └── touchgfx_lib
27├── projects
28│ ├── art_pi_blink_led
29│ ├── art_pi_bootloader
30│ ├── art_pi2_lvgl_demo
31│ ├── art_pi2_touchgfx
32│ ├── art_pi2_sdcard
33│ └── art_pi_wifi
34├── rt-thread
35└── tools
36```
37
38- **RealThread_STMH7R-ART-Pi.yaml**: Describes the hardware information of ART-Pi.
39- **documents**: Contains schematics, documents, images, and datasheets.
40- **libraries**: Includes STM32H7 firmware libraries, general peripheral drivers, and TouchGFX libraries.
41- **projects**: Example project folders, including factory programs, gateway programs, etc.
42- **rt-thread**: RT-Thread source code.
43- **tools**: Contains Wi-Fi firmware, MDK download algorithms, etc.
44
45## Usage Instructions
46
47sdk-bsp-stm32h7r-realthread-artpi supports MDK development and RT-Thread Studio development.
48
49### STM32CubeProg Software
50
51Download the latest version of the software: [STM32CubeProg - STMicroelectronics](https://www.st.com.cn/zh/development-tools/stm32cubeprog.html#get-software).
52
53### RT-Thread Studio Development
54
551. Download Studio version v2.2.9: [Download Link](https://download-redirect.rt-thread.org/download/studio/RT-Thread_Studio_2.2.9-setup-x86_64_202412161335.exe).
562. Copy the [org.rt-thread.studio.common.core_1.0.128.jar](tools/studio/) file and replace the file with the same name in the `plugins` folder of the installed Studio directory.
57 (This step will be fixed in the next Studio version.)
583. Open the RT-Thread Studio package manager and install the ART-Pi2 SDK resource package.
59 <img src="figures/sdk_manager.png" alt="sdk_manager" style="zoom: 67%;" />
604. After installation, select `File → New → RT-Thread Project → Based on Development Board` and choose the ART-Pi2 development board.
61 <img src="figures/create_proj.png" alt="sdk_manager" style="zoom: 67%;" />
62
63### MDK Development
64
651. Install the latest version of MDK: [MDK-ARM Version 5.41 Product Update](https://www.keil.com/update/sw/mdk/5.41).
662. Install the STM32H7R-MDK chip pack: [Keil.STM32H7RSxx_DFP.1.0.0.pack](./tools/mdk_pack/Keil.STM32H7RSxx_DFP.1.0.0.pack).
673. Copy the `tools\download_algorithm\flm\ART-Pi2_winbond_64MB.FLM` download algorithm to the `MDK Installation Directory\Core\ARM\Flash` folder.
68
69To avoid the SDK becoming bloated due to continuous updates, where each `projects` folder creates a copy of the `rt-thread` and `libraries` folders, these common folders have been extracted separately. This may cause compilation errors in MDK projects due to missing files from these folders. There are two methods to resolve this issue:
70
71**Method 1:**
72
731. Double-click the `mklinks.bat` file in the `project` directory, such as the one in `sdk-bsp-stm32h7r-realthread-artpi2\projects\art_pi2_blink_led`.
742. Check if the `rt-thread` and `libraries` folder icons appear in the `sdk-bsp-stm32h7r-realthread-artpi2\projects\art_pi2_blink_led` directory.
753. Use the [ENV-2.0](https://club.rt-thread.org/ask/article/af8952fcf0ca464b.html) tool to execute `scons --target=mdk5` to update the MDK5 project files.
76
77**Method 2:**
78
791. Download the SDK from the [ART-Pi SDK Repository](https://github.com/RT-Thread-Studio/sdk-bsp-stm32h7r-realthread-artpi2).
802. Navigate to the project directory, e.g., `sdk-bsp-stm32h7r-realthread-artpi2\projects\art_pi2_blink_led`.
813. Use the [ENV-2.0](https://club.rt-thread.org/ask/article/af8952fcf0ca464b.html) tool to execute the `mklink` command to create symbolic links for the `rt-thread` and `libraries` folders.
82
83```shell
84E:\project\sdk-bsp-stm32h7r-realthread-artpi2\projects\art_pi2_blink_led>mklink /D rt-thread ....\rt-thread
85symbolic link created for rt-thread <<===>> ....\rt-thread
86
87E:\project\sdk-bsp-stm32h7r-realthread-artpi2\projects>mklink /D libraries ....\libraries
88symbolic link created for libraries <<===>> ....\libraries
89
90E:\project\sdk-bsp-stm32h7r-realthread-artpi2\projects>
91```
92
93Use the [ENV-2.0](https://club.rt-thread.org/ask/article/af8952fcf0ca464b.html) tool to execute `scons --target=mdk5` to update the MDK5 project files.
94
95## ART-Pi Communication Platform
96
97ART-Pi is an open-source creative hardware platform. We look forward to more enthusiasts discovering its potential. If you have any ideas or suggestions during use, please contact us through the following channels:
98
99- RT-Thread [Community Forum](https://club.rt-thread.org).
100- ART-Pi Official QQ Group (1016035998).
101
102
103
104## Contributing Code
105
106If you are interested in ART-Pi and have some fun projects you'd like to share with everyone, we welcome your code contributions. You can refer to the [ART-Pi Code Contribution Guide](https://github.com/RT-Thread-Studio/sdk-bsp-stm32h7r-realthread-artpi/blob/master/documents/UM5004-RT-Thread%20ART-Pi%20%E4%BB%A3%E7%A0%81%E8%B4%A1%E7%8C%AE%E6%89%8B%E5%86%8C.md).
107
108## Participating in Projects
109
110Here are some ways you can participate:
111
112- Maintain existing SDK repository code.
113- Submit project code that can be merged into the SDK repository.
114- Submit showcase projects whose code cannot be merged into the SDK repository but are open-sourced elsewhere.
115- Submit expansion boards.
116- Write column articles.