From 59079fe91fea2f8b598d461fa269281b54d609f4 Mon Sep 17 00:00:00 2001 From: "Man, Jianting (Meco)" <920369182@qq.com> Date: Mon, 14 Mar 2022 09:18:14 -0400 Subject: [PATCH] update documentation (#5674) --- .gitee/ISSUE_TEMPLATE.zh-TW.md | 9 -- .gitee/PULL_REQUEST_TEMPLATE.en.md | 2 +- .gitee/PULL_REQUEST_TEMPLATE.zh-CN.md | 2 +- .gitee/PULL_REQUEST_TEMPLATE.zh-TW.md | 30 ------ .github/PULL_REQUEST_TEMPLATE.md | 2 +- README.md | 8 +- README_zh.md | 10 +- bsp/imxrt/imxrt1052-nxp-evk/README.md | 2 +- bsp/raspberry-pi/raspi3-64/README.md | 2 +- .../applications/lvgl/README.md | 2 +- .../applications/lvgl/README_zh.md | 2 +- .../docs/STM32_Nucleo-144_BSP_Introduction.md | 2 +- .../docs/STM32_Nucleo-64_BSP_Introduction.md | 2 +- bsp/stm32/stm32f091-st-nucleo/README.md | 2 +- bsp/stm32/stm32f103-blue-pill/README.md | 2 +- bsp/stm32/stm32h747-st-discovery/README.md | 2 +- documentation/README.md | 87 ------------------ .../figures/02Software_framework_diagram.png | Bin 28408 -> 0 bytes 18 files changed, 21 insertions(+), 147 deletions(-) delete mode 100644 .gitee/ISSUE_TEMPLATE.zh-TW.md delete mode 100644 .gitee/PULL_REQUEST_TEMPLATE.zh-TW.md delete mode 100644 documentation/figures/02Software_framework_diagram.png diff --git a/.gitee/ISSUE_TEMPLATE.zh-TW.md b/.gitee/ISSUE_TEMPLATE.zh-TW.md deleted file mode 100644 index 7621fba54e..0000000000 --- a/.gitee/ISSUE_TEMPLATE.zh-TW.md +++ /dev/null @@ -1,9 +0,0 @@ -### 該問題是怎麽引起的? - - - -### 重現步驟 - - - -### 報錯信息 \ No newline at end of file diff --git a/.gitee/PULL_REQUEST_TEMPLATE.en.md b/.gitee/PULL_REQUEST_TEMPLATE.en.md index 9d72f03307..0650288b4d 100644 --- a/.gitee/PULL_REQUEST_TEMPLATE.en.md +++ b/.gitee/PULL_REQUEST_TEMPLATE.en.md @@ -27,4 +27,4 @@ As part of this pull request, I've considered the following: - [ ] All modifications to BSP are justified and do not affect other components or BSPs. - [ ] I've commented appropriately where code is tricky. - [ ] Code in this PR is of high quality. -- [ ] This PR complies with [RT-Thread code specification](../documentation/coding_style_en.txt) +- [ ] This PR complies with [RT-Thread code specification](../documentation/contribution_guide/coding_style_en.txt) diff --git a/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md b/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md index b64136d96d..5a7995fd21 100644 --- a/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md +++ b/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md @@ -27,4 +27,4 @@ - [ ] 所有变更均有原因及合理的,并且不会影响到其他软件组件代码或 - [ ] 对难懂代码均提供对应的注释 - [ ] 本拉取/合并请求代码是高质量的 -- [ ] 本拉取/合并符合[RT-Thread代码规范](../documentation/coding_style_cn.md) +- [ ] 本拉取/合并符合[RT-Thread代码规范](../documentation/contribution_guide/coding_style_cn.md) diff --git a/.gitee/PULL_REQUEST_TEMPLATE.zh-TW.md b/.gitee/PULL_REQUEST_TEMPLATE.zh-TW.md deleted file mode 100644 index 2bbf94f5fc..0000000000 --- a/.gitee/PULL_REQUEST_TEMPLATE.zh-TW.md +++ /dev/null @@ -1,30 +0,0 @@ -## 拉取/合並請求描述: - -[ -這段方括號裏的內容是您**必須填寫並替換掉**的,否則PR不可能被合並。**方括號外面的內容不需要修改,但請仔細閱讀。** - -請在這裏填寫您的PR描述,可以包括以下之壹的內容:為什麽提交這份PR;解決的問題是什麽,妳的解決方案是什麽; - -並確認並列出已經在什麽情況或板卡上進行了測試。 -] - -以下的內容不應該在提交PR時的message修改,修改下述message,PR會被直接關閉。請在提交PR後,瀏覽器查看PR並對以下檢查項逐項check,沒問題後逐條在頁面上打鉤。 - -### 當前拉取/合並請求的狀態: - -必須選擇壹項: - -- [ ] 本拉取/合並請求是壹個草稿版本 -- [ ] 本拉取/合並請求是壹個成熟版本 - -### 代碼質量: - -我在這個拉取/合並請求中已經考慮了: - -- [ ] 已經仔細查看過代碼改動的對比 -- [ ] 代碼風格正確,包括縮進空格,命名及其他風格 -- [ ] 沒有垃圾代碼,代碼盡量精簡,不包含`#if 0`代碼,不包含已經被註釋了的代碼 -- [ ] 所有變更均有原因及合理的,並且不會影響到其他軟件組件代碼或 -- [ ] 對難懂代碼均提供對應的註釋 -- [ ] 本拉取/合並請求代碼是高質量的 -- [ ] 本拉取/合並符合[RT-Thread代碼規範](../documentation/coding_style_cn.md) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 06257d39d2..9ff885cdfc 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -31,4 +31,4 @@ The following content must not be changed in the submitted PR message. Otherwise - [ ] 所有变更均有原因及合理的,并且不会影响到其他软件组件代码或BSP All modifications are justified and not affect other components or BSP - [ ] 对难懂代码均提供对应的注释 I've commented appropriately where code is tricky - [ ] 本拉取/合并请求代码是高质量的 Code in this PR is of high quality -- [ ] 本拉取/合并使用[formatting](https://github.com/mysterywolf/formatting)等源码格式化工具确保格式符合[RT-Thread代码规范](../documentation/coding_style_cn.md) This PR complies with [RT-Thread code specification](../documentation/coding_style_en.txt) +- [ ] 本拉取/合并使用[formatting](https://github.com/mysterywolf/formatting)等源码格式化工具确保格式符合[RT-Thread代码规范](../documentation/contribution_guide/coding_style_cn.md) This PR complies with [RT-Thread code specification](../documentation/contribution_guide/coding_style_en.txt) diff --git a/README.md b/README.md index 60cebfea46..85e2c7384f 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ RT-Thread Studio IDE (a.k.a. RT-Studio) is a one-stop intergrated development en ## Env Tool -[User Manual](https://www.rt-thread.io/document/site/programming-manual/env/env/) | [Tutorial Videos](https://www.youtube.com/watch?v=dEK94o_YoSo) +[User Manual](documentation/env/env/) | [Tutorial Videos](https://www.youtube.com/watch?v=dEK94o_YoSo) In the early stage, RT-Thread team also created an auxiliary tool called Env. It is an auxiliary tool with a TUI (Text-based user interface). Developers can use Env tool to configure and generate the GCC, Keil MDK, and IAR projects. @@ -122,9 +122,9 @@ Based on [STM32F103 BluePill](https://github.com/RT-Thread/rt-thread/tree/master RT-Thread BSP can be compiled directly and downloaded to the corresponding development board for use. In addition, RT-Thread also provides qemu-vexpress-a9 BSP, which can be used without hardware platform. See the getting started guide below for details. -- [Getting Started of QEMU with Env(Windows)](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/documentation/quick_start_qemu/quick_start_qemu.md) +- [Getting Started of QEMU with Env(Windows)](documentation/quick-start/quick_start_qemu/quick_start_qemu.md) -- [Getting Started of QEMU with Env(Ubuntu)](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/documentation/quick_start_qemu/quick_start_qemu_linux.md) +- [Getting Started of QEMU with Env(Ubuntu)](documentation/quick-start/quick_start_qemu/quick_start_qemu_linux.md) # License @@ -146,5 +146,5 @@ RT-Thread is very grateful for the support from all community developers, and if # Contribution -If you are interested in RT-Thread and want to join in the development of RT-Thread and become a code contributor,please refer to the [Code Contribution Guide](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/documentation/contribution_guide/contribution_guide.md). +If you are interested in RT-Thread and want to join in the development of RT-Thread and become a code contributor,please refer to the [Code Contribution Guide](documentation/contribution_guide/contribution_guide.md). diff --git a/README_zh.md b/README_zh.md index da67724525..5c69581ec8 100644 --- a/README_zh.md +++ b/README_zh.md @@ -58,7 +58,7 @@ Env 是RT-Thread推出的开发辅助工具,针对基于RT-Thread操作系统 [下载 Env 工具](https://www.rt-thread.org/page/download.html) -[Env 用户手册](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md) +[Env 用户手册](https://www.rt-thread.org/document/site/#/development-tools/env/env) # 资源文档 @@ -110,9 +110,9 @@ RT-Thread Studio演示: RT-Thread BSP可以直接编译并下载到相应的开发板使用。此外,RT-Thread还提供 qemu-vexpress-a9 BSP,无需硬件平台即可使用。有关详细信息,请参阅下面的入门指南。 -[QEMU 入门指南(Windows)](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/documentation/quick_start_qemu/quick_start_qemu.md) +[QEMU 入门指南(Windows)](documentation/quick-start/quick_start_qemu/quick_start_qemu.md) -[QEMU 入门指南(Ubuntu)](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/documentation/quick_start_qemu/quick_start_qemu_linux.md) +[QEMU 入门指南(Ubuntu)](documentation/quick-start/quick_start_qemu/quick_start_qemu_linux.md) ## 文档 @@ -149,7 +149,7 @@ RT-Thread系统完全开源,3.1.0 及以前的版本遵循 GPL V2 + 开源许 # 社区支持 -RT-Thread非常感谢所有社区小伙伴的支持,在使用RT-Thread的过程中若您有任何的想法,建议或疑问都可通过以下方式联系到 RT-Thread,我们也实时在这些频道更新RT-Thread的最新讯息。同时,任何问题都可以在 [issue section](https://github.com/RT-Thread/rtthread-manual-doc/issues) 中提出。通过创建一个issue来描述您的问题,社区成员将回答这些问题。 +RT-Thread非常感谢所有社区小伙伴的支持,在使用RT-Thread的过程中若您有任何的想法,建议或疑问都可通过以下方式联系到 RT-Thread,我们也实时在这些频道更新RT-Thread的最新讯息。同时,任何问题都可以在 [论坛](https://club.rt-thread.org/index.html) 中提出,社区成员将回答这些问题。 [官网]( https://www.rt-thread.org) | [论坛]( https://www.rt-thread.org/qa/forum.php) | [哔哩哔哩官方账号](https://space.bilibili.com/423462075?spm_id_from=333.788.b_765f7570696e666f.2) | [微博官方账号](https://weibo.com/rtthread?is_hot=1) | [知乎官方账号](https://www.zhihu.com/topic/19964581/hot) @@ -160,5 +160,5 @@ RT-Thread微信公众号: # 贡献代码 -如果您对RT-Thread感兴趣,并希望参与RT-Thread的开发并成为代码贡献者,请参阅[代码贡献指南](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/documentation/contribution_guide/contribution_guide.md)。 +如果您对RT-Thread感兴趣,并希望参与RT-Thread的开发并成为代码贡献者,请参阅[代码贡献指南](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/development-guide/github/githubd)。 diff --git a/bsp/imxrt/imxrt1052-nxp-evk/README.md b/bsp/imxrt/imxrt1052-nxp-evk/README.md index 817932c1c4..dda9abfed5 100644 --- a/bsp/imxrt/imxrt1052-nxp-evk/README.md +++ b/bsp/imxrt/imxrt1052-nxp-evk/README.md @@ -77,4 +77,4 @@ This BSP only enables GPIO and serial port 1 by default. If you need more advanc 3. Enter pkgs --update command to update the package; 4. Enter scons --target=mdk4/mdk5/iar command to regenerate the project. -Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md). \ No newline at end of file +Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rt-thread/blob/master/documentation/env/env.md). \ No newline at end of file diff --git a/bsp/raspberry-pi/raspi3-64/README.md b/bsp/raspberry-pi/raspi3-64/README.md index 11e42b96cc..58099c81f4 100644 --- a/bsp/raspberry-pi/raspi3-64/README.md +++ b/bsp/raspberry-pi/raspi3-64/README.md @@ -10,7 +10,7 @@ This document records the execution instruction of the BSP (board support packag ### Build Environment on Windows -It's recommended to use the [env tool ](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md)to compile the Raspberry PI 3–64 BSP on Windows. Firstly, download the compiler GCC on Windows, from the official ARM website. You can refer to [Here](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads). +It's recommended to use the [env tool ](https://github.com/RT-Thread/rt-thread/blob/master/documentation/env/env.md)to compile the Raspberry PI 3–64 BSP on Windows. Firstly, download the compiler GCC on Windows, from the official ARM website. You can refer to [Here](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads). Here we choose the version "[gcc-arm-8.3–2019.03-i686-mingw32-aarch64-elf]. diff --git a/bsp/raspberry-pico/applications/lvgl/README.md b/bsp/raspberry-pico/applications/lvgl/README.md index c4facc1c93..9cbd30d4d2 100644 --- a/bsp/raspberry-pico/applications/lvgl/README.md +++ b/bsp/raspberry-pico/applications/lvgl/README.md @@ -1,4 +1,4 @@ -# Get Raspberry Pi PICO Running on RT-Thread RTOS with an Opensource Light Versatile Graphics Library +# How to Run LVGL on Raspberry Pi PICO [中文页](README_zh.md) | diff --git a/bsp/raspberry-pico/applications/lvgl/README_zh.md b/bsp/raspberry-pico/applications/lvgl/README_zh.md index 29752cd133..d0584d0c13 100644 --- a/bsp/raspberry-pico/applications/lvgl/README_zh.md +++ b/bsp/raspberry-pico/applications/lvgl/README_zh.md @@ -1,4 +1,4 @@ -# Raspberry_pico 使用 RT-Thread 运行 lvgl +# Raspberry Pi PICO 运行 LVGL 指南 ## 硬件参数 diff --git a/bsp/stm32/docs/STM32_Nucleo-144_BSP_Introduction.md b/bsp/stm32/docs/STM32_Nucleo-144_BSP_Introduction.md index b24fd19616..628ec2eee0 100644 --- a/bsp/stm32/docs/STM32_Nucleo-144_BSP_Introduction.md +++ b/bsp/stm32/docs/STM32_Nucleo-144_BSP_Introduction.md @@ -109,7 +109,7 @@ This BSP only enables GPIO and USART3 by default. If you need more advanced feat 3. Enter `pkgs --update` command to update the package; 4. Enter `scons --target=mdk4/mdk5/iar` command to regenerate the project. -Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md). +Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rt-thread/blob/master/documentation/env/env.md). diff --git a/bsp/stm32/docs/STM32_Nucleo-64_BSP_Introduction.md b/bsp/stm32/docs/STM32_Nucleo-64_BSP_Introduction.md index 9eb9486dff..035590b446 100644 --- a/bsp/stm32/docs/STM32_Nucleo-64_BSP_Introduction.md +++ b/bsp/stm32/docs/STM32_Nucleo-64_BSP_Introduction.md @@ -107,7 +107,7 @@ This BSP only enables GPIO and USART2 by default. If you need more advanced feat 3. Enter `pkgs --update` command to update the package; 4. Enter `scons --target=mdk4/mdk5/iar` command to regenerate the project. -Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md). +Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rt-thread/blob/master/documentation/env/env.md). diff --git a/bsp/stm32/stm32f091-st-nucleo/README.md b/bsp/stm32/stm32f091-st-nucleo/README.md index d3c4da954d..2e77b1327d 100644 --- a/bsp/stm32/stm32f091-st-nucleo/README.md +++ b/bsp/stm32/stm32f091-st-nucleo/README.md @@ -93,5 +93,5 @@ This BSP only enables GPIO and serial port 2 by default. If you need more advanc 3. Enter pkgs --update command to update the package; 4. Enter scons --target=mdk4/mdk5/iar command to regenerate the project. -Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md). +Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rt-thread/blob/master/documentation/env/env.md). diff --git a/bsp/stm32/stm32f103-blue-pill/README.md b/bsp/stm32/stm32f103-blue-pill/README.md index 1af66994ce..36a085dd0f 100644 --- a/bsp/stm32/stm32f103-blue-pill/README.md +++ b/bsp/stm32/stm32f103-blue-pill/README.md @@ -251,7 +251,7 @@ This BSP only enables GPIO and USART1 by default. If you need more advanced feat 3. Enter `pkgs --update` command to update the package; 4. Enter `scons --target=mdk4/mdk5/iar` command to regenerate the project. -Learn how to use RT-Thread ENV, click [Here](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md). +Learn how to use RT-Thread ENV, click [Here](https://github.com/RT-Thread/rt-thread/blob/master/documentation/env/env.md). diff --git a/bsp/stm32/stm32h747-st-discovery/README.md b/bsp/stm32/stm32h747-st-discovery/README.md index 5da1824a6b..0086dc5506 100644 --- a/bsp/stm32/stm32h747-st-discovery/README.md +++ b/bsp/stm32/stm32h747-st-discovery/README.md @@ -82,7 +82,7 @@ This BSP only enables GPIO and serial port 1 by default. If you need more advanc 3. Enter pkgs --update command to update the package. 4. Enter scons --target=mdk4/mdk5/iar command to regenerate the project. -Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md). +Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rt-thread/blob/master/documentation/env/env.md). ## **Notes** diff --git a/documentation/README.md b/documentation/README.md index 6166cb3eab..d27cec1366 100644 --- a/documentation/README.md +++ b/documentation/README.md @@ -1,90 +1,3 @@ -# RT-Thread - -RT-Thread (Real-Time Thread) is an open source embedded real-time operating system and released under Apache License v2.0. It has a strong scalability: from a nano kernel running on a tiny MCU, for example ARM Cortex-M0, or Cortex-M3/4/7, to a rich feature system running on MIPS32, ARM Cortex-A, even the emerging open source RISC-V architecture is supported. RT-Thread can run either on single-core systems or on symmetric multi-core processors(SMP) systems. - -## Introduction - -RT-Thread has not noly a real-time kernel, but also rich components. Its architecture is as follows: - -![RT-Thread system framework](figures/02Software_framework_diagram.png) - -- **Kernel**: It includes preemptive multi-task real-time scheduler, and infrastructure such as semaphore, mutex, mailbox, message queue, signal, event, memory management, timer management, interrupt management, etc. It also includes libcpu/BSP (file related to chip transplantation/board support package). -- **components**: It is a software unit on the RT-Thread kernel layer, such as command line (FinSH), device driver framework (Device Drivers), network framework, virtual file system (FAT, YAFFS, UFFS, ROM/RAM file system, etc.), TCP/IP network protocol stack (lwIP), libc/POSIX standard layer and so on. Generally, a software component is placed in a folder in the RT-Thread/components directory, and each software component is described by a *SConscript* file and added to the RT-Thread construction system. When a software component is opened in the system configuration, it will be compiled and linked to the final RT-Thread firmware. -- **Packages**: It is a middleware running on RT-Thread IoT operating system platform and facing different application fields. Packages consist of description information, source code or library files. These packages can be provided by RT-Thread, third-party developers and enterprises, and the license agreement of the packages is provided by the author of the packages. These software packages have strong reusability and high modularity, which greatly facilitates application developers to build their desired application systems in the shortest time. For more package information, visit the [RT-Thread package repository](https://github.com/RT-Thread-packages). - -## Licence - -RT-Thread is an open source software and has been licensed under Apache License Version 2.0 since v3.1.1. License information and copyright information can generally be seen at the beginning of the code: - -``` -/* - * Copyright (c) 2006-2018, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - */ -``` - -To avoid possible future license conflicts, developers need to sign a Contributor License Agreement (CLA) when submitting PR to RT-Thread. - -> Note: Because the BSP also contains the code provided by the chip manufacturer, this part of the code follows the license provided by the chip manufacturer, such as STM32 HAL, NXP, Atmel, etc. Relevant codes are usually only used in the chips of the corresponding manufacturers. - -## Supported Architectures - -RT-Thread RTOS can support many architectures,and has covered the major architectures in current applications. Architecture and chip manufacturer involved: - -- **ARM Cortex-M0/M0+**:manufacturers like ST -- **ARM Cortex-M3**:manufacturers like ST、Winner Micro、MindMotion, ect. -- **ARM Cortex-M4**:manufacturers like ST、Nuvton、NXP、GigaDevice、Realtek、Ambiq Micro, ect. -- **ARM Cortex-M7**:manufacturers like ST、NXP -- **ARM Cortex-M23**:manufacturers like GigaDevice -- **ARM Cortex-R4** -- **ARM Cortex-A8/A9**:manufacturers like NXP -- **ARM7**:manufacturers like Samsung -- **ARM9**:manufacturers like Allwinner、Xilinx 、GOKE -- **ARM11**:manufacturers like Fullhan -- **MIPS32**:manufacturers like loongson、Ingenic -- **RISC-V**:manufacturers like Hifive、Kendryte -- **ARC**:manufacturers like SYNOPSYS -- **DSP**:manufacturers like TI -- **C-Sky** -- **x86** - -## Supported IDE and Compiler - -The main IDE/compilers supported by RT-Thread are: - -- MDK KEIL -- IAR -- GCC - -Use Python-based [scons](http://www.scons.org) for command-line builds. - -# Source Code and Tools - -**Get the source code**: The source code of RT-Thread is hosted on Github, and click on the link to get the source code. - -- [Download RT-Thread source code](https://github.com/RT-Thread/rt-thread) - -**Get the Env Tool**: To better help developers, the RT-Thread team also provides Env tools (or Env scripts for Linux/MacOS). On Windows, Env tool is a development assistant tool launched by RT-Thread. It provides compiling and building environment, graphical system configuration and software package management functions for project projects based on RT-Thread operating system. Its built-in menuconfig provides a simple and easy-to-use configuration tailoring tool, which can tailor the kernel, components and software packages freely, so that the system can be built in the way of building blocks. - -- [Download Env Tool]() -- [User manual of Env](env/env.md) - -# Getting Started - -RT-Thread BSP can be compiled directly and downloaded to the corresponding development board for use. In addition, RT-Thread also provides qemu-vexpress-a9 BSP, which can be used without hardware platform. See the getting started guide below for details. - -- [Getting Started of QEMU (Windows)](quick-start/quick_start_qemu/quick_start_qemu.md) -- [Getting Started of QEMU (Ubuntu)](quick-start/quick_start_qemu/quick_start_qemu_linux.md) - -# Help - -Any questions can be asked in the [issue section of rtthread-manual-doc](https://github.com/RT-Thread/rtthread-manual-doc/issues). By creating a new issue to describe your questions, community members will answer them. - -# Contribution - -If you are interested in RT-Thread and want to join in the development of RT-Thread and become a code contributor,please refer to the [Code Contribution Guide](documentation/contribution_guide/contribution_guide.md). - # Manual Catalogue - [RT-Thread Introduction](introduction/introduction.md) diff --git a/documentation/figures/02Software_framework_diagram.png b/documentation/figures/02Software_framework_diagram.png deleted file mode 100644 index a236ff933836f597d0261c34cc4ff7208c7fef65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28408 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