diff --git a/README.md b/README.md
index 22f8266f..5a6c0b08 100644
--- a/README.md
+++ b/README.md
@@ -68,16 +68,13 @@ The name "Vela" is originated from the Latin term for "sail," which is also the
If you want to experience openvela, we provide a fully functional emulator that can be used without a hardware platform. For more information, refer to the following guide.
-1. [Set up the development environment](./en/quickstart/Set_up_the_development_environment.md)
-2. [Download openvela source code](./en/quickstart/Download_Vela_sources.md)
-3. [Compile openvela source code](./en/quickstart/Build_Vela_from_sources.md)
-4. [Run build artifacts on Emulator](./en/quickstart/Run_Vela_on_Vela_Emulator.md)
+[Quick Start (Ubuntu)](./en/quickstart/openvela_ubuntu_quick_start.md)
### Quick App Development
[Quick App Quick Start](https://iot.mi.com/vela/quickapp/zh/guide/start/use-ide.html)
-## Sub-repository List
+## List of Sub-repositories
| Sub-repository Link | Description |
| :--------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
@@ -171,8 +168,12 @@ We welcome you to interact with and contribute to the openvela community through
- **Pull Requests**: If you find an issue and have fixed it, you are welcome to submit a Pull Request. Please make sure to follow our [Contribution Guide](./CONTRIBUTING.md).
- **Discussions**: If you have a broader topic or discussion, you can start a new discussion on the Discussions page.
-### WeChat Official Account
+### WeChat Community
-Scan the QR code below to follow the **openvela** official WeChat account for the latest project news, in-depth technical articles, and updates on community events.
+Welcome to the **OpenVela** community! Scan the QR codes below to follow our Official Account or add our assistant to join the group chat.
+
+| Official Account | Developer Group |
+| :---------------------------------------------------------------------: | :-------------------------------------------------: |
+|
|
|
+| **Follow Us**
Get the latest updates and technical articles | **Join the Group**
Scan to add assistant |
-
diff --git a/README_zh-cn.md b/README_zh-cn.md
index 252f1ecb..bd8015ef 100644
--- a/README_zh-cn.md
+++ b/README_zh-cn.md
@@ -69,10 +69,7 @@ Vela 的命名源自拉丁语中船帆的含义,也是南方星空中船帆星
如果您想要体验 openvela,我们提供一个功能完备的模拟器,无需硬件平台即可使用。有关详细信息,请参阅如下指南。
-1. [准备开发环境](./zh-cn/quickstart/Set_up_the_development_environment_zh-cn.md)
-2. [下载 openvela 源码](./zh-cn/quickstart/Download_Vela_sources_zh-cn.md)
-3. [编译 openvela 源码](./zh-cn/quickstart/Build_Vela_from_sources_zh-cn.md)
-4. [在模拟器上运行编译产物](./zh-cn/quickstart/Run_Vela_on_Vela_Emulator_zh-cn.md)
+[快速入门(Ubuntu)](./zh-cn/quickstart/openvela_ubuntu_quick_start.md)
### 快应用开发
@@ -172,8 +169,11 @@ openvela 项目由多个独立的仓库组成,其许可证策略如下:
- **Pull Requests**: 如果你发现了问题并已经修复,欢迎提交 Pull Request。请确保遵循我们的[贡献指南](./CONTRIBUTING_zh-cn.md)。
- **Discussions**: 如果你有更广泛的话题或讨论,可以在 Discussions 页面发起一个新的讨论。
-### 微信公众号
+### 微信社区
-扫描下方二维码,关注 **openvela** 官方微信公众号,获取项目的一手资讯、深度技术文章以及最新的社区活动信息。
+欢迎加入 **openvela** 社区!扫描下方二维码关注公众号,或添加小助手入群。
-
+| 官方公众号 | 技术交流群 |
+| :---------------------------------------------------------------------: | :-------------------------------------------------: |
+|
|
|
+| **关注我们**
获取一手资讯与深度技术文章 | **加入群聊**
扫码添加好友 |
diff --git a/en/app_dev/system_apps/Dev_UI_App.md b/en/app_dev/system_apps/Dev_UI_App.md
index dcf73713..385996c5 100644
--- a/en/app_dev/system_apps/Dev_UI_App.md
+++ b/en/app_dev/system_apps/Dev_UI_App.md
@@ -4,9 +4,8 @@
## I. Prerequisites
-1. Set up the development environment. Please refer to [Setting Up the Development Environment](./../../quickstart/Set_up_the_development_environment.md).
-2. Download the source code. Please refer to [Downloading the openvela Source Code](../../quickstart/Download_Vela_sources.md).
-3. Before starting this tutorial, please obtain the example code from [music_player](../../../../../../packages_demos/tree/dev/music_player).
+1. Download the source code. Please refer to [Quick Start](./../../quickstart/openvela_ubuntu_quick_start.md).
+2. Before starting this tutorial, please obtain the example code from [music_player](../../../../../../packages_demos/tree/dev/music_player).
## II. Preliminary Concepts
diff --git a/en/app_dev/system_apps/hello_world/Hello_World.md b/en/app_dev/system_apps/hello_world/Hello_World.md
index d02969a3..ac5e36ec 100644
--- a/en/app_dev/system_apps/hello_world/Hello_World.md
+++ b/en/app_dev/system_apps/hello_world/Hello_World.md
@@ -1,19 +1,17 @@
-# Add Hello World Example
+# Running the Hello World Example
-\[ English | [简体中文](../../../../zh-cn/app_dev/system_apps/hello_world/Hello_World.md) \]
+[ English | [简体中文](../../../../zh-cn/app_dev/system_apps/hello_world/Hello_World.md) ]
## Overview
-This document is for developers, providing a detailed guide on how to add, configure, and run a new user application in the openvela operating system. openvela is built on the NuttX RTOS, and its modular design allows developers to easily integrate custom features or third-party libraries.
+This document is intended for developers and aims to provide a detailed introduction to adding, configuring, and running a new user application within the openvela operating system. openvela is built on the NuttX RTOS, and its modular design allows developers to easily integrate custom functions or third-party libraries.
-A typical functional module includes the following parts:
+A typical functional module consists of the following parts:
-- **System Application**: A built-in function of the system, typically located in the `apps/` directory.
-- **Third-Party Library**: An external dependency, usually placed in the `external/` directory.
+- **System Application:** Part of the built-in system functions, typically stored in the `apps/` directory.
+- **Third-Party Library:** Introduced as an external dependency, typically stored in the `external/` directory.
-This guide uses a `Hello, World!` example application to demonstrate the entire process, from code creation to building, running, and configuring auto-start.
-
-An example directory structure is as follows:
+The example directory structure is as follows:
```Bash
└── vela
@@ -26,32 +24,34 @@ An example directory structure is as follows:
└── libs_2
```
-## Step 1: Create the Hello World Example Framework
+This guide will use the `Hello, World!` example application to demonstrate the complete process from coding to building, running, and configuring auto-start.
+
+## Step 1: Reviewing the Hello World Example Framework
-This section describes how to add a `Hello, World!` example application in openvela, including the core framework, file contents, and related build configurations.
+This section introduces how to add an example application to openvela, including the main framework, file contents, and relevant build configurations.
-### 1. Core Framework
+### 1. Main Framework
The Hello World example application requires the following core files:
-- `hello_main.c`: The application's source code, which contains the `main` function entry point.
-- `Kconfig`: The build system's configuration file, used to provide selectable compilation options in `menuconfig`.
-- `CMakeLists.txt`: The CMake build script, used to define source files, dependencies, and compilation rules.
+- `hello_main.c`: The source code of the application, containing the `main` function entry point.
+- `Kconfig`: The configuration file for the build system, used to provide configurable compilation options in `menuconfig`.
+- `CMakeLists.txt`: The CMake build script used to define source code, dependencies, and compilation rules.
-An example directory structure is as follows:
+The directory structure example is as follows, with Hello World currently added:
```Bash
apps
└── examples
- └── hello_main
+ └── hello
├── hello_main.c
├── CMakeLists.txt
├── Kconfig
```
-### 2. Write the Source Code (hello_main.c)
+### 2. Writing Source Code (hello_main.c)
-Create the `hello_main.c` file and add the following C code. This is the application's logical entry point.
+Examine the `hello_main.c` file, which is the execution logic entry point for the application:
```C
#include
@@ -63,7 +63,7 @@ int main(int argc, char *argv[])
}
```
-If you need to use C++, ensure the `main` function is declared with `extern "C"` to maintain C-language linkage compatibility, allowing the system to call it correctly.
+If you need to use C++, please ensure the `main` function uses the `extern "C"` declaration to guarantee C language linkage compatibility, ensuring it can be correctly called by the system:
```C++
#include
@@ -75,21 +75,21 @@ extern "C" int main(int argc, char *argv[])
}
```
-### 3. Create the Kconfig Configuration File
+### 3. Creating the Kconfig Configuration File
-Create the `Kconfig` file to define the application's compilation options. These options will appear in the `menuconfig` graphical interface, allowing users to enable or configure your application as needed.
+Examine the `Kconfig` file, which is used to define the compilation options for the application. These options will appear in the `menuconfig` graphical configuration interface, allowing users to enable or configure your application as needed:
-```Makefile
+```makefile
config EXAMPLES_HELLO
tristate "\"Hello, World!\" example"
default n
---help---
- Enable the "Hello, World!" example
+ Enable the \"Hello, World!\" example
# The following options are only visible when EXAMPLES_HELLO is enabled
if EXAMPLES_HELLO
-# Defines the command name for the application in openvela
+# Define the command name for the application in openvela
config EXAMPLES_HELLO_PROGNAME
string "Program name"
default "hello"
@@ -97,51 +97,48 @@ config EXAMPLES_HELLO_PROGNAME
This is the name of the program that will be used when the NSH ELF
program is installed.
-# Defines the task priority of the application
+# Define the priority of the application task
config EXAMPLES_HELLO_PRIORITY
int "Hello task priority"
default 100
-# Defines the stack size of the application
+# Define the stack size of the application task
config EXAMPLES_HELLO_STACKSIZE
int "Hello stack size"
default DEFAULT_TASK_STACKSIZE
-
+
endif
```
-### 4. Create the CMake Build Script
+### 4. Creating the CMake Build Script
-Create the `CMakeLists.txt` file. The openvela build system automatically loads all macro definitions from the `.config` file as CMake variables, so you can directly use the configurations defined in `Kconfig`.
+Examine the `CMakeLists.txt` file. The openvela build system automatically loads all macro definitions from the `.config` file as CMake variables, so you can directly use the configurations defined in `Kconfig`.
```CMake
# Check if 'EXAMPLES_HELLO' is enabled in .config
-if(CONFIG_EXAMPLES_HELLO) # Add to build if the feature is enabled in defconfig
-
- # Call nuttx_add_application to register the app as a built-in program
+if(CONFIG_EXAMPLES_HELLO) # If defconfig enables this feature, add it to the build
+
+ # Call the nuttx_add_application function to register the app as a built-in program
nuttx_add_application(
- # NAME: Specifies the unique name of the application,
- # typically matching PROGNAME in Kconfig
- NAME
- ${CONFIG_EXAMPLES_HELLO_PROGNAME}
-
- # SRCS: Specifies the list of source files;
- # the file containing main should be first
- SRCS
- hello_main.c
-
- # STACKSIZE: Specifies the task stack size
- STACKSIZE
- ${CONFIG_EXAMPLES_HELLO_STACKSIZE}
-
- # PRIORITY: Specifies the task priority; defaults to
- # SCHED_PRIORITY_DEFAULT if not provided
- PRIORITY
- ${CONFIG_EXAMPLES_HELLO_PRIORITY})
+ # NAME: Specify the unique name of the application, usually consistent with PROGNAME in Kconfig
+ NAME
+ ${CONFIG_EXAMPLES_HELLO_PROGNAME}
+
+ # SRCS: Specify the list of source files; the file containing the main function should be first
+ SRCS
+ hello_main.c
+
+ # STACKSIZE: Specify the task stack size
+ STACKSIZE
+ ${CONFIG_EXAMPLES_HELLO_STACKSIZE}
+
+ # PRIORITY: Specify the task priority; defaults to SCHED_PRIORITY_DEFAULT if not passed
+ PRIORITY
+ ${CONFIG_EXAMPLES_HELLO_PRIORITY})
endif()
```
-#### Definition of `nuttx_add_application()`
+#### `nuttx_add_application()` Function Definition
This CMake function is located in `nuttx/cmake/nuttx_add_application.cmake` and is used to add and configure applications.
@@ -168,99 +165,130 @@ nuttx/cmake/nuttx_add_application.cmake
NO_MAIN_ALIAS : do not add a main=_main alias(*)
```
-## Step 2: Verify the Application
+## Step 2: Verifying the Application
-After creating the files, you need to configure, compile, and run your application using the following steps.
+After creating the files, you need to configure, compile, and run your application by following these steps.
-### 1. Clean the Build Environment (Optional)
+### 1. Cleaning the Build Environment (Optional)
-If you have modified the Kconfig file or want to perform a completely clean build, it is recommended to clean the environment first.
+If you have modified the Kconfig file or wish to perform a fresh compilation, it is recommended to perform a cleanup operation first:
```Bash
# Use distclean to clean all build artifacts and configurations
-./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap distclean -j8
+./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap --cmake distclean -j$(nproc)
+```
+
+Alternatively, delete the CMake artifacts directly:
+
+```bash
+# Or directly delete cmake artifacts
+rm -rf cmake_out/vela_goldfish-armeabi-v7a-ap
```
-### 2. Configure via menuconfig
+### 2. Graphical Configuration (menuconfig)
-Start `menuconfig` to enable your new application in the graphical interface.
+Launch `menuconfig` to enable your new application in the graphical interface:
```Bash
-# Start menuconfig
-./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap menuconfig -j8
+# Start menuconfig
+./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap --cmake menuconfig -j$(nproc)
```
-In the `menuconfig` interface, find and enable your application at the following path:
-`Application Configuration` ---> `Examples` ---> `[*] "Hello, World!" example`
+In the `menuconfig` interface, find and enable your application via the following path: `Application Configuration` ---> `Examples` ---> `[*] "Hello, World!" example`.

-### 3. Compile and Run
+### 3. Build and Run
-After saving the `menuconfig` configuration, execute the build.
+After saving the `menuconfig` configuration, execute the compilation.
```Bash
-# Build:
-./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap -j8
+# Compile the firmware (-j`nproc` uses all CPU cores for parallel compilation)
+./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap --cmake -j$(nproc)
+
+# Copy the artifacts
+cp cmake_out/vela_goldfish-armeabi-v7a-ap/nuttx* nuttx/ &&
+cp cmake_out/vela_goldfish-armeabi-v7a-ap/vela_data.bin nuttx/ &&
+cp cmake_out/vela_goldfish-armeabi-v7a-ap/vela_system.bin nuttx/
-# Run:
+# Start the emulator to run the firmware
./emulator.sh vela
```
-After the system starts, enter the program name you set in `Kconfig` (default is `hello`) in the NSH command line and press Enter. You will see the program's output.
+After the system boots, enter the program name you configured in `Kconfig` (default is `hello`) into the NSH command line and press Enter to see the program output:

-## Step 3: Configure Application Auto-Start
+## Step 3: Configuring Application Auto-Start
-openvela supports automatically running specified scripts at system startup. You can achieve application auto-start by editing the startup script.
+openvela supports automatically running specific scripts upon system startup. You can implement application auto-start by editing the startup script.
### 1. Auto-Start Mechanism and Configuration
-The openvela startup scripts are stored in the `/etc` directory, which is linked with the openvela binary as a `romfs` filesystem. It is automatically mounted by `nshlib` after the system starts. The relevant configurations are as follows.
+The startup scripts for openvela are stored in the `/etc` directory. This directory is linked with the openvela binary files in the form of `romfs`. It is automatically mounted by `nshlib` after the system boots. The relevant configuration is as follows.
-Ensure your board-level configuration has the following `Kconfig` options enabled:
+Ensure your board-level configuration enables the following `Kconfig` options:
-```Makefile
+```makefile
CONFIG_FS_ROMFS=y
-CONFIG_NSH_ROMFSETC=y
-CONFIG_NSH_ROMFSMOUNTPT="/etc"
+CONFIG_ETC_ROMFS=y
+CONFIG_ETC_ROMFSMOUNTPT="/etc"
CONFIG_NSH_SYSINITSCRIPT="init.d/rc.sysinit"
CONFIG_NSH_INITSCRIPT="init.d/rcS"
```
### 2. Startup Script Location
-The default user startup scripts are located in the board-level configuration directory:
+The default user startup script is located in the board-level configuration directory:
-```Bash
-vendor/openvela/boards/vela/src/etc/init.d/rc.sysinit # System initialization script
-vendor/openvela/boards/vela/src/etc/init.d/rcS # User script
+```bash
+vendor/openvela/boards/vela/src/etc/init.d/rc.sysinit # System initialization script
+vendor/openvela/boards/vela/src/etc/init.d/rcS # User script
```
-### 3. Edit the Startup Script
+### 3. Editing the Startup Script
-Open the `rcS` file and add the command to execute your application.
+Open the `rcS` file and add the execution command for your application.
```bash
-#include
-
#ifdef CONFIG_FS_HOSTFS
-mount -t hostfs -o fs=. /data # Mount the host filesystem to /data
+mount -t hostfs -o fs=vendor/openvela/boards/vela/resource /host
#endif
-hello # Run hello in the foreground
-hello & # Run hello in the background
+hello &
```
+The result after addition is shown in the figure below:
+
+
+
+### 4. Recompiling and Running
+
+```bash
+# Compile the firmware (-j`nproc` uses all CPU cores for parallel compilation)
+./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap --cmake -j$(nproc)
+
+# Copy the artifacts
+cp cmake_out/vela_goldfish-armeabi-v7a-ap/nuttx* nuttx/ &&
+cp cmake_out/vela_goldfish-armeabi-v7a-ap/vela_data.bin nuttx/ &&
+cp cmake_out/vela_goldfish-armeabi-v7a-ap/vela_system.bin nuttx/
+
+# Start the emulator to run the firmware
+./emulator.sh vela
+```
+
+The result after startup is shown in the figure below:
+
+
+
**Note:**
-- **Use POSIX Threads**: Inside your application, it is recommended to use `pthread_create()` to create and manage child threads instead of calling the low-level `task_create()`. This ensures better portability and compatibility.
-- **Guard the Main Thread**: If your main thread creates child threads, ensure the main thread only exits after all child threads have safely terminated. Otherwise, the exit of the main thread could cause the entire process to be reclaimed, forcibly terminating the child threads.
-- **Create a Background Service**: For services that need to run long-term, you can run them in the background using `&` in the `rcS` script. The application itself would typically enter a loop (e.g., `while(1)`) to handle events or perform periodic tasks.
+- **Use POSIX Threads:** Within the application, it is recommended to use `pthread_create()` to create and manage child threads rather than directly calling the lower-level `task_create()`. This ensures better portability and compatibility.
+- **Guard the Main Thread:** If your main thread creates child threads, ensure the main thread only exits after all child threads have safely exited. Otherwise, the exit of the main thread may cause the entire process to be reclaimed, forcibly terminating the child threads.
+- **Create Background Services:** For services that need to run long-term, you can use `&` in the `rcS` script to run them in the background. Internally, the application typically enters a loop (such as `while(1)`) to handle events or execute periodic tasks.
## References
-To help you better understand and add `CMakeLists.txt`, here are reference materials and tool information:
+To help you better understand and add `CMakeLists.txt`, below are reference materials and tool information:
-- For the openvela CMake build system, please refer to [CMake Quick Start](../../../../en/device_dev_guide/build/CMake_quick_start.md).
+- For the openvela CMake build system, please refer to the [CMake Quick Start](../../../device_dev_guide/build/CMake_quick_start.md).
\ No newline at end of file
diff --git a/en/app_dev/system_apps/hello_world/figures/003.png b/en/app_dev/system_apps/hello_world/figures/003.png
new file mode 100644
index 00000000..1df32253
Binary files /dev/null and b/en/app_dev/system_apps/hello_world/figures/003.png differ
diff --git a/en/app_dev/system_apps/hello_world/figures/004.png b/en/app_dev/system_apps/hello_world/figures/004.png
new file mode 100644
index 00000000..548b4e28
Binary files /dev/null and b/en/app_dev/system_apps/hello_world/figures/004.png differ
diff --git a/en/chip_porting/Vendor.md b/en/chip_porting/Vendor.md
index 184c0aa5..c4e37b65 100644
--- a/en/chip_porting/Vendor.md
+++ b/en/chip_porting/Vendor.md
@@ -13,7 +13,7 @@ To ensure the isolation and privacy security of vendor code, a dedicated directo
Upon completing the code download, the overall directory structure is as follows:
```Shell
-djz:vela$ tree -L 1
+$ tree -L 1
.
├── apps
├── build.sh -> nuttx/tools/build.sh
@@ -40,7 +40,7 @@ seven directories, one file
The vendor directory is used to store the relevant code and configurations for each vendor. The layout of its contents is as follows:
```Shell
-djz:vendor$ tree -L 1
+$ tree -L 1
.
├──
├── Make.defs
@@ -61,11 +61,11 @@ When a vendor initially acquires the code, the layout of the vendor_name directo
```C
// Directory location
-djz:vendor_name$ pwd
-/home/djz/workspace/velaos/vendor/
+$ pwd
+/home/{namepath}/workspace/velaos/vendor/
// Directory layout
-djz:vendor_name$ tree -l
+$ tree -l
├── boards
│ └──
│ └──
diff --git a/en/demo/Music_Player_Example.md b/en/demo/Music_Player_Example.md
index 0c4dd54b..700f9354 100644
--- a/en/demo/Music_Player_Example.md
+++ b/en/demo/Music_Player_Example.md
@@ -8,9 +8,7 @@ This article describes how to run the music player demo on Emulator.
## Prerequisites
-1. Set up the development environment. Refer to [Environment Setup](./../quickstart/Set_up_the_development_environment.md).
-
-2. Download the source code. Refer to [Download openvela source code](./../quickstart/Download_Vela_sources.md).
+To download the source code, see [Quick Start](./../quickstart/openvela_ubuntu_quick_start.md).
## Step 1: Configure the project
diff --git a/en/demo/Smart_Band_Example.md b/en/demo/Smart_Band_Example.md
index fae05949..63943f66 100644
--- a/en/demo/Smart_Band_Example.md
+++ b/en/demo/Smart_Band_Example.md
@@ -10,9 +10,7 @@ This article describes how to run this example on Emulator.
## Prerequisites
-1. Set up the development environment. Refer to [Environment Setup](./../quickstart/Set_up_the_development_environment.md).
-
-2. Download the source code. Refer to [Download openvela source code](./../quickstart/Download_Vela_sources.md).
+To download the source code, see [Quick Start](./../quickstart/openvela_ubuntu_quick_start.md).
## Step 1: Configure the project
diff --git a/en/demo/X_Track.md b/en/demo/X_Track.md
index c9c9cd92..2baee635 100644
--- a/en/demo/X_Track.md
+++ b/en/demo/X_Track.md
@@ -14,9 +14,7 @@ This article describes how to run the example on Emulator.
## Prerequisites
-1. Set up the development environment. Refer to [Environment Setup](./../quickstart/Set_up_the_development_environment.md).
-
-2. Download the source code. Refer to [Download openvela source code](./../quickstart/Download_Vela_sources.md).
+To download the source code, see [Quick Start](./../quickstart/openvela_ubuntu_quick_start.md).
## Step 1: Configure the project
diff --git a/en/dev_board/Development_Board.md b/en/dev_board/Development_Board.md
index 7b47c04b..0560a3ff 100644
--- a/en/dev_board/Development_Board.md
+++ b/en/dev_board/Development_Board.md
@@ -7,6 +7,7 @@
| STMicroelectronics | [STM32H750B-DK](https://www.st.com/en/evaluation-tools/stm32h750b-dk.html) | [STM32H750XB](https://www.st.com/en/microcontrollers-microprocessors/stm32h750xb.html) | [Deploy openvela on STM32H750](../quickstart/development_board/STM32H750.md) | Smart Home, Industrial Control, Medical Electronics | [ST MCU China Support](mailto:mcu.china@st.com) |
| STMicroelectronics | STM32F411CEU6 | [STM32F411CE](https://www.st.com/en/microcontrollers-microprocessors/stm32f411ce.html) | [Blink an LED with openvela on STM32F411](../quickstart/development_board/STM32F411.md) | IoT, Industrial Automation | [ST MCU China Support](mailto:mcu.china@st.com) |
| Espressif | [ESP32-S3-EYE](https://www.espressif.com/en/dev-board/esp32-s3-eye) | [ESP32-S3](https://www.espressif.com/en/products/socs/esp32-s3) | [Port openvela to the ESP32-S3-EYE Dev Board](../quickstart/development_board/ESP32-S3-EYE.md) | AIoT, HMI, Smart Home | [Espressif Developer Community](https://www.espressif.com/en/contact-us/technical-inquiries) |
-| Espressif | [ESP32-S3-BOX](https://www.espressif.com/en/news/ESP32-S3-BOX_video) | [ESP32-S3](https://www.espressif.com/en/products/socs/esp32-s3) | [See: Port openvela to the ESP32-S3-EYE Dev Board](../quickstart/development_board/ESP32-S3-EYE.md) | AIoT, HMI, Smart Home | [Espressif Developer Community](https://www.espressif.com/en/contact-us/technical-inquiries) |
-| Bestechnic | [BES2600WM MAIN BOARD V1.1](https://www.fortune-co.com/index.php?s=/Cn/Public/singlePage/catid/176.html) | BES2600WM-AX4F | [Readme](../../../../../vendor_bes/blob/dev/boards/best2003_ep/aos_evb/Readme) | Smart Wearables, AI Toys | [Contact Distributor](https://www.fortune-co.com/Tech/projectDetail/id/64.html) |
-| Open Source Emulator | QEMU Emulator | [Run Build Artifacts on Emulator](../quickstart/Run_Vela_on_Vela_Emulator.md) | Native application execution & debugging | N/A | N/A |
+| Espressif | [ESP32-S3-BOX](https://www.espressif.com/en/news/ESP32-S3-BOX_video) | [ESP32-S3](https://www.espressif.com/en/products/socs/esp32-s3) | [See: Port openvela to the ESP32-S3-EYE Dev Board](../quickstart/development_board/ESP32-S3-EYE.md) | AIoT, HMI, Smart Home | [Espressif Developer Community](https://www.espressif.com/en/contact-us/technical-inquiries) |
+| Bestechnic | [BES2600WM MAIN BOARD V1.1](https://www.fortune-co.com/index.php?s=/Cn/Public/singlePage/catid/176.html) | BES2600WM-AX4F | [Readme](../../../../../vendor_bes/blob/trunk/boards/best2003_ep/aos_evb/Readme) | Smart Wearables, AI Toys | [Contact Distributor](https://www.fortune-co.com/Tech/projectDetail/id/64.html) |
+| Flagchip | FC7300F8M-EVB | FC7300F8MDT | [openvela Running Guide for FC7300F8M-EVB](../quickstart/development_board/fc7300f8m_evb_guide.md) | Domain/Zonal Controllers, ADAS, BMS, Motor Control, etc. | [Contact Distributor](https://www.flagchip.com.cn/Pro/3/3.html) | [Contact Distributor](https://www.flagchip.com.cn/Pro/3/3.html) |
+| Infineon | TC4D9-EVB | AURIX ™ TC4x | [openvela Running Guide for TC4D9-EVB](../quickstart/development_board/tc4d9_evb_guide.md) | Vehicle Motion Controllers, Zonal Controllers, Automotive Gateways, etc. | [Contact Distributor](https://www.infineon.cn/contact-us/where-to-buy) | [Contact Distributor](https://www.infineon.cn/contact-us/where-to-buy) |
\ No newline at end of file
diff --git a/en/device_dev_guide/connection/bluetooth/functionality_test/AdapterBTCommands/get.md b/en/device_dev_guide/connection/bluetooth/functionality_test/AdapterBTCommands/get.md
index b6444c65..6f165c41 100644
--- a/en/device_dev_guide/connection/bluetooth/functionality_test/AdapterBTCommands/get.md
+++ b/en/device_dev_guide/connection/bluetooth/functionality_test/AdapterBTCommands/get.md
@@ -33,8 +33,8 @@ The `scanmode` command is used to get the current scanning status attribute of t
#### Parameter Table
-| **Parameter** | **Description** | **Type** |
-| :-----------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------- |
+| **Parameter** | **Description** | **Type** |
+| :-----------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------: |
| scan mode | Discoverability and connectivity state:
0: Not discoverable, not connectable.
1: Not discoverable but connectable.
2: (Default) Discoverable and connectable. | Decimal integer |
#### Example
diff --git a/en/device_dev_guide/connection/bluetooth/functionality_test/AdapterBTCommands/set.md b/en/device_dev_guide/connection/bluetooth/functionality_test/AdapterBTCommands/set.md
index 7a9933de..46160c1d 100644
--- a/en/device_dev_guide/connection/bluetooth/functionality_test/AdapterBTCommands/set.md
+++ b/en/device_dev_guide/connection/bluetooth/functionality_test/AdapterBTCommands/set.md
@@ -38,6 +38,7 @@ set
| :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------- |
| scan mode | Configures discoverability and connectability:
0: Not discoverable and not connectable.
1: Not discoverable but connectable.
2: (Default) Discoverable and connectable. | Decimal integer |
+
#### Example
Set the adapter to connectable but not discoverable:
diff --git a/en/device_dev_guide/connection/network/socketcan/figures/003.png b/en/device_dev_guide/connection/network/socketcan/figures/003.png
new file mode 100644
index 00000000..17a41412
Binary files /dev/null and b/en/device_dev_guide/connection/network/socketcan/figures/003.png differ
diff --git a/en/device_dev_guide/connection/network/socketcan/figures/004.png b/en/device_dev_guide/connection/network/socketcan/figures/004.png
new file mode 100644
index 00000000..533b6ca7
Binary files /dev/null and b/en/device_dev_guide/connection/network/socketcan/figures/004.png differ
diff --git a/en/device_dev_guide/connection/network/socketcan/figures/005.png b/en/device_dev_guide/connection/network/socketcan/figures/005.png
new file mode 100644
index 00000000..b18952e6
Binary files /dev/null and b/en/device_dev_guide/connection/network/socketcan/figures/005.png differ
diff --git a/en/device_dev_guide/connection/network/socketcan/figures/006.png b/en/device_dev_guide/connection/network/socketcan/figures/006.png
new file mode 100644
index 00000000..0891b957
Binary files /dev/null and b/en/device_dev_guide/connection/network/socketcan/figures/006.png differ
diff --git a/en/device_dev_guide/connection/network/socketcan/figures/007.png b/en/device_dev_guide/connection/network/socketcan/figures/007.png
new file mode 100644
index 00000000..0784204f
Binary files /dev/null and b/en/device_dev_guide/connection/network/socketcan/figures/007.png differ
diff --git a/en/device_dev_guide/connection/network/socketcan/figures/008.png b/en/device_dev_guide/connection/network/socketcan/figures/008.png
new file mode 100644
index 00000000..e9895b7e
Binary files /dev/null and b/en/device_dev_guide/connection/network/socketcan/figures/008.png differ
diff --git a/en/device_dev_guide/connection/network/socketcan/figures/009.png b/en/device_dev_guide/connection/network/socketcan/figures/009.png
new file mode 100644
index 00000000..277faef9
Binary files /dev/null and b/en/device_dev_guide/connection/network/socketcan/figures/009.png differ
diff --git a/en/device_dev_guide/connection/network/socketcan/figures/010.png b/en/device_dev_guide/connection/network/socketcan/figures/010.png
new file mode 100644
index 00000000..28117682
Binary files /dev/null and b/en/device_dev_guide/connection/network/socketcan/figures/010.png differ
diff --git a/en/device_dev_guide/connection/network/socketcan/figures/011.png b/en/device_dev_guide/connection/network/socketcan/figures/011.png
new file mode 100644
index 00000000..71c35ec7
Binary files /dev/null and b/en/device_dev_guide/connection/network/socketcan/figures/011.png differ
diff --git a/en/device_dev_guide/connection/network/socketcan/figures/012.png b/en/device_dev_guide/connection/network/socketcan/figures/012.png
new file mode 100644
index 00000000..6e802066
Binary files /dev/null and b/en/device_dev_guide/connection/network/socketcan/figures/012.png differ
diff --git a/en/device_dev_guide/connection/network/socketcan/figures/013.png b/en/device_dev_guide/connection/network/socketcan/figures/013.png
new file mode 100644
index 00000000..30753be8
Binary files /dev/null and b/en/device_dev_guide/connection/network/socketcan/figures/013.png differ
diff --git a/en/device_dev_guide/connection/network/socketcan/figures/014.png b/en/device_dev_guide/connection/network/socketcan/figures/014.png
new file mode 100644
index 00000000..d9cd43ea
Binary files /dev/null and b/en/device_dev_guide/connection/network/socketcan/figures/014.png differ
diff --git a/en/device_dev_guide/connection/network/socketcan/figures/015.png b/en/device_dev_guide/connection/network/socketcan/figures/015.png
new file mode 100644
index 00000000..979fdc26
Binary files /dev/null and b/en/device_dev_guide/connection/network/socketcan/figures/015.png differ
diff --git a/en/device_dev_guide/connection/network/socketcan/sil_socketcan_test.md b/en/device_dev_guide/connection/network/socketcan/sil_socketcan_test.md
new file mode 100644
index 00000000..53d2474a
--- /dev/null
+++ b/en/device_dev_guide/connection/network/socketcan/sil_socketcan_test.md
@@ -0,0 +1,224 @@
+# SIL SocketCAN Functional Testing Guide
+
+[ English | [简体中文](../../../../../zh-cn/device_dev_guide/connection/network/socketcan/sil_socketcan_test.md) ]
+
+## I. Overview
+
+This guide aims to demonstrate how to perform SocketCAN functional testing using openvela in a Software-in-the-Loop (SIL) environment.
+
+Through this example, you will build and run the Vector SIL Kit toolchain, bridging the Linux host's virtual CAN interface (vcan) with the openvela simulation target to achieve CAN message transmission, reception, and loopback response testing.
+
+## II. Test Architecture and Principles
+
+Before executing specific operations, it is crucial to understand the relationships between components and the data flow.
+
+### 1. Core Component Description
+
+This test scenario involves four core components that together form a closed-loop test environment:
+
+| **Component Name** | **Type** | **Functional Description** |
+| :------------------- | :-------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **openvela** | OS | The embedded operating system (System Under Test) running in the simulation environment, monitoring network traffic via the SocketCAN interface. |
+| **SIL Kit Registry** | Infrastructure | The "Command Tower" of the SIL Kit network, responsible for service discovery and coordinating connections between Participants. |
+| **SIL Kit Adapter** | Bridge | **The Connector**. One end connects to the Linux kernel vcan device `can0`, and the other connects to the virtual SIL Kit network, enabling message forwarding between two heterogeneous networks. |
+| **Echo Device** | Simulation Node | **The Test Node**. A virtual device running on the SIL Kit network used to simulate an external ECU. It automatically responds to received messages to verify if the communication link is functional. |
+
+### 2. Architecture and Data Flow Diagram
+
+
+
+**Data Flow Analysis:**
+
+1. **Injection**: The script sends a raw message with ID `001` to the Linux `can0`.
+2. **Bridging**: The `SIL Kit Adapter` captures this message from `can0`, encapsulates it, and forwards it to the SIL Kit virtual bus.
+3. **Processing**: The `Echo Device` receives the message from the virtual bus and processes it (ID+1, data bit shift).
+4. **Response**: The `Echo Device` sends the processed message with ID `002` back to the virtual bus.
+5. **Write-back**: The `SIL Kit Adapter` receives the response message, unpacks it, and writes it to the Linux `can0`.
+6. **Verification**: Since `openvela` is constantly listening to `can0`, it captures both the original message (001) and the response message (002).
+
+## III. Prerequisites
+
+Before starting, please ensure your development host (Ubuntu) meets the following requirements.
+
+### 1. Basic Environment Setup
+
+Please refer to the official documentation [Quick Start (Ubuntu)](../quickstart/openvela_ubuntu_quick_start.md) to complete the setup of the openvela basic development environment and source code download.
+
+### 2. SocketCAN Functional Verification
+
+Please refer to the official documentation [SocketCAN Usage Guide](./socketcan_guide.md) to complete the execution of SocketCAN functions, ensuring you are familiar with enabling SocketCAN functionality in openvela.
+
+## IV. Component Construction
+
+This section will guide you through compiling the Vector SIL Kit and its adapter components.
+
+### 1. Compiling the SIL Kit Core Library
+
+Vector SIL Kit is an open-source library used to connect Software-in-the-Loop components.
+
+> **Reference**: For an introduction to the SIL Kit, please visit: [GitHub - vectorgrp/sil-kit](https://github.com/vectorgrp/sil-kit)
+
+Please execute the following commands in the `openvela` source root directory:
+
+```Bash
+# 1. Enter the dependency directory
+cd ./external/vector-sil
+
+# 2. Initialize and compile SIL Kit
+cd ./sil-kit
+git submodule update --init --recursive
+
+# Configure CMake (disable documentation and tests to speed up compilation)
+cmake -S. -Bbuild -DSILKIT_BUILD_DOCS=OFF -DCMAKE_INSTALL_PREFIX=./install -DSILKIT_BUILD_TESTS=OFF
+
+# Execute installation
+cmake --build build --target install -j16
+```
+
+### 2. Compiling the SocketCAN Adapter
+
+The adapter is used to bridge the SIL Kit network with the Linux SocketCAN device.
+
+```Bash
+# 1. Enter the adapter directory
+cd ../sil-kit-adapters-vcan
+
+# 2. Initialize and compile the adapter
+git submodule update --init --recursive
+
+# Configure CMake (specify the SIL Kit installation path)
+cmake -S. -Bbuild -DSILKIT_PACKAGE_DIR=../sil-kit/install -DCMAKE_BUILD_TYPE=Debug
+
+# Execute compilation
+cmake --build build --parallel
+```
+
+## V. Executing the Test
+
+This test requires opening **5 independent terminal windows** to run different components respectively. Please follow the order below.
+
+### Step 1: Start the openvela Simulation Platform (Terminal 1)
+
+Refer to the instructions in the "Prerequisites" section to start the openvela simulator.
+
+1. After a successful startup, the terminal will display the NSH (NuttShell) interface as follows:
+
+ 
+
+2. Execute the following command in NSH to start the CAN device:
+
+ ```Bash
+ ifup can0
+ ```
+
+**Expected Output:**
+
+`ifup can0...OK` indicates that the can0 device started successfully.
+
+### Step 2: Start the SIL Kit Registry (Terminal 2)
+
+Execute the following command in the `openvela/external/vector-sil/sil-kit/` directory:
+
+```Bash
+./install/bin/sil-kit-registry --log debug --listen-uri 'silkit://0.0.0.0:8501'
+```
+
+**Expected Output:**
+
+Upon success, the service starts and listens on port 8501.
+
+
+
+### Step 3: Start the vcan Adapter (Terminal 3)
+
+This step bridges the SIL Kit virtual network `CAN1` with the Linux host's `can0` interface.
+
+Execute the following command in the `openvela/external/vector-sil/sil-kit-adapters-vcan` directory:
+
+```Bash
+./bin/sil-kit-adapter-vcan --name SilKitAdapterVcan1 --registry-uri silkit://localhost:8501 --can-name can0 --network CAN1 --log Debug
+```
+
+**Expected Output**: The adapter successfully connects to the registry and begins bridging the `can0` and `CAN1` networks.
+
+
+
+At this point, **Terminal 2 (Registry)** will also refresh its log, showing that a new connection has been detected:
+
+
+
+### Step 4: Start the Echo Demo Device (Terminal 4)
+
+Create a `CanEchoDevice` connected to the SIL Kit CAN1 network. The `CanEchoDevice` responds to received data (CAN ID increments by one, data shifts left by one byte) and sends the response to the SIL Kit CAN1 network.
+
+Execute the following command in the `openvela/external/vector-sil/sil-kit-adapters-vcan` directory:
+
+```Bash
+./bin/sil-kit-demo-can-echo-device
+```
+
+**Expected Output:**
+
+
+
+**Terminal 2 (Registry)** will show that the Echo device is connected:
+
+
+
+### Step 5: Monitor Data and Inject Traffic
+
+1. Enable Monitoring (Terminal 1).
+
+ Return to the terminal running openvela and enable CAN data dump monitoring in NSH:
+
+ ```Bash
+ candump can0
+ ```
+
+2. Inject Traffic (Terminal 5).
+
+ Run the script on the Linux host to send test messages to the `can0` interface.
+
+ Execute the following command in the `openvela/external/vector-sil/sil-kit-adapters-vcan` directory:
+
+ ```Bash
+ ./SocketCAN/demos/shell_scripts/send_CAN_frames.sh can0
+ ```
+
+ This continuously generates CAN messages (CAN ID = 001, Data=AAAABBBB) and sends them to the vcan device CAN0.
+
+ 
+
+## VI. Result Verification and Analysis
+
+### 1. Data Flow Analysis
+
+After the test starts, the data flow is as follows:
+
+1. **Terminal 5** sends raw message (ID: 001) -> Linux `can0`.
+2. **Terminal 3** (Adapter) reads message from `can0` -> Forwards to SIL Kit network `CAN1`.
+3. **Terminal 4** (Echo Device) receives message -> Processes (ID+1, Shift Left) -> Sends response message (ID: 002) to `CAN1`.
+4. **Terminal 3** (Adapter) receives response from `CAN1` -> Writes to Linux `can0`.
+5. **Terminal 1** (openvela) reads both the raw message and the response message via `candump`.
+
+### 2. Verification Results
+
+**Terminal 1 (openvela NSH) Output:**
+
+In Terminal 1, the complete traffic interaction is monitored:
+
+
+
+**Terminal 3 (Adapter) Log:**
+
+The adapter records the message conversion process in detail:
+
+
+
+**Conclusion**:
+
+- The CAN frame with CAN ID 001 is the data injected into the vcan device can0 by the script `send_CAN_frames.sh`.
+- The CAN frame with CAN ID 002 is the response to the message from `sil-kit-demo-can-echo-device`, where the CAN ID is incremented by 1 and the data is shifted left by 1 byte.
+- openvela successfully monitored the complete interaction process via the SocketCAN interface, completing a simple test of SocketCAN communication functionality in a SIL environment.
+
+Furthermore, other test software such as CANoe can be connected to the SIL Kit as participants to complete more comprehensive testing of SocketCAN functionality.
diff --git a/en/device_dev_guide/connection/network/socketcan/socketcan_guide.md b/en/device_dev_guide/connection/network/socketcan/socketcan_guide.md
new file mode 100644
index 00000000..b4f8cf03
--- /dev/null
+++ b/en/device_dev_guide/connection/network/socketcan/socketcan_guide.md
@@ -0,0 +1,214 @@
+# SocketCAN User Guide
+
+[ English | [简体中文](../../../../../zh-cn/device_dev_guide/connection/network/socketcan/socketcan_guide.md) ]
+
+## I. Introduction to SocketCAN
+
+**SocketCAN** is an open-source driver and network stack developed for the CAN (Controller Area Network) protocol within the Linux kernel. Unlike traditional character device drivers, SocketCAN utilizes the Berkeley Socket API network programming interface, abstracting the CAN bus as a network interface (e.g., `can0`). This makes CAN protocol development highly similar to Ethernet programming.
+
+Introducing SocketCAN support in the openvela operating system offers the following significant advantages:
+
+- **Standardized Interfaces**: The application layer can access the CAN bus via standard `socket`, `bind`, `write`, and `read` system calls.
+- **Multiplexing**: Supports multiple applications accessing the same CAN interface simultaneously without the need to handle complex concurrency locks.
+- **Tool Ecosystem**: Natively compatible with powerful standard Linux debugging tools such as `can-utils` (e.g., `candump`, `cansend`).
+
+This guide will lead you through configuring and using this powerful functionality within the openvela SIL (Software-in-the-Loop) simulation environment.
+
+## II. Overview
+
+This experiment aims to establish a virtual CAN network between a Linux host and an openvela instance using the QEMU emulator to verify the feasibility of bidirectional data communication.
+
+**Upon completing this experiment, you will achieve the following objectives:**
+
+1. Successfully build and launch the openvela system with the SocketCAN protocol stack supported.
+2. Master the methods for exchanging CAN data frames between the host and openvela.
+
+## III. Prerequisites
+
+Please complete the following software installation and source code preparation on the development host (Ubuntu environment).
+
+### 1. Build Basic Development Environment
+
+Please first refer to the official documentation [Quick Start (Ubuntu)](../quickstart/openvela_ubuntu_quick_start.md) to complete the setup of the openvela compilation environment and the downloading of source code.
+
+### 2. Install CAN Debugging Tools
+
+Execute the following command in the host terminal to install the `can-utils` toolkit, which is used for CAN data debugging on the Linux side:
+
+```bash
+sudo apt-get install can-utils
+```
+
+## IV. System Configuration and Build
+
+This chapter takes the `openvela sil` platform as an example to guide you on enabling core SocketCAN functionality.
+
+### 1. Configure Function Options (Menuconfig)
+
+Execute the following command to enter the configuration interface for `core0`:
+
+```bash
+./build.sh vendor/openvela/boards/sil/configs/ksil_arm32r_nsh_core0 --cmake menuconfig
+```
+
+Please locate and enable the following key configuration items in the configuration menu (or confirm that the `.config` file contains the following):
+
+```Makefile
+# CAN Controller Support
+CONFIG_CAN_CTUCANFD=y
+CONFIG_CAN_CTUCANFD_SOCKET=y
+
+# PCI & Bus Support
+CONFIG_PCI=y
+CONFIG_PCI_MSIX=y
+
+# Networking Support
+CONFIG_NET=y
+CONFIG_NET_CAN=y
+CONFIG_NET_SOCKOPTS=y
+CONFIG_NETDEV_LATEINIT=y
+CONFIG_NETDEV_IFINDEX=y
+
+# BSD Compatibility
+CONFIG_ALLOW_BSD_COMPONENTS=y
+
+# CAN Utilities (NuttX side)
+CONFIG_CANUTILS_LIBCANUTILS=y
+CONFIG_CANUTILS_CANSEND=y
+CONFIG_CANUTILS_CANDUMP=y
+
+# Disable unrelated CAN drivers to avoid conflicts
+CONFIG_CAN=n
+CONFIG_CAN_KVASER=n
+```
+
+### 2. Compile Project
+
+Use `protect` mode to build the Bootloader (BL) and the Core System (Core0) separately.
+
+#### Step 1: Execute Compilation Commands
+
+```Bash
+# Build BL
+./build.sh vendor/openvela/boards/sil/configs/ksil_arm32r_nsh_bl --cmake -j8
+
+# Build Core0
+./build.sh vendor/openvela/boards/sil/configs/ksil_arm32r_nsh_core0 --cmake -j8
+```
+
+#### Step 2: Deploy Build Artifacts
+
+Create the release directory and move the ELF image files:
+
+```Bash
+mkdir ./cmake_out/cur-release/
+
+# Copy build artifacts
+cp ./cmake_out/sil_ksil_arm32r_nsh_core0/vela_core0.elf ./cmake_out/cur-release/ &&
+cp ./cmake_out/sil_ksil_arm32r_nsh_core0/vela_core0_user.elf ./cmake_out/cur-release/
+```
+
+## V. Running the Simulation Environment
+
+### 1. Create Virtual CAN Network
+
+Execute the following commands in the **Host (Ubuntu) terminal** to load the `vcan` module and create virtual CAN nodes.
+
+**Note**: This step requires `sudo` privileges.
+
+```Bash
+cp -r ./vendor/openvela/boards/sil/tools ./cmake_out/cur-release
+
+# Creation of virtual CAN nodes, creating 10 vcan nodes
+sudo modprobe vcan; \
+for i in {0..9}; do \
+ sudo ip link add dev can$i type vcan; \
+ sudo ip link set up can$i; \
+done
+# After adding, you can execute ifconfig to check if these interfaces exist and are running
+```
+
+### 2. Start openvela Simulation
+
+Execute the startup script to run the QEMU environment:
+
+```Bash
+./cmake_out/cur-release/tools/run_arm32r_qemu_ctu_canfd.sh 10 3 protect 1
+```
+
+**Parameter Explanation**:
+
+- `10`: The number of mapped CAN devices (must match the number of vcan nodes created in the previous step).
+- `3`: The number of serial devices.
+- `protect`: The boot mode.
+- `1`: The number of startup cores.
+
+After the system starts successfully, the terminal will display the `core0>` prompt:
+
+
+
+## VI. Functionality Verification Experiment
+
+This section verifies bidirectional communication between the host and openvela.
+
+### Scenario 1: openvela Receives CAN Data
+
+#### Step 1: Target Setup (openvela)
+
+Start the CAN interface and listen for data in the `openvela` NSH terminal:
+
+```Bash
+ifup can0
+candump can0
+```
+
+#### Step 2: Host Send (Ubuntu)
+
+Open a new Ubuntu terminal window and send test data to `can0`:
+
+```Bash
+# Send standard frame (ID: 123, Data: 12 34 56 78)
+cansend can0 123#12345678
+
+# Send standard frame (ID: 123, Data: deadbeef)
+cansend can0 123#deadbeef
+
+# Send remote request frame (RTR)
+cansend can0 123#R
+```
+
+#### Step 3: Verify Results
+
+Observe the openvela terminal; it should display the received data frames:
+
+
+
+### Scenario 2: openvela Sends CAN Data
+
+#### Step 1: Host Listen (Ubuntu)
+
+Execute the listening command in the Ubuntu terminal:
+
+```bash
+candump can0
+```
+
+#### Step 2: Target Send (openvela)
+
+Execute the send command in the openvela NSH terminal:
+
+```Bash
+# Ensure the interface is up
+ifup can0
+
+# Send test data
+cansend can0 123#12345678
+cansend can0 123#deadbeef
+cansend can0 123#R
+```
+
+#### Step 3: Verify Results
+
+Observe the Ubuntu terminal; it should receive the data frames from openvela:
+
+
\ No newline at end of file
diff --git a/en/faq/QuickStart_FAQ.md b/en/faq/QuickStart_FAQ.md
index 7a98c12e..9308af90 100644
--- a/en/faq/QuickStart_FAQ.md
+++ b/en/faq/QuickStart_FAQ.md
@@ -176,8 +176,7 @@ This issue is typically caused by **Git Large File Storage (Git LFS)** files not
3. Update repo if version is too old:
- If the version is below v2.22, it's recommended to reinstall the repo command by referring to
- [Setting Up the Development Environment](./../quickstart/Set_up_the_development_environment.md).
+ If the version is below v2.22, it's recommended to reinstall the repo.
## VI. Qt Platform Plugin Initialization Failure
diff --git a/en/quickstart/Build_Vela_from_sources.md b/en/quickstart/Build_Vela_from_sources.md
deleted file mode 100644
index fc988768..00000000
--- a/en/quickstart/Build_Vela_from_sources.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# Compile the openvela Source Code
-
-\[ English | [简体中文](./../../zh-cn/quickstart/Build_Vela_from_sources_zh-cn.md) \]
-
-## Use build.sh to Build openvela
-
-After installing the required packages for openvela and downloading the openvela source code, you can compile the openvela source code into a binary file to be run on the development board.
-
-### Initialize Configuration
-
-The first step is to initialize the openvela configuration for the target development board based on the existing configuration.
-
-Select the configuration by passing “vendor//boards//configs/” as a parameter to build.sh
-
-```bash
-./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap -j8
-```
-
-## Common Issues
-
-- [Quick Start FAQ](../faq/QuickStart_FAQ.md)
-
-## Next Steps
-
-For the next step, if you choose Emulator to run openvela, refer to [Run openvela on Emulator](./Run_Vela_on_Vela_Emulator.md).
diff --git a/en/quickstart/Download_Vela_sources.md b/en/quickstart/Download_Vela_sources.md
deleted file mode 100644
index a29920b2..00000000
--- a/en/quickstart/Download_Vela_sources.md
+++ /dev/null
@@ -1,114 +0,0 @@
-# Download openvela Source Code
-
-\[ English | [简体中文](./../../zh-cn/quickstart/Download_Vela_sources_zh-cn.md) \]
-
-The **openvela** source code is hosted in Git repositories on multiple platforms, including [GitHub](https://github.com/open-Vela), [Gitee](https://gitee.com/open-vela), and [GitCode](https://gitcode.com/open-vela). This guide will walk you through the process of downloading the source code.
-
-## Prerequisites
-
-- You have the `repo` tool installed.
-- A stable internet connection is required for downloading the source code.
-
-## Step 1: Prepare the Workspace and Initialize the Source Code
-
-1. Create and enter the working directory:
-
- Open a terminal and run the following commands to create a directory for the source code.
-
- ```bash
- mkdir vela-opensource
- cd vela-opensource
- ```
-
-2. Install Git LFS (First-time setup only):
-
- openvela uses Git LFS (Large File Storage) to manage large files in its repositories. Before proceeding, ensure that Git LFS is installed and enabled on your system.
-
- ```bash
- # Install Git LFS on Ubuntu systems
- sudo apt update
- sudo apt install git-lfs
- ```
-
-3. Choose a Source and Initialize the Repository:
-
- Choose one of the following methods from any platform based on your network environment and preferences. Using HTTPS is recommended.
-
- ### Option A: Download from GitHub
-
- - **Method 1: HTTPS (Recommended)**
-
- This is the simplest method and does not require SSH key configuration.
-
- ```bash
- repo init --partial-clone -u https://github.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs
- ```
-
- - **Method 2: SSH**
-
- This method requires you to add your SSH public key to your GitHub account. Please refer to the [official GitHub documentation](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account).
-
- ```bash
- repo init --partial-clone -u ssh://git@github.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs
- ```
-
- ### Option B: Download from Gitee
-
- - **Method 1: HTTPS (Recommended)**
-
- This method provides better access for users in mainland China.
-
- ```bash
- repo init --partial-clone -u https://gitee.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs
- ```
-
- - **Method 2: SSH**
-
- This method requires you to add your SSH public key to your Gitee account. Please refer to the [official Gitee documentation](https://gitee.com/help/articles/4191) (in Chinese).
-
- ```bash
- repo init --partial-clone -u ssh://git@gitee.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs
- ```
-
- ### Option C: Download from GitCode
-
- - **Method 1: HTTPS (Recommended)**
-
- This command includes the Tsinghua University mirror to accelerate the download of the `repo` tool itself.
-
- ```bash
- repo init --partial-clone -u https://gitcode.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
- ```
-
- - **Method 2: SSH**
-
- This method requires you to add your SSH public key to your GitCode account. Please refer to the [official GitCode documentation](https://docs.gitcode.com/docs/help/home/user_center/security_management/ssh) (in Chinese).
-
- ```bash
- repo init --partial-clone -u ssh://git@gitcode.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
- ```
-
-## Step 2: Sync the Source Code
-
-After the `repo` initialization is complete, run the following command to sync the full openvela source code to your local working directory.
-
-```bash
-repo sync -c -j8
-```
-
-> **Note**
->
-> - The `-c` flag tells `repo` to sync only the current branch specified in the manifest, which can reduce the amount of data downloaded.
-> - The `-j8` flag uses 8 concurrent jobs for synchronization. You can adjust this value based on your machine's CPU cores and network conditions to speed up the download.
-
-## Important Note
-
-The openvela project uses **clang-format version 14** for code style checking. If you plan to contribute code, please ensure your development environment is configured with the corresponding tool. For more details, see the [Code Style Check Guide](../contribute/code_style_check_guide.md).
-
-## FAQ
-
-- [Quick Start FAQ](../faq/QuickStart_FAQ.md)
-
-## Next Steps
-
-After downloading the source code, proceed to the [Compile the openvela source code](./Build_Vela_from_sources.md) document to learn how to compile and build the system.
diff --git a/en/quickstart/Run_Vela_on_Vela_Emulator.md b/en/quickstart/Run_Vela_on_Vela_Emulator.md
deleted file mode 100644
index 1de4b0ed..00000000
--- a/en/quickstart/Run_Vela_on_Vela_Emulator.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# Run Build Artifacts on Emulator
-
-\[ English | [简体中文](./../../zh-cn/quickstart/Run_Vela_on_Vela_Emulator_zh-cn.md) \]
-
-## Overview of Emulator
-
-Emulator simulates an openvela device on a computer, allowing developers to test applications and drivers on a variety of devices. A physical device is not needed.
-
-Emulator is based on Android Emulator, with improvements and enhancements.
-
-Emulator offers the following advantages:
-
-- An exclusive operating mode for loading and running the mirror of openvela. It’s a way to skip Android-specific operations
-- Loading openvela's own kernel in openvela mode
-- Loading openvela's own system partition in openvela mode
-- `NMEA` calibration support for a GNSS emulator
-
-The following Hosts are supported:
-
-- Linux x86\_64
-- Linux arm64
-- macOS x86\_64
-- macOS aarch64
-- Windows x64
-
-The following Targets are supported:
-
-- arm
-- arm64
-- x86
-- x86\_64
-
-The following goldfish-specific drivers have been implemented in openvela:
-
-- Qemu Pipe
-- ADB
-- Battery
-- Camera
-- GNSS
-- Graphic
-- Sensors
-
-## Run Emulator
-
-1. Switch to the root directory of openvela repository, and start an instance of Emulator by passing the option “vela” to emulator.sh
-
- ```Bash
- ./emulator.sh vela
- ```
-
-2. Once openvela is started and gets into “nsh”, run the following command inside “openvela-ap":
-
- ```Bash
- lvgldemo &
- ```
-
- This appears after execution:
- 
-
-3. Exit the Emulator instance, as shown below:
-
- 
-
-## Control Emulator
-
-You can control a running instance of Emulator with ADB or the console.
-
-- [ADB commands](./emulator/Android_Debug_Bridge_commands.md)
-- [Send emulator console commands](./emulator/Send_emulator_console_commands.md)
-
-## Debug with Emulator
-
-- [Debugging with Emulator](./emulator/Debugging_Vela_with_Vela_Emulator.md)
-
-## Common Issues
-
-- [Quick Start FAQ](../faq/QuickStart_FAQ.md)
diff --git a/en/quickstart/Set_up_the_development_environment.md b/en/quickstart/Set_up_the_development_environment.md
deleted file mode 100644
index e35bee83..00000000
--- a/en/quickstart/Set_up_the_development_environment.md
+++ /dev/null
@@ -1,74 +0,0 @@
-# Setting up the Development Environment
-
-\[ English | [简体中文](./../../zh-cn/quickstart/Set_up_the_development_environment_zh-cn.md) \]
-
-## Hardware Requirements
-
-Your development workstation should meet the following hardware requirements:
-
-- A 64-bit x86 system
-- At least 80 GB of free disk space for downloading and building the source code
-- At least 16 GB of RAM
-
-## Operating System Requirements
-
-**The development workstation must run a 64-bit Ubuntu 22.04 Linux distribution.**
-
-> **Note**: **WSL** and **Docker** environments are not supported.
-
-## Procedures
-
-### Step 1: Install Required Packages
-
-Use Ubuntu 22.04 to build openvela. Run the following command to install the required packages on Ubuntu 22.04:
-
-```bash
-sudo apt install \
-bison flex gettext texinfo libncurses5-dev libncursesw5-dev xxd \
-git gperf automake libtool build-essential gperf genromfs \
-libgmp-dev libmpc-dev libmpfr-dev libisl-dev binutils-dev libelf-dev \
-libexpat1-dev gcc-multilib g++-multilib picocom u-boot-tools util-linux \
-dfu-util libx11-dev libxext-dev net-tools pkgconf unionfs-fuse zlib1g-dev \
-libusb-1.0-0-dev libv4l-dev libuv1-dev npm nodejs nasm yasm libdivsufsort-dev \
-libc++-dev libc++abi-dev libprotobuf-dev protobuf-compiler protobuf-c-compiler mtools
-```
-
-### Step 2: Install Repo
-
-Run the following command to install the Repo launcher:
-
-```bash
-curl https://storage.googleapis.com/git-repo-downloads/repo > repo
-chmod +x repo
-sudo mv repo /usr/local/bin/
-```
-
-The Repo launcher is a Python script that initializes a checkout and downloads the full Repo tool.
-
-### Step 3: Install KConfig frontend
-
-The openvela configuration system uses [KConfig](https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt), which is part of the `kconfig-frontends` package. KConfig configures the system through a series of interactive menu-based frontends. Whether you install it from a package or build from source depends on your operating system. The source code is available in the [NuttX tools repository](https://bitbucket.org/nuttx/tools/src/master/kconfig-frontends/).
-
-```bash
-sudo apt install kconfig-frontends
-```
-
-### Step 4: Install Python
-
-```bash
-sudo apt install python3 python3-pip python-is-python3
-```
-
-### Step 5: Install Python Packages
-
-```bash
-sudo pip3 install kconfiglib pyelftools cxxfilt
-```
-
-## FAQ
-
-- [Quick Start FAQ](../faq/QuickStart_FAQ.md)
-
-## Next Steps
-
-Refer to [Download openvela Source Code](./Download_Vela_sources.md).
diff --git a/en/quickstart/development_board/ESP32-S3-EYE.md b/en/quickstart/development_board/ESP32-S3-EYE.md
index c7cb7297..2cdb0679 100644
--- a/en/quickstart/development_board/ESP32-S3-EYE.md
+++ b/en/quickstart/development_board/ESP32-S3-EYE.md
@@ -12,11 +12,7 @@ This guide details how to port the `openvela` system to the Espressif ESP32-S3-E
## II. Prerequisites
-Before you begin, ensure you have completed the basic environment setup for `openvela`. If not, please follow these official documents:
-
-1. [Set up the Development Environment](./../Set_up_the_development_environment.md)
-2. [Download openvela Source Code](./../Download_Vela_sources.md)
-3. [Build openvela from Source](./../Build_Vela_from_sources.md)
+To download the source code, see [Quick Start](./../openvela_ubuntu_quick_start.md).
## III. Preparation: Set Up the ESP32-S3 Development Environment
diff --git a/en/quickstart/development_board/STM32F407.md b/en/quickstart/development_board/STM32F407.md
index 037aa794..a25d9347 100644
--- a/en/quickstart/development_board/STM32F407.md
+++ b/en/quickstart/development_board/STM32F407.md
@@ -6,7 +6,7 @@ This guide provides a detailed walkthrough for porting the `openvela` operating
After completing this tutorial, you will be able to create a basic BSP for a new hardware platform, successfully run the `openvela` system, and control the onboard LED.
-### What You Will Learn
+## What You Will Learn
- The core principles of `openvela`'s board-level porting and its boot process.
- How to implement the key C language interface functions required for board-level initialization.
@@ -14,14 +14,13 @@ After completing this tutorial, you will be able to create a basic BSP for a new
- How to integrate a new board into the `openvela` build system using Kconfig.
- How to create a `defconfig` default configuration file for the new board.
-### Prerequisites
+## Prerequisites
Before you begin, please ensure you have completed the following preparations:
-1. **Set up the development environment**: Follow the [Set up the development environment](./../Set_up_the_development_environment.md) document to install the toolchain and configure your environment.
-2. **Get the source code**: Refer to the [Download openvela Source Code](./../Download_Vela_sources.md) document to clone the latest code.
-3. **Understand the openvela architecture**: It is recommended to read the [openvela Architecture](./../../../README.md#technical-architecture) beforehand to understand its layered design.
-4. **Review the boot process**: Consult the [System Boot Process](./../../device_dev_guide/kernel/boot_process.md) document for a more detailed startup sequence and function call graph.
+1. **Get the Source Code**: Refer to the [Quick Start](./../openvela_ubuntu_quick_start.md) document to download the latest code.
+2. **Understand the openvela architecture**: It is recommended to read the [openvela Architecture](./../../../README.md#technical-architecture) beforehand to understand its layered design.
+3. **Review the boot process**: Consult the [System Boot Process](./../../device_dev_guide/kernel/boot_process.md) document for a more detailed startup sequence and function call graph.
## I. Porting Principles and Boot Process
diff --git a/en/quickstart/development_board/STM32F411.md b/en/quickstart/development_board/STM32F411.md
index 8aea292d..c88a0941 100644
--- a/en/quickstart/development_board/STM32F411.md
+++ b/en/quickstart/development_board/STM32F411.md
@@ -25,7 +25,7 @@ Please install and configure the following software on your development host (Ub
1. **Set up the openvela development environment.**
- First, please follow the official documentation [Set up the development environment](../../quickstart/Set_up_the_development_environment.md) to complete the basic setup.
+ Please refer to the official [Quick Start](./../openvela_ubuntu_quick_start.md) document to set up the basic `openvela` development environment.
2. **Install the ARM GCC toolchain.**
diff --git a/en/quickstart/development_board/STM32H750.md b/en/quickstart/development_board/STM32H750.md
index 6fc2c76b..80bd20c4 100644
--- a/en/quickstart/development_board/STM32H750.md
+++ b/en/quickstart/development_board/STM32H750.md
@@ -12,8 +12,8 @@ This document explains how to deploy openvela on the STMicroelectronics **STM32H
1. Configure the build environment:
- Building openvela requires a properly configured development environment. For details, see
- [Set up the development environment](../Set_up_the_development_environment.md).
+ To compile openvela, you need to set up the development environment. For details, see [Quick Start](./../openvela_ubuntu_quick_start.md).
+
2. Install the build tools:
@@ -69,7 +69,7 @@ This document explains how to deploy openvela on the STMicroelectronics **STM32H
### 1. Download the Code
-Refer to [Download openvela source code](../Download_Vela_sources.md) to complete the code download.
+Refer to [Quick Start](../openvela_ubuntu_quick_start.md) to download the code.
### 2. Compile the code
diff --git a/en/quickstart/development_board/fc7300f8m_evb_guide.md b/en/quickstart/development_board/fc7300f8m_evb_guide.md
new file mode 100644
index 00000000..7854f8b5
--- /dev/null
+++ b/en/quickstart/development_board/fc7300f8m_evb_guide.md
@@ -0,0 +1,162 @@
+# FC7300F8M-EVB Development Board openvela Operation Guide
+
+[ English | [简体中文](../../../zh-cn/quickstart/development_board/fc7300f8m_evb_guide.md) ]
+
+## I. Overview
+
+This guide instructs you on how to compile, build, and run the openvela operating system in protect mode on the Flagchip FC7300F8M-EVB development board.
+
+The FC7300F8M-EVB is a high-performance reference board based on the FC7300F8MDT chip, suitable for scenarios such as domain controllers and Battery Management Systems (BMS).
+
+## II. Expected Results
+
+Upon completing the steps in this guide, you will successfully start the system and access the NSH (NuttShell) interactive terminal via the serial port (using the Minicom tool).
+
+
+
+## III. Prerequisites
+
+Please ensure you have prepared the following hardware devices and completed the software configuration on your development host (Ubuntu environment).
+
+### 1. Hardware Preparation
+
+- **Development Board**: One FC7300F8M-EVB development board.
+- **Debugger**: SEGGER J-Link debugger (supporting SWD mode).
+- **Cables**: Power cable and USB data cable.
+
+### 2. Basic Environment Setup
+
+Please refer to the official document [Quick Start (Ubuntu)](../../quickstart/openvela_ubuntu_quick_start.md) to complete the environment setup and source code download.
+
+### 3. Install J-Link Driver and Patch
+
+To support FC7300 series chips, you need to install the J-Link driver and apply specific device patches.
+
+#### Step 1: Install JLink Driver
+
+Obtain the `JLink_Linux_V688a_x86_64.deb` installation package and execute the following command to install it:
+
+[Download JLink_Linux_V688a_x86_64.deb](./jlink/JLink_Linux_V688a_x86_64.deb)
+
+```bash
+ sudo dpkg -i ./JLink_Linux_V688a_x86_64.deb
+```
+
+#### Step 2: Add FC7300 Device Support
+
+Obtain the device patch package `JLink_Patch_v2.19.7z` and execute the following commands to apply the patch to the J-Link installation directory.
+
+[Download JLink_Patch_v2.19.7z](./jlink/JLink_Patch_v2.19.7z)
+
+**Note**: Please replace `` with the actual path where you store the patch file.
+
+```Bash
+# 1. Decompress the patch package
+sudo apt update
+sudo apt install p7zip-full
+7z x JLink_Patch_v2.19.7z
+
+# 2. Copy device definition files
+sudo cp -rf /JLink_Patch_v2.19/Devices/* /opt/SEGGER/JLink/Devices/
+
+# 3. Update the device configuration file (JLinkDevices.xml)
+
+# Scenario A: If the /opt/SEGGER/JLink/JLinkDevices.xml file does not exist, execute the following copy command
+sudo cp -rp /home/mi/XXX/JLink_Patch_v2.19/JLinkDevices.xml /opt/SEGGER/JLink/JLinkDevices.xml
+
+# Scenario B: If the configuration file already exists
+# If the /opt/SEGGER/JLink/JLinkDevices.xml file already exists, please append the content within the tag from the JLinkDevices.xml file in the archive to the section of the /opt/SEGGER/JLink/JLinkDevices.xml file.
+```
+
+## IV. System Build and Execution
+
+This chapter details how to compile the Bootloader (BL) and Core0 system images and flash them to the development board.
+
+### 1. Compile the Project
+
+Enter the openvela source code root directory to build the Bootloader and Core0 respectively.
+
+#### Step 1: Compile Bootloader (BL)
+
+```Bash
+./build.sh vendor/flagchip/boards/fc7300/fc7300f8m-evb/configs/kbl --cmake -j8
+```
+
+#### Step 2: Compile Core System (Core0)
+
+```Bash
+./build.sh vendor/flagchip/boards/fc7300/fc7300f8m-evb/configs/kcore0 --cmake -j8
+```
+
+After successful compilation, the generated image files will be located in the following directories:
+
+- **BL Image**:`./cmake_out/fc7300f8m-evb_kbl`
+
+ 
+
+- **Core0 Image**:`./cmake_out/fc7300f8m-evb_kcore0`
+
+ 
+
+### 2. Flash Images
+
+You can choose to flash using `.hex` files (recommended) or `.bin` files.
+
+**Method 1: Flash using .hex files (Recommended)**
+
+This method includes address information natively, eliminating the need to manually specify the flash address, making operation safer.
+
+```Bash
+# Flash Bootloader
+cd ./cmake_out/fc7300f8m-evb_kbl
+echo "loadfile vela_bl.hex" | sudo JLinkExe -if SWD -device FC7300F8MDTxXxxxT1B -speed 4800 -NoGui 1
+
+# Flash Core0 and User images
+cd ./cmake_out/fc7300f8m-evb_kcore0
+echo "loadfile vela_core0.hex" | sudo JLinkExe -if SWD -device FC7300F8MDTxXxxxT1B -speed 4800 -NoGui 1
+echo "loadfile vela_core0_user.hex" | sudo JLinkExe -if SWD -device FC7300F8MDTxXxxxT1B -speed 4800 -NoGui 1
+```
+
+**Method 2: Flash using .bin files**
+
+Strict specification of the memory start address for each image is required.
+
+```Bash
+# Flash Bootloader (Address: 0x01000000)
+cd ./cmake_out/fc7300f8m-evb_kbl
+echo "loadfile vela_bl.bin 0x01000000" | sudo JLinkExe -if SWD -device FC7300F8MDTxXxxxT1B -speed 2500 -NoGui 1
+
+# Flash Core0 (Address: 0x01040000) and User images (Address: 0x011C0000)
+cd ./cmake_out/fc7300f8m-evb_kcore0
+echo "loadfile vela_core0.bin 0x01040000" | sudo JLinkExe -if SWD -device FC7300F8MDTxXxxxT1B -speed 2500 -NoGui 1
+echo "loadfile vela_core0_user.bin 0x011C0000" | sudo JLinkExe -if SWD -device FC7300F8MDTxXxxxT1B -speed 2500 -NoGui 1
+```
+
+**Note**: After flashing is complete, you must **power cycle** (disconnect power and restart) the development board to ensure the system loads correctly.
+
+### 3. Serial Connection and Verification
+
+Use `minicom` to connect to the development board's serial port to view startup logs.
+
+1. Execute the following command in the host terminal (assuming the device ID is `/dev/ttyUSB0`):
+
+ ` sudo minicom -D /dev/ttyUSB0 -b 115200 `
+
+2. Press the Reset button on the development board.
+3. The terminal will output startup information and display the `core0>` prompt, indicating the system is running normally.
+
+ 
+
+## V. Troubleshooting
+
+### Q: Ubuntu fails to recognize the serial device `/dev/ttyUSB0`
+
+**Symptom**: After connecting the development board, the `ttyUSB0` device cannot be found in the `/dev/` directory, or the device connection is intermittent.
+
+**Cause**: The built-in Braille display driver `brltty` in Ubuntu may occupy the USB-to-Serial device, causing a conflict.
+
+**Solution**:
+
+```Bash
+sudo apt remove brltty
+```
diff --git a/en/quickstart/development_board/figures/060.png b/en/quickstart/development_board/figures/060.png
new file mode 100644
index 00000000..def45c4d
Binary files /dev/null and b/en/quickstart/development_board/figures/060.png differ
diff --git a/en/quickstart/development_board/figures/064.png b/en/quickstart/development_board/figures/064.png
new file mode 100644
index 00000000..35c7f624
Binary files /dev/null and b/en/quickstart/development_board/figures/064.png differ
diff --git a/en/quickstart/development_board/figures/065.png b/en/quickstart/development_board/figures/065.png
new file mode 100644
index 00000000..0f725934
Binary files /dev/null and b/en/quickstart/development_board/figures/065.png differ
diff --git a/en/quickstart/development_board/figures/066.png b/en/quickstart/development_board/figures/066.png
new file mode 100644
index 00000000..c04de4d7
Binary files /dev/null and b/en/quickstart/development_board/figures/066.png differ
diff --git a/en/quickstart/development_board/figures/067.png b/en/quickstart/development_board/figures/067.png
new file mode 100644
index 00000000..7d96fd97
Binary files /dev/null and b/en/quickstart/development_board/figures/067.png differ
diff --git a/en/quickstart/development_board/figures/068.png b/en/quickstart/development_board/figures/068.png
new file mode 100644
index 00000000..3e0a959b
Binary files /dev/null and b/en/quickstart/development_board/figures/068.png differ
diff --git a/en/quickstart/development_board/figures/069.png b/en/quickstart/development_board/figures/069.png
new file mode 100644
index 00000000..c04de4d7
Binary files /dev/null and b/en/quickstart/development_board/figures/069.png differ
diff --git a/en/quickstart/development_board/jlink/JLink_Linux_V688a_x86_64.deb b/en/quickstart/development_board/jlink/JLink_Linux_V688a_x86_64.deb
new file mode 100644
index 00000000..10c93067
Binary files /dev/null and b/en/quickstart/development_board/jlink/JLink_Linux_V688a_x86_64.deb differ
diff --git a/en/quickstart/development_board/jlink/JLink_Patch_v2.19.7z b/en/quickstart/development_board/jlink/JLink_Patch_v2.19.7z
new file mode 100644
index 00000000..44089654
Binary files /dev/null and b/en/quickstart/development_board/jlink/JLink_Patch_v2.19.7z differ
diff --git a/en/quickstart/development_board/tc4d9_evb_guide.md b/en/quickstart/development_board/tc4d9_evb_guide.md
new file mode 100644
index 00000000..50c8cacc
--- /dev/null
+++ b/en/quickstart/development_board/tc4d9_evb_guide.md
@@ -0,0 +1,157 @@
+# TC4D9-EVB Development Board openvela Operation Guide
+
+[ English | [简体中文](../../../zh-cn/quickstart/development_board/tc4d9_evb_guide.md) ]
+
+## I. Overview
+
+This guide instructs you on how to compile, build, deploy, and verify the operation of the openvela operating system on the Infineon TC4D9-EVB development board.
+
+The TC4D9-EVB is based on the Infineon AURIX™ TC4x series microcontrollers (TC4D9/TC4Z9/TC489). It integrates rich interfaces such as multi-channel CAN-FD, LIN, Ethernet, and PCIe, making it suitable for the development and prototype verification of automotive electronics and high-performance embedded systems.
+
+## II. Expected Results
+
+Upon completing the steps in this guide, the system will successfully start. You will be able to access the NSH (NuttShell) via a serial terminal (such as MobaXterm) for interaction, and perform multicore switching.
+
+
+
+## III. Prerequisites
+
+This process involves two operating environments: a **Linux Build Host** for compiling the code, and a **Windows Host** for flashing tools.
+
+### 1. Hardware Preparation
+
+- **Development Board**: One TC4D9-EVB development board.
+- **Cables**: Power cable and USB data cable (connected to the on-board debugger interface).
+
+### 2. Build Host Preparation (Ubuntu)
+
+1. On your Ubuntu environment, please refer to the official document [Quick Start (Ubuntu)](../../quickstart/openvela_ubuntu_quick_start.md) to complete the openvela development environment setup and source code download.
+2. Open a terminal and execute the following commands to update the package list and install `srecord`.
+
+ ```bash
+ sudo apt update
+ sudo apt install srecord
+ ```
+
+### 3. Flash Host Preparation (Windows)
+
+The toolchain for flashing the TC4x series relies on the Windows environment. Please install the following software.
+
+1. **Install the TAS Tool (Tool Access Socket)**
+
+ TAS (Tool Access Socket) is a middleware software suite released by Infineon. It provides a unified, abstract hardware access interface for host development tools and is a prerequisite for using the flashing tools.
+
+ - Link: [Infineon TAS](https://softwaretools.infineon.com/tools/com.ifx.tb.tool.infineontoolaccesssockettas)
+ - **Verify Installation**: After installation, connect the development board and power it on. Open the Windows Device Manager; if the `Infineon DAS JDS COM` device appears, the driver is successfully installed.
+
+2. **Install the AURIX™ Flasher Tool**
+
+ This is a command-line tool used for erasing, programming, and verifying TC4x series chips.
+
+ - Download Link: [AURIX™ Flasher Software Tool](https://softwaretools.infineon.com/assets/com.ifx.tb.tool.aurixflashersoftwaretool)
+ - **Verify Installation**: It is installed by default in the `C:\Infineon\AURIXFlasherSoftwareTool-3.0.14` directory. Enter this directory to verify the installation
+
+3. **Install the MobaXterm Serial Terminal**
+
+ Used for serial communication with the development board. Download link: [MobaXterm_Portable](https://download.mobatek.net/2542025111600034/MobaXterm_Portable_v25.4.zip)。
+
+### 4. Configure Serial Connection
+
+1. Connect the development board to the computer via USB.
+2. Open the MobaXterm software and click **Session**.
+3. Select **Serial** to establish a Serial session.
+4. **Port**: Select the corresponding `Infineon DAS JDS COM` port.
+5. **Speed** (bps): Set to `115200`.
+6. Click **Advanced Serial settings** and set **Flow control** to `None`.
+7. Click **OK** to open the connection.
+
+## IV. System Build (Ubuntu)
+
+The TC4x architecture contains multiple cores, requiring the separate compilation of the Bootloader (BL) and firmware for 6 cores.
+
+### 1. Execute Compilation
+
+Enter the openvela source code root directory and execute the following sequence of commands:
+
+```Bash
+# 1. Compile Bootloader
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/bl --cmake -j16
+
+# 2. Compile firmware for each core (Core0 - Core5)
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/core0 --cmake -j16
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/core1 --cmake -j16
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/core2 --cmake -j16
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/core3 --cmake -j16
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/core4 --cmake -j16
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/core5 --cmake -j16
+```
+
+### 2. Verify Build Artifacts
+
+After compilation is complete, please collect the following **7 .hex files** from the `cmake_out/` directory:
+
+- `cmake_out/infineon_tc4d9_evb_bl/vela_bl.hex`
+- `cmake_out/infineon_tc4d9_evb_core0/vela_core0.hex`
+- ... to ...
+- `cmake_out/infineon_tc4d9_evb_core5/vela_core5.hex`
+
+## V. Firmware Deployment (Windows)
+
+### 1. Transfer Firmware
+
+Copy the 7 `.hex` files mentioned above from the Ubuntu host to the same directory on the Windows host (e.g., `D:\firmware\` or the AURIXFlasher installation directory).
+
+### 2. Execute Flashing
+
+1. Ensure the development board is powered on and connected via USB.
+2. Enter the AURIXFlasher installation directory (default is `C:\Infineon\AURIXFlasherSoftwareTool-3.0.14`), then right-click and select "Open in Terminal".
+3. Execute the following commands to flash (assuming the hex files are located in the current directory):
+
+ **Important Note**: You must flash all 7 firmware files (BL + 6 Cores). Missing the firmware for any core may cause the system to fail to boot properly.
+
+ ```Plain
+ :: Flash Bootloader
+ ./AURIXFlasher.exe -hex vela_bl.hex
+
+
+ :: Flash Core0 - Core5
+ ./AURIXFlasher.exe -hex vela_core0.hex
+ ./AURIXFlasher.exe -hex vela_core1.hex
+ ./AURIXFlasher.exe -hex vela_core2.hex
+ ./AURIXFlasher.exe -hex vela_core3.hex
+ ./AURIXFlasher.exe -hex vela_core4.hex
+ ./AURIXFlasher.exe -hex vela_core5.hex
+ ```
+
+## VI. Execution and Verification
+
+### 1. Start the System
+
+After all firmware is flashed, the system will automatically reset and start.
+
+### 2. Serial Interaction
+
+Return to the MobaXterm serial window. You will see startup logs, and the system will eventually stay at the `core0>` prompt, indicating that Core0 is ready.
+
+
+
+### 3. Multicore Switching Verification
+
+openvela supports connecting to the virtual terminals of other cores via the `cu` (Call Utility) command within NSH.
+
+- **Switch Command**: Execute `cu -l /dev/ttyCOREx` in core0 (where x represents the core number).
+- **Exit Command**: Press `Ctrl + C` to return to Core0.
+
+**Example: Switch to Core2**
+
+Enter the command:
+
+```Bash
+cu -l /dev/ttyCORE2
+```
+
+The terminal prompt will change to `core2>`, as shown below:
+
+
+
+Use the `Ctrl + C` command to return to core0.
\ No newline at end of file
diff --git a/en/quickstart/images/001.png b/en/quickstart/figures/001.png
similarity index 100%
rename from en/quickstart/images/001.png
rename to en/quickstart/figures/001.png
diff --git a/en/quickstart/images/002.png b/en/quickstart/figures/002.png
similarity index 100%
rename from en/quickstart/images/002.png
rename to en/quickstart/figures/002.png
diff --git a/en/quickstart/figures/004.png b/en/quickstart/figures/004.png
new file mode 100644
index 00000000..ff34191f
Binary files /dev/null and b/en/quickstart/figures/004.png differ
diff --git a/en/quickstart/figures/005.png b/en/quickstart/figures/005.png
new file mode 100644
index 00000000..6f04b3e8
Binary files /dev/null and b/en/quickstart/figures/005.png differ
diff --git a/en/quickstart/figures/006.png b/en/quickstart/figures/006.png
new file mode 100644
index 00000000..59d6c2d6
Binary files /dev/null and b/en/quickstart/figures/006.png differ
diff --git a/en/quickstart/figures/007.png b/en/quickstart/figures/007.png
new file mode 100644
index 00000000..a3d69187
Binary files /dev/null and b/en/quickstart/figures/007.png differ
diff --git a/en/quickstart/figures/008.png b/en/quickstart/figures/008.png
new file mode 100644
index 00000000..14779897
Binary files /dev/null and b/en/quickstart/figures/008.png differ
diff --git a/en/quickstart/figures/009.png b/en/quickstart/figures/009.png
new file mode 100644
index 00000000..7d4dafa8
Binary files /dev/null and b/en/quickstart/figures/009.png differ
diff --git a/en/quickstart/openvela_macos_quick_start.md b/en/quickstart/openvela_macos_quick_start.md
new file mode 100644
index 00000000..e4b0be0f
--- /dev/null
+++ b/en/quickstart/openvela_macos_quick_start.md
@@ -0,0 +1,263 @@
+# Quick Start (macOS)
+
+[ English | [简体中文](./../../zh-cn/quickstart/openvela_macos_quick_start.md) ]
+
+This guide will walk you through setting up the development environment, downloading the source code, compiling the project, and running the build artifacts on the **macOS** operating system using the Vela Emulator.
+
+## Step 1: Prerequisites
+
+Before you begin, ensure your development environment meets the following requirements.
+
+### 1. Hardware Requirements
+
+- **Disk**: At least 40 GB of free space for source code and build artifacts.
+- **Memory**: At least 16 GB of RAM.
+
+### 2. Operating System Requirements
+
+- **Operating System**: macOS 12 (Monterey) or later.
+
+### 3. Install Development Tools
+
+Install the development tools required for compiling openvela in the following order.
+
+1. Install Xcode Command Line Tools.
+
+ Xcode Command Line Tools include core utilities for software development on macOS, such as the Clang compiler and Git. Open the **Terminal** app and run the following command:
+
+ ```Bash
+ xcode-select --install
+ ```
+
+ In the pop-up dialog, click **Install** and agree to the license agreement to complete the installation.
+
+2. Install CMake. CMake is a cross-platform build system generator.
+
+ 1. Visit the [official CMake download page](https://cmake.org/download) to download and install the latest version of **CMake (3.x)** for macOS.
+
+ 2. After installation, run the following command to add CMake to the system path, allowing it to be called directly from the terminal.
+
+ ```Bash
+ /Applications/CMake.app/Contents/MacOS/CMake --install
+ ```
+
+3. Install Git LFS.
+
+ Git Large File Storage (LFS) is used to handle large files in code repositories.
+
+ Visit the [official Git LFS website](https://git-lfs.com/), then download and run the installer.
+
+4. Install Python 3.
+
+ The `repo` tool and build scripts depend on a Python 3 environment.
+
+ 1. Visit the [official Python website](https://www.python.org/downloads/) to download and install the latest version of Python 3.
+
+ 2. After installation, you must run the `Install Certificates.command` script to ensure Python's SSL certificates are configured correctly, which prevents subsequent network request failures. Adjust the path according to your installed Python version.
+
+ ```Bash
+ # Example path, adjust it based on your actual installed Python version
+ sudo /Applications/Python\ 3.12/Install\ Certificates.command
+ ```
+
+5. Install Homebrew.
+
+ Homebrew is a package manager for macOS. We will use it to install `gpg`, a dependency for the `repo` tool. Run the following command to install Homebrew:
+
+ ```Bash
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
+ ```
+
+6. Install GPG. GnuPG (GPG) is a dependency required by the `repo` tool to verify code signatures.
+
+ 1. Use Homebrew to install `gpg`.
+
+ ```Bash
+ brew install gpg
+ ```
+
+ 2. If the `gpg` command is not recognized by the system, run the following command to create a symbolic link manually.
+
+ ```Bash
+ ln -s /opt/homebrew/bin/gpg /usr/local/bin/gpg
+ ```
+
+## Step 2: Download the Source Code
+
+openvela uses the `repo` tool to manage its source code, which is distributed across multiple Git repositories.
+
+### 1. Install the Repo Tool
+
+`repo` is a repository management tool built on top of Git. Run the following commands to securely download and install it.
+
+```Bash
+curl -sSL "https://storage.googleapis.com/git-repo-downloads/repo" > repo
+chmod +x repo
+sudo mv repo /usr/local/bin
+```
+
+After installation, you can run `repo --version` to verify it.
+
+### 2. Initialize and Sync the Repository
+
+1. Create a working directory to store all of the openvela source code.
+
+ ```Bash
+ mkdir openvela && cd openvela
+ ```
+
+2. Initialize the project manifest using `repo` and specify the `trunk` branch.
+
+ Please select one of the following methods (SSH is recommended) based on your network environment and preference to initialize the repository.
+
+ #### Option A: Download from GitHub
+
+ - Method 1: SSH (Recommended)
+
+ This method requires you to add your SSH public key to your GitHub account first. Please refer to the [official GitHub documentation](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account).
+
+ ```bash
+ repo init -u ssh://git@github.com/open-vela/manifests.git -b trunk -m openvela.xml
+ ```
+
+ - Method 2: HTTPS
+
+ ```bash
+ repo init -u https://github.com/open-vela/manifests.git -b trunk -m openvela.xml
+ ```
+
+ #### Option B: Download from Gitee
+
+ - Method 1: SSH (Recommended)
+
+ This method requires you to add your SSH public key to your Gitee account first. Please refer to the [official Gitee documentation](https://gitee.com/help/articles/4191).
+
+ ```bash
+ repo init --u ssh://git@gitee.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+ - Method 2: HTTPS
+
+ ```bash
+ repo init -u https://gitee.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+ #### Option C: Download from GitCode
+
+ - Method 1: SSH (Recommended)
+
+ This method requires you to add your SSH public key to your GitCode account first. Please refer to the [official GitCode documentation](https://docs.gitcode.com/docs/help/home/user_center/security_management/ssh).
+
+ ```bash
+ repo init -u ssh://git@gitcode.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+ - Method 2: HTTPS
+
+ ```bash
+ repo init -u https://gitcode.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+3. Run the sync command. `repo` will download all relevant source code repositories according to the manifest file (`openvela.xml`).
+
+ ```Bash
+ repo sync -c -j8
+ ```
+
+## Step 3: Compile the Source Code
+
+After downloading the source code, perform the following build steps in the openvela root directory.
+
+### 1. Set Up Environment Variables
+
+Run the following commands to add the prebuilt toolchain paths to the environment variables for the current terminal session.
+
+```Bash
+uname_s=$(uname -s | tr '[A-Z]' '[a-z]')
+uname_m=$(uname -m | sed 's/arm64/aarch64/g')
+export PATH=$PWD/prebuilts/build-tools/${uname_s}-${uname_m}/bin:$PATH
+export PATH=$PWD/prebuilts/cmake/${uname_s}-${uname_m}/bin:$PATH
+export PATH=$PWD/prebuilts/python/${uname_s}-${uname_m}/bin:$PATH
+export PATH=$PWD/prebuilts/gcc/${uname_s}-${uname_m}/aarch64-none-elf/bin:$PATH
+export PATH=$PWD/prebuilts/gcc/${uname_s}-${uname_m}/arm-none-eabi/bin:$PATH
+export PYTHONPATH=$PWD/prebuilts/tools/python/dist-packages/cxxfilt
+export PYTHONPATH=$PWD/prebuilts/tools/python/dist-packages/kconfiglib:$PYTHONPATH
+export PYTHONPATH=$PWD/prebuilts/tools/python/dist-packages/pyelftools:$PYTHONPATH
+```
+
+> **Note**: This environment variable configuration is only valid for the current terminal window. If you open a new terminal, you must run this script again.
+
+### 2. Configure the CMake Project (Out-of-Tree)
+
+openvela uses an **Out-of-tree build** approach, which separates the build artifacts from the source code to keep the source directory clean.
+
+Run the following `cmake` command to configure the project. This command will:
+
+- Generate the build system files in the `cmake_out/goldfish-arm64-v8a-ap` directory.
+- Use Ninja as the build tool to improve compilation speed.
+- Specify the configuration file for the target board.
+
+```Bash
+cmake \
+ -B cmake_out/goldfish-arm64-v8a-ap \
+ -S $PWD/nuttx \
+ -GNinja \
+ -DBOARD_CONFIG=../vendor/openvela/boards/vela/configs/goldfish-arm64-v8a-ap \
+ -DEXTRA_FLAGS="-Wno-cpp -Wno-deprecated-declarations"
+```
+
+
+
+### 3. (Optional) Customize Kernel Configuration
+
+You can use the `menuconfig` command to open a graphical interface for adjusting the NuttX kernel and component configurations.
+
+```Bash
+cmake --build cmake_out/goldfish-arm64-v8a-ap -t menuconfig
+```
+
+> **Tips**
+>
+> - Press `/` to search for a configuration item.
+> - Press the `Spacebar` to toggle the selection state (enable/disable/modularize).
+> - After configuring, select **Save** to save and exit.
+
+
+
+### 4. Run the Build
+
+Run the following command to build the entire project.
+
+```Bash
+cmake --build cmake_out/goldfish-arm64-v8a-ap
+```
+
+After a successful build, you will find `nuttx` and other build artifacts in the `cmake_out/goldfish-arm64-v8a-ap` directory.
+
+
+
+## Step 4: Run the Emulator
+
+In the openvela root directory, run the following script to start the `Vela Emulator` and load your build artifacts.
+
+```Bash
+./emulator.sh cmake_out/goldfish-arm64-v8a-ap
+```
+
+After the emulator starts, you will see the `goldfish-armv8a-ap>` prompt, indicating that openvela is running successfully.
+
+
+
+
+
+## Next Steps
+
+- Frequently Asked Questions
+
+ - [Quick Start FAQ](../faq/QuickStart_FAQ.md)
+
+- Further Reading
+
+ - [Debugging with the Emulator](./emulator/Debugging_Vela_with_Vela_Emulator.md)
+ - [ADB Commands](./emulator/Android_Debug_Bridge_commands.md)
+ - [Sending Emulator Console Commands](./emulator/Send_emulator_console_commands.md)
diff --git a/en/quickstart/openvela_ubuntu_quick_start.md b/en/quickstart/openvela_ubuntu_quick_start.md
new file mode 100644
index 00000000..2398b5fe
--- /dev/null
+++ b/en/quickstart/openvela_ubuntu_quick_start.md
@@ -0,0 +1,220 @@
+# Quick Start (Ubuntu)
+
+[ English | [简体中文](./../../zh-cn/quickstart/openvela_ubuntu_quick_start.md) ]
+
+This guide will walk you through setting up the development environment, downloading the source code, compiling, and building openvela on **Ubuntu 22.04**, and finally running the build artifacts using the Vela Emulator.
+
+> **Environment Requirements**
+>
+> This guide is only for **Ubuntu 22.04**. Compiling in Windows Subsystem for Linux (WSL) or Docker container environments is not supported.
+
+## Step 1: Preparations
+
+Before you begin, please ensure your development environment meets the following requirements.
+
+### 1. Hardware Requirements
+
+- **Hard drive:** At least 40 GB of free space for the source code and build artifacts.
+- **Memory:** At least 16 GB of RAM.
+
+### 2. Operating System Requirements
+
+- **Operating System:** Ubuntu 22.04 (arm64/x86_64)
+
+### 3. Install Development Tools
+
+Before you start, you need to install the necessary packages for compiling openvela.
+
+Open a terminal and run the following commands to update the package list and install Git, CMake, Python 3, and the build-essential toolchain.
+
+```Bash
+sudo apt update
+sudo apt install git git-lfs cmake python3 build-essential
+```
+
+## Step 2: Download the Source Code
+
+openvela uses the `repo` tool to manage its source code, which is distributed across multiple Git repositories.
+
+### 1. Install the Repo Tool
+
+`repo` is a repository management tool built on top of Git. Run the following commands to securely download and install it.
+
+```Bash
+curl -sSL "https://storage.googleapis.com/git-repo-downloads/repo" > repo
+chmod +x repo
+sudo mv repo /usr/local/bin
+```
+
+After installation, you can run `repo --version` to verify it.
+
+### 2. Initialize and Sync the Repository
+
+1. Create a working directory to store all of openvela's source code.
+
+ ```bash
+ mkdir openvela && cd openvela
+ ```
+
+2. Initialize the project manifest using `repo` and specify the `trunk` branch.
+
+ Please select one of the following methods (SSH is recommended) based on your network environment and preference to initialize the repository.
+
+ #### Option A: Download from GitHub
+
+ - Method 1: SSH (Recommended)
+
+ This method requires you to add your SSH public key to your GitHub account first. Please refer to the [official GitHub documentation](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account).
+
+ ```bash
+ repo init -u ssh://git@github.com/open-vela/manifests.git -b trunk -m openvela.xml
+ ```
+
+ - Method 2: HTTPS
+
+ ```bash
+ repo init -u https://github.com/open-vela/manifests.git -b trunk -m openvela.xml
+ ```
+
+ #### Option B: Download from Gitee
+
+ - Method 1: SSH (Recommended)
+
+ This method requires you to add your SSH public key to your Gitee account first. Please refer to the [official Gitee documentation](https://gitee.com/help/articles/4191).
+
+ ```bash
+ repo init --u ssh://git@gitee.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+ - Method 2: HTTPS
+
+ ```bash
+ repo init -u https://gitee.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+ #### Option C: Download from GitCode
+
+ - Method 1: SSH (Recommended)
+
+ This method requires you to add your SSH public key to your GitCode account first. Please refer to the [official GitCode documentation](https://docs.gitcode.com/docs/help/home/user_center/security_management/ssh).
+
+ ```bash
+ repo init -u ssh://git@gitcode.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+ - Method 2: HTTPS
+
+ ```bash
+ repo init -u https://gitcode.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+3. Execute the sync command. `repo` will download all related source code repositories according to the manifest file (`openvela.xml`).
+
+ ```bash
+ repo sync -c -j8
+ ```
+
+ 
+
+ > **Tip**
+ >
+ > - The initial sync can be time-consuming, depending on your network connection and disk performance.
+ > - If the sync is interrupted due to network issues, you can run `repo sync` again to resume.
+
+## Step 3: Build the Source Code
+
+After downloading the source code, perform the following compilation steps in the openvela root directory.
+
+### 1. Set Environment Variables
+
+Run the following command to add the paths of the prebuilt toolchains to the environment variables for the current terminal session.
+
+```Bash
+uname_s=$(uname -s | tr '[A-Z]' '[a-z]')
+uname_m=$(uname -m)
+export PATH=$PWD/prebuilts/build-tools/${uname_s}-${uname_m}/bin:$PATH
+export PATH=$PWD/prebuilts/cmake/${uname_s}-${uname_m}/bin:$PATH
+export PATH=$PWD/prebuilts/python/${uname_s}-${uname_m}/bin:$PATH
+export PATH=$PWD/prebuilts/gcc/${uname_s}-${uname_m}/aarch64-none-elf/bin:$PATH
+export PATH=$PWD/prebuilts/gcc/${uname_s}-${uname_m}/arm-none-eabi/bin:$PATH
+export PYTHONPATH=$PWD/prebuilts/tools/python/dist-packages/cxxfilt
+export PYTHONPATH=$PWD/prebuilts/tools/python/dist-packages/kconfiglib:$PYTHONPATH
+export PYTHONPATH=$PWD/prebuilts/tools/python/dist-packages/pyelftools:$PYTHONPATH
+```
+
+> **Note**: These environment variable settings are only valid for the current terminal session. If you open a new terminal, you must run this script again.
+
+### 2. Configure the CMake Project (Out-of-Tree)
+
+openvela uses an **Out-of-tree build** approach, which separates the build artifacts from the source code to keep the source directory clean.
+
+Run the following `cmake` command to configure the project. This command will:
+
+- Generate build system files in the `cmake_out/goldfish-arm64-v8a-ap` directory.
+- Use Ninja as the build tool to accelerate compilation.
+- Specify the configuration file for the target board.
+
+```Bash
+cmake \
+ -B cmake_out/goldfish-arm64-v8a-ap \
+ -S $PWD/nuttx \
+ -GNinja \
+ -DBOARD_CONFIG=../vendor/openvela/boards/vela/configs/goldfish-arm64-v8a-ap \
+ -DEXTRA_FLAGS="-Wno-cpp -Wno-deprecated-declarations"
+```
+
+
+
+### 3. (Optional) Customize Kernel Configuration
+
+You can use the `menuconfig` command to open a graphical interface to adjust the configuration of the NuttX kernel and its components.
+
+```Bash
+cmake --build cmake_out/goldfish-arm64-v8a-ap -t menuconfig
+```
+
+> **Tips**
+>
+> - Press `/` to search for configuration options.
+> - Press the `Spacebar` to toggle the selection state (enable/disable/module).
+> - After configuring, select **Save** to save and exit.
+
+
+
+### 4. Start the Build
+
+Execute the following command to build the entire project.
+
+```Bash
+cmake --build cmake_out/goldfish-arm64-v8a-ap
+```
+
+Upon successful compilation, you will find `nuttx` and other build artifacts in the `cmake_out/goldfish-arm64-v8a-ap` directory.
+
+
+
+## Step 4: Run the Emulator
+
+In the openvela root directory, run the following script to start the `Vela Emulator` and load your build artifacts.
+
+```Bash
+./emulator.sh cmake_out/goldfish-arm64-v8a-ap
+```
+
+After the emulator starts, you will see the `goldfish-armv8a-ap>` prompt, indicating that openvela is running successfully.
+
+
+
+
+
+## Next Steps
+
+- Frequently Asked Questions
+
+ - [Quick Start FAQ](../faq/QuickStart_FAQ.md)
+
+- Further Reading
+
+ - [Debugging Vela with the Vela Emulator](./emulator/Debugging_Vela_with_Vela_Emulator.md)
+ - [Android Debug Bridge commands](./emulator/Android_Debug_Bridge_commands.md)
+ - [Send emulator console commands](./emulator/Send_emulator_console_commands.md)
\ No newline at end of file
diff --git a/zh-cn/app_dev/system_apps/Dev_UI_App.md b/zh-cn/app_dev/system_apps/Dev_UI_App.md
index fa0dd5e6..3acf01fb 100644
--- a/zh-cn/app_dev/system_apps/Dev_UI_App.md
+++ b/zh-cn/app_dev/system_apps/Dev_UI_App.md
@@ -4,9 +4,8 @@
## 一、前提条件
-1. 搭建开发环境,请参见[环境搭建](./../../quickstart/Set_up_the_development_environment_zh-cn.md)。
-2. 下载源码,请参见[下载 openvela 源码](./../..//quickstart/Download_Vela_sources_zh-cn.md)。
-3. 在开始本教程之前,请从 [music_player](./../../../../../../packages_demos/tree/dev/music_player) 获取示例代码。
+1. 下载源码,请参见[快速入门](./../../quickstart/openvela_ubuntu_quick_start.md)。
+2. 在开始本教程之前,请从 [music_player](./../../../../../../packages_demos/tree/dev/music_player) 获取示例代码。
## 二、前置概念
diff --git a/zh-cn/app_dev/system_apps/hello_world/Hello_World.md b/zh-cn/app_dev/system_apps/hello_world/Hello_World.md
index ce534af9..f507857a 100644
--- a/zh-cn/app_dev/system_apps/hello_world/Hello_World.md
+++ b/zh-cn/app_dev/system_apps/hello_world/Hello_World.md
@@ -1,15 +1,17 @@
-# 添加 Hello World 示例
+# 运行 Hello World 示例
-\[ [English](../../../../en/app_dev/system_apps/hello_world/Hello_World.md) | 简体中文 \]
+[ [English](../../../../en/app_dev/system_apps/hello_world/Hello_World.md) | 简体中文 ]
-## 一、概述
+## 概述
-openvela 基于开源操作系统 NuttX 构建,进一步提供多种系统级服务。为了使 openvela 更加完善和功能全面,需要引入完整的开发框架或功能模块。一个完整的开发框架通常包含以下两部分:
+本文档面向开发者,旨在详细介绍如何在 openvela 操作系统中添加、配置和运行一个新的用户应用程序。openvela 基于 NuttX RTOS 构建,其模块化的设计允许开发者方便地集成自定义功能或第三方库。
-- 系统应用:内部开发的系统应用,通常存放于 `apps/` 等文件夹中。
-- 第三方系统库:引入第三方库并完成适配,通常存放于 `external/` 等文件夹中。
+一个典型的功能模块包含以下部分:
-新功能和框架的目录结构如下图所示:
+- **系统应用 (System Application)**:作为系统内置功能的一部分,通常存放于 `apps/` 目录下。
+- **第三方库 (Third-Party Library)**:作为外部依赖引入,通常存放于 `external/` 目录下。
+
+示例目录结构如下:
```Bash
└── vela
@@ -22,21 +24,21 @@ openvela 基于开源操作系统 NuttX 构建,进一步提供多种系统级
└── libs_2
```
-## 二、添加 Hello World 示例
+本指南将以 `Hello, World!` 示例应用程序为引导,完整演示从代码编写到构建、运行和自启动的全过程。
+
+## 步骤一:查看 Hello World 示例框架
-本节介绍如何在 openvela 中添加一个 `Hello World` 示例应用程序,包括主体框架、文件内容以及相关构建配置。
+本节介绍如何在 openvela 中添加一个示例应用程序,包括主体框架、文件内容以及相关构建配置。
### 1、主体框架
Hello World 示例应用程序需要包含以下核心文件:
-- `hello_main.c`:定义应用程序的主要逻辑。
-- `Kconfig`:定义条件编译宏,用于功能裁剪。
-- `CMakeLists.txt`:用于 openvela 中的 `CMake` 构建系统组织。
-- `Make.defs`:指示当前目录是否需要被编译,必须被上层目录包含。
-- `Makefile`:定义库的内部文件编译规则以及编译标志 (FLAGS)。
+- `hello_main.c`:应用程序的源代码,包含 `main` 函数入口。
+- `Kconfig`:构建系统的配置文件,用于在 `menuconfig` 中提供可裁剪的编译选项。
+- `CMakeLists.txt`:CMake 构建脚本,用于定义源码、依赖和编译规则。
-目录结构示例如下:
+目录结构示例如下,当前 Hello World 已添加完毕:
```Bash
apps
@@ -45,15 +47,11 @@ apps
├── hello_main.c
├── CMakeLists.txt
├── Kconfig
- ├── Make.defs
- └── Makefile
```
-### 2、文件内容
+### 2、编写源代码 (hello_main.c)
-#### hello_main.c
-
-文件 `hello_main.c` 应包含基本的 C 应用程序逻辑:
+查看 `hello_main.c` 文件,这是应用程序的执行逻辑入口:
```C
#include
@@ -65,7 +63,7 @@ int main(int argc, char *argv[])
}
```
-如需添加 C++ 应用程序,入口函数(`main`)需要使用 `extern "C"` 声明,以确保与上层接口兼容:
+如果您需要使用 C++,请确保 `main` 函数使用 `extern "C"` 声明,以保证其 C 语言链接兼容性,从而能被系统正确调用:
```C++
#include
@@ -77,19 +75,21 @@ extern "C" int main(int argc, char *argv[])
}
```
-#### Kconfig
+### 3、创建 Kconfig 配置文件
-以下是 `Kconfig` 文件的示例内容:
+查看 `Kconfig` 文件,用于定义应用程序的编译选项。这些选项将显示在 `menuconfig` 图形配置界面中,允许用户按需启用或配置您的应用:
-```plaintext
+```makefile
config EXAMPLES_HELLO
tristate "\"Hello, World!\" example"
default n
---help---
Enable the \"Hello, World!\" example
+# 仅当 EXAMPLES_HELLO 启用时,以下选项才可见
if EXAMPLES_HELLO
-# 下面 default "hello" 中的 hello 需要运行的指令
+
+# 定义应用程序在 openvela 中执行的命令名称
config EXAMPLES_HELLO_PROGNAME
string "Program name"
default "hello"
@@ -97,10 +97,12 @@ config EXAMPLES_HELLO_PROGNAME
This is the name of the program that will be used when the NSH ELF
program is installed.
+# 定义应用程序任务的优先级
config EXAMPLES_HELLO_PRIORITY
int "Hello task priority"
default 100
+# 定义应用程序任务的堆栈大小
config EXAMPLES_HELLO_STACKSIZE
int "Hello stack size"
default DEFAULT_TASK_STACKSIZE
@@ -108,31 +110,35 @@ config EXAMPLES_HELLO_STACKSIZE
endif
```
-#### CMakeLists.txt
+### 4、创建 CMake 构建脚本
-以下是 `CMakeLists.txt` 文件的内容示例,其中所有配置变量可以直接使用:
+查看 `CMakeLists.txt` 文件。openvela 的构建系统会自动加载 `.config` 文件中的所有宏定义作为 CMake 变量,因此您可以直接使用 `Kconfig` 中定义的配置。
```CMake
-# .config 中的所有配置已加载到 CMake 环境,因此可以直接使用变量
-
-# Enable Config, 代替原Make.defs configured_apps的配置
-
+# 检查 'EXAMPLES_HELLO' 是否在 .config 中被启用
if(CONFIG_EXAMPLES_HELLO) # 如果defconfig使能了该feature则加入编译
-
- # call 添加应用module `nuttx_add_application` 将hello添加为一个builtin app.
+
+ # 调用 nuttx_add_application 函数将应用注册为内置 (built-in) 程序
nuttx_add_application(
- NAME #参数标志:application唯一名称
- ${CONFIG_EXAMPLES_HELLO_PROGNAME} #参数值: 取hello Kconfig中的设置值为hello应用名称
- SRCS #参数标志:源文件
- hello_main.c #参数值: 传入应用的源文件,可以多个,main必须为第一个
- STACKSIZE #参数标志:栈大小
- ${CONFIG_EXAMPLES_HELLO_STACKSIZE} #参数值: 取Kconfig中的设置值,不传则为CONFIG_DEFAULT_TASK_STACKSIZE
- PRIORITY #参数标志:任务优先级
- ${CONFIG_EXAMPLES_HELLO_PRIORITY}) #参数值: 取Kconfig中的设置值,不传则为SCHED_PRIORITY_DEFAULT
+ # NAME: 指定应用的唯一名称,通常与 Kconfig 中的 PROGNAME 保持一致
+ NAME
+ ${CONFIG_EXAMPLES_HELLO_PROGNAME}
+
+ # SRCS: 指定源文件列表,main 函数所在文件应为第一个
+ SRCS
+ hello_main.c
+
+ # STACKSIZE: 指定任务堆栈大小
+ STACKSIZE
+ ${CONFIG_EXAMPLES_HELLO_STACKSIZE}
+
+ # PRIORITY: 指定任务优先级,不传则为SCHED_PRIORITY_DEFAULT
+ PRIORITY
+ ${CONFIG_EXAMPLES_HELLO_PRIORITY})
endif()
```
-`nuttx_add_application()` 的函数定义
+#### `nuttx_add_application()` 的函数定义
该 CMake 函数位于 `nuttx/cmake/nuttx_add_application.cmake` 文件中,用于添加并配置应用程序。
@@ -159,229 +165,130 @@ nuttx/cmake/nuttx_add_application.cmake
NO_MAIN_ALIAS : do not add a main=_main alias(*)
```
-#### Makefile
-
-要在 openvela 中添加一个新的应用程序,其核心步骤包括将应用程序的入口文件添加到 `MAINSRC` 中,并正确定义以下三个必要参数:
-
-- `PROGNAME`:应用程序的名称,在 `nsh` 启动时使用。
-- `PRIORITY`:应用程序的运行优先级。
-- `STACKSIZE`:应用程序的栈大小。
-
-以上三个参数是添加和运行一个应用程序的必备配置。
-
-以下是一个示例的 `Makefile` 配置内容:
-
-```Makefile
-include $(APPDIR)/Make.defs
-
-# 定义程序名称,可以从 Kconfig 值中获取,也可以直接定义
-PROGNAME = $(CONFIG_EXAMPLES_HELLO_PROGNAME)
-# 或者 PROGNAME = hello
-
-# 定义应用程序的优先级
-PRIORITY = $(CONFIG_EXAMPLES_HELLO_PRIORITY)
-# 或者 PRIORITY = 100 (大小根据需要指定)
-
-# 定义应用程序的栈大小
-STACKSIZE = $(CONFIG_EXAMPLES_HELLO_STACKSIZE)
-# 或者 STACKSIZE = 4096 (大小根据需要指定)
+## 步骤二:验证应用程序
-# 模块设置
-MODULE = $(CONFIG_EXAMPLES_HELLO)
+完成文件创建后,您需要通过以下步骤来配置、编译并运行您的应用程序。
-# 定义 main 函数所在的源文件
-MAINSRC = hello_main.c
+### 1、清理构建环境 (可选)
-# 如果引用了需要的头文件,可在此添加头文件路径,例如:
-CFLAGS += ${INCDIR_PREFIX}$(APPDIR)/external/libs/include
-# 等价于 CFLAGS += -I$(APPDIR)/external/libs/include
-
-# 如果是 C++ 项目,对应头文件的配置可添加到 CXXFLAGS 中
-# CXXFLAGS // c++ 相应的头文件
-
-# 如果添加内部开发的相应的源文件,需在这里添加相应的文件,如:
-# 其中路径的开始为当前路径,即当前 Makefile 所在的路径。
-# CSRCS += device_example.c
-
-# 如果有 C++ 源文件,按需添加:
-# CXXSRCS += hello_main.cxx // c++ 相应的源文件
-
-# 包含 openvela 的应用配置
-include $(APPDIR)/Application.mk
-```
-
-当项目拥有多个入口文件时,可以在 `Makefile` 中根据配置条件做出灵活调整,例如:
+如果您修改了 Kconfig 文件或希望进行全新编译,建议先执行清理操作:
```Bash
-ifeq ($(CONFIG_MAIN1),yes)
- PROGNAME += main1
- MAINSRC += main1.c
-endif
-
-ifeq ($(CONFIG_MAIN2),yes)
- PROGNAME += main2
- MAINSRC += main2.c
-endif
-```
-
-如果项目中 C++ 源文件的后缀不是 `.cxx`,需要在 `Makefile` 中通过 `CXXEXT` 参数指定后缀。例如:
-
-```Makefile
-CXXEXT := .cpp
-```
-
-#### Make.defs
-
-在 `Make.defs` 文件中,需将应用的路径添加到 `CONFIGURED_APPS` 中,使 openvela 的编译系统能够正确找到所需路径:
-
-```Makefile
-ifneq ($(CONFIG_EXAMPLES_HELLO),)
-CONFIGURED_APPS += $(APPDIR)/examples/hello_main
-endif
+# 使用 distclean 清理所有构建产物和配置
+./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap --cmake distclean -j$(nproc)
```
-## 三、验证测试
-
-新添加的应用需要通过清理并重新编译后才能生效。验证测试的步骤如下:
-
-### 1、清理代码
-
-使用以下命令执行清理操作:
+或者直接删除cmake产物
```Bash
-# 清理工程
-./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap distclean -j8
+# 或者直接删除cmake产物
+rm -rf cmake_out/vela_goldfish-armeabi-v7a-ap
```
-### 2、配置 Menuconfig
+### 2、图形化配置 (menuconfig)
-在 `menuconfig` 中启用对应的应用功能:
+启动 `menuconfig` 以在图形界面中启用您的新应用:
```Bash
# 启动 menuconfig
-./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap menuconfig -j8
+./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap --cmake menuconfig -j$(nproc)
```
-进入 `menuconfig` 后,启用 `hello_main`。
+在 `menuconfig` 界面中,通过以下路径找到并启用您的应用: `Application Configuration` ---> `Examples` ---> `[*] "Hello, World!" example`

### 3、编译和运行
+保存 `menuconfig` 配置后,执行编译。
+
```Bash
-# Build:
-./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap -j8
+# 编译固件 (-j`nproc` 使用所有 CPU 核心并行编译)
+./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap --cmake -j$(nproc)
-# Run:
+# 拷贝产物
+cp cmake_out/vela_goldfish-armeabi-v7a-ap/nuttx* nuttx/ &&
+cp cmake_out/vela_goldfish-armeabi-v7a-ap/vela_data.bin nuttx/ &&
+cp cmake_out/vela_goldfish-armeabi-v7a-ap/vela_system.bin nuttx/
+
+# 启动模拟器运行固件
./emulator.sh vela
```
-运行后,在串口中输入程序名称(*Program name*),程序名称已在文件 `Kconfig` 中定义。例如:`hello`,如下图所示:
+系统启动后,在 NSH 命令行中输入您在 `Kconfig` 中设置的程序名称(默认为 `hello`)并回车,即可看到程序输出:

-## 四、应用自启动
+## 步骤三:配置应用自启动
-openvela 的启动脚本存放在 `/etc` 目录下,该目录以 `romfs` 的形式与 openvela 的二进制文件链接在一起。在系统启动后会自动被 `nshlib` 挂载,相关配置如下。
+openvela 支持在系统启动时自动运行指定脚本,您可以通过编辑启动脚本来实现应用的自启动。
-### 1、配置项说明
+### 1、自启动机制与配置
+
+openvela 的启动脚本存放在 `/etc` 目录下,该目录以 `romfs` 的形式与 openvela 的二进制文件链接在一起。在系统启动后会自动被 `nshlib` 挂载,相关配置如下。
-在 `Makefile` 中,需要配置以下选项来支持自启动功能:
+确保您的板级配置启用了以下 `Kconfig` 选项:
```Makefile
CONFIG_FS_ROMFS=y
-CONFIG_NSH_ROMFSETC=y
-CONFIG_NSH_ROMFSMOUNTPT="/etc"
+CONFIG_ETC_ROMFS=y
+CONFIG_ETC_ROMFSMOUNTPT="/etc"
CONFIG_NSH_SYSINITSCRIPT="init.d/rc.sysinit"
CONFIG_NSH_INITSCRIPT="init.d/rcS"
```
### 2、启动脚本位置
-启动脚本的默认位置如下:
+默认的用户启动脚本位于板级配置目录中:
```Bash
vendor/openvela/boards/vela/src/etc/init.d/rc.sysinit # 系统初始化脚本
-vendor/openvela/boards/vela/src/etc/init.d/rcS # 用户脚本
+vendor/openvela/boards/vela/src/etc/init.d/rcS # 用户脚本
```
-### 3、脚本文件示例
+### 3、编辑启动脚本
-以下是 `rcS` 文件的内容示例:
-
-```C++
-#include
+打开 `rcS` 文件,在其中添加您应用的执行命令。
+```bash
#ifdef CONFIG_FS_HOSTFS
-mount -t hostfs -o fs=. /data # 挂载 Host 文件系统到 /data
+mount -t hostfs -o fs=vendor/openvela/boards/vela/resource /host
#endif
-hello # 前台运行 hello
-hello & # 后台运行 hello
+hello &
```
-## 四、实现应用程序自启动
-
-openvela 采用 NuttShell (NSH) 的启动脚本机制来实现应用程序的自启动。基本流程如下:
+添加后效果如下图所示:
-1. 系统在启动过程中,会将一个预置的只读文件系统 (Read-Only File System, ROMFS) 挂载到 `/etc` 目录。
-2. 挂载完成后,NSH 会自动执行 `/etc/init.d/rcS` 脚本文件。
-3. 您只需将需要自启动的应用程序命令写入 `rcS` 脚本,即可实现开机自启。
+
-### 1、启用自启动功能
-
-要使用此功能,您需要通过 Kconfig 系统配置,在构建配置中启用以下选项。
-
-| **配置项** | **推荐值** | **描述** |
-| :------------------------- | :-------------------- | :------------------------------------------------- |
-| `CONFIG_FS_ROMFS` | `y` | 启用 ROMFS 支持,这是存放启动脚本的基础。 |
-| `CONFIG_NSH_ROMFSETC` | `y` | 启用在系统启动时自动挂载 ROMFS 到 `/etc` 目录。 |
-| `CONFIG_NSH_ROMFSMOUNTPT` | `"/etc"` | 指定 ROMFS 的挂载点路径。 |
-| `CONFIG_NSH_SYSINITSCRIPT` | `"init.d/rc.sysinit"` | 指定系统级初始化脚本的路径。 |
-| `CONFIG_NSH_INITSCRIPT` | `"init.d/rcS"` | 指定用户级初始化脚本的路径,这是您需要编辑的文件。 |
-
-### 2、编辑用户启动脚本
-
-#### 脚本位置
-
-您需要修改的文件是用户启动脚本 `rcS`。
-
-- 用户脚本 (推荐修改): `vendor/openvela/boards/vela/src/etc/init.d/rcS`
-- 系统脚本 (请勿修改): `vendor/openvela/boards/vela/src/etc/init.d/rc.sysinit` 此脚本负责核心的系统初始化,修改它可能导致系统无法启动。
-
-#### 脚本编写示例
-
-以下是 `rcS` 脚本的一个示例。NSH 脚本支持标准的 Shell 命令,并兼容 C 语言的预处理器指令(如 `#ifdef`)。
+### 4、重新编译和运行
```Bash
-# NuttShell 脚本 (rcS)
+# 编译固件 (-j`nproc` 使用所有 CPU 核心并行编译)
+./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap --cmake -j$(nproc)
-#include
+# 拷贝产物
+cp cmake_out/vela_goldfish-armeabi-v7a-ap/nuttx* nuttx/ &&
+cp cmake_out/vela_goldfish-armeabi-v7a-ap/vela_data.bin nuttx/ &&
+cp cmake_out/vela_goldfish-armeabi-v7a-ap/vela_system.bin nuttx/
-# 使用 C 预处理器指令,判断是否配置了主机文件系统 (Host FS)
-#ifdef CONFIG_FS_HOSTFS
- # 如果已配置,则执行 mount 命令将主机目录挂载到 /data
- mount -t hostfs -o fs=. /data
-#endif
-
-# 启动一个名为 "hello" 的应用程序在前台运行。
-# 脚本将在此处阻塞,直到 hello 程序执行完毕。
-hello
-
-# 启动一个名为 "hello" 的应用程序在后台运行。
-# "&" 符号让程序在后台执行,脚本会立即继续执行下一行命令。
-hello &
+# 启动模拟器运行固件
+./emulator.sh vela
```
-#### 注意事项
+启动后效果如下图所示:
+
+
-1. 任务创建方式。
+**注意:**
- 对于需要在系统启动时运行的应用程序,我们推荐以下方式:
+- **使用 POSIX 线程**:在应用程序内部,推荐使用 `pthread_create()` 创建和管理子线程,而不是直接调用底层的 `task_create()`。这能保证更好的可移植性和兼容性。
+- **守护主线程**:如果您的主线程创建了子线程,请确保主线程在所有子线程安全退出后才结束。否则,主线程的退出可能导致整个进程被回收,子线程被强制终止。
+- **创建后台服务**:对于需要长期运行的服务,可以在 `rcS` 脚本中使用 `&` 将其置于后台运行。应用内部通常会进入一个循环(如 `while(1)`)来处理事件或执行周期性任务。
- - 通过 NSH 脚本启动 (推荐):对于大多数应用,在 `rcS` 脚本中使用 `&` 将其置于后台运行是最简单、最稳健的方法。
- - 通过程序化接口启动:对于需要复杂初始化或动态创建任务的场景,您可以在应用程序内部使用 POSIX 标准的 `pthread_create()` 函数来创建新线程。
+## 参考资料
-2. 线程管理。
+为帮助您更好地理解和添加 `CMakeLists.txt`,下面是参考资料和工具信息:
- 如果您的主应用程序使用 `pthread_create()` 创建了子线程,请确保主线程在所有子线程安全退出后才终止。过早退出主线程可能导致子线程被意外终止,从而引发系统不稳定或资源泄漏等问题。
+- openvela CMake 编译系统请参考 [CMake 快速入门](../../../device_dev_guide/build/CMake_quick_start.md)。
diff --git a/zh-cn/app_dev/system_apps/hello_world/figures/003.png b/zh-cn/app_dev/system_apps/hello_world/figures/003.png
new file mode 100644
index 00000000..1df32253
Binary files /dev/null and b/zh-cn/app_dev/system_apps/hello_world/figures/003.png differ
diff --git a/zh-cn/app_dev/system_apps/hello_world/figures/004.png b/zh-cn/app_dev/system_apps/hello_world/figures/004.png
new file mode 100644
index 00000000..548b4e28
Binary files /dev/null and b/zh-cn/app_dev/system_apps/hello_world/figures/004.png differ
diff --git a/zh-cn/chip_porting/Vendor.md b/zh-cn/chip_porting/Vendor.md
index 3362160f..0a0fc5f4 100644
--- a/zh-cn/chip_porting/Vendor.md
+++ b/zh-cn/chip_porting/Vendor.md
@@ -13,7 +13,7 @@
代码下载完成后,整体目录结构如下:
```Shell
-djz:vela$ tree -L 1
+$ tree -L 1
.
├── apps
├── build.sh -> nuttx/tools/build.sh
@@ -40,7 +40,7 @@ djz:vela$ tree -L 1
`vendor` 目录用于存放厂商的相关代码和配置。其目录内容布局如下:
```Shell
-djz:vendor$ tree -L 1
+$ tree -L 1
.
├──
├── Make.defs
@@ -61,11 +61,11 @@ djz:vendor$ tree -L 1
```C
//目录位置
-djz:vendor_name$ pwd
-/home/djz/workspace/velaos/vendor/
+$ pwd
+/home/{name_path}/workspace/velaos/vendor/
//目录layout
-djz:vendor_name$ tree -l
+$ tree -l
├── boards
│ └──
│ └──
diff --git a/zh-cn/demo/Music_Player_Example_zh-cn.md b/zh-cn/demo/Music_Player_Example_zh-cn.md
index 5c2ca8cd..0e625f3d 100644
--- a/zh-cn/demo/Music_Player_Example_zh-cn.md
+++ b/zh-cn/demo/Music_Player_Example_zh-cn.md
@@ -8,9 +8,7 @@
## 前提条件
-1. 搭建开发环境,请参见[环境搭建](../quickstart/Set_up_the_development_environment_zh-cn.md)。
-
-2. 下载源码,请参见[下载 openvela 源码](../quickstart/Download_Vela_sources_zh-cn.md)。
+下载源码,请参见[快速入门](./../quickstart/openvela_ubuntu_quick_start.md)。
## 步骤一 配置项目
diff --git a/zh-cn/demo/Smart_Band_Example_zh-cn.md b/zh-cn/demo/Smart_Band_Example_zh-cn.md
index e0b3fd10..f3f82d24 100644
--- a/zh-cn/demo/Smart_Band_Example_zh-cn.md
+++ b/zh-cn/demo/Smart_Band_Example_zh-cn.md
@@ -10,9 +10,7 @@
## 前提条件
-1. 搭建开发环境,请参见[环境搭建](../quickstart/Set_up_the_development_environment_zh-cn.md)。
-
-2. 下载源码,请参见[下载 openvela 源码](../quickstart/Download_Vela_sources_zh-cn.md)。
+下载源码,请参见[快速入门](./../quickstart/openvela_ubuntu_quick_start.md)。
## 步骤一 配置项目
diff --git a/zh-cn/demo/X_Track_zh-cn.md b/zh-cn/demo/X_Track_zh-cn.md
index dca628e7..76d84293 100644
--- a/zh-cn/demo/X_Track_zh-cn.md
+++ b/zh-cn/demo/X_Track_zh-cn.md
@@ -14,9 +14,7 @@
## 前提条件
-1. 搭建开发环境,请参见[环境搭建](../quickstart/Set_up_the_development_environment_zh-cn.md)。
-
-2. 下载源码,请参见[下载 openvela 源码](../quickstart/Download_Vela_sources_zh-cn.md)。
+下载源码,请参见[快速入门](./../quickstart/openvela_ubuntu_quick_start.md)。
## 步骤一 配置项目
diff --git a/zh-cn/dev_board/Development_Board.md b/zh-cn/dev_board/Development_Board.md
index 8013d26d..08577661 100644
--- a/zh-cn/dev_board/Development_Board.md
+++ b/zh-cn/dev_board/Development_Board.md
@@ -8,6 +8,6 @@
| 意法半导体 (STMicroelectronics) | STM32F411CEU6 | [STM32F411CE](https://www.st.com/en/microcontrollers-microprocessors/stm32f411ce.html) | [在 STM32F411 上使用 openvela 点亮 LED](../quickstart/development_board/STM32F411.md) | 物联网、工业自动化 | [购买链接](https://item.taobao.com/item.htm?abbucket=11&id=594670660262&ns=1&pisk=g--sY9MMDTfFh3IYhNDUVsm6s9IjkvorC-6vEKEaHGITDxO2Tn7AgVAflIRhkhSwQB1vaB1T0qfaci9XiIRXnAXAMIdfgFuE4dvGmihzG0oyIpevwdA_WlpKHtBuMv7TzUdWfihramaUpNcNDIRWgwmLJTfdBtCADvwdUtjAHOIxd6BfErF9MIHC9tBfHrCYXJedH6UTBsBY9pB5UsBAHZHBp6XADsdAWv9pPvPC3V6vCYgJpnSrQjJdOoEvA9hcbdwLfT-PC9CWBhwaQxX15_pOOfhY-UbW6ZtmFkOBcs_VZN2-EMpk8CBCVcNlCep5XTttnrSJrBtfyggqIG-MBUQv2j4vNCx66U9U1us2fpKNKIw87dbv8hbkbXE12UvNbEd-TP59PtIPVu57qiUbdaqfd_kIdr4DOa-FTSi8kjbOKOnrdvNQoNBhd9MIdr4cW9XtivMQOrf..&priceTId=2147831d17537712154442218e1cfd&spm=a21n57.sem.item.50.51873903rAXiL0&utparam={"aplus_abtest"%3A"88650fbdf45c34af5c7b5b5527a5bc29"}&xxc=taobaoSearch) | [ST MCU 中国支持](mailto:mcu.china@st.com) |
| 乐鑫科技 (Espressif) | [ESP32S3EYE](https://www.espressif.com.cn/zh-hans/dev-board/esp32-s3-eye-cn) | [ESP32S3](https://www.espressif.com.cn/zh-hans/products/socs/esp32-s3) | [在 ESP32-S3-EYE 开发板上移植 openvela](../quickstart/development_board/ESP32-S3-EYE.md) | AIoT、人机交互、智能家居 | [购买链接](https://item.taobao.com/item.htm?spm=a21n57.sem.item.1.3d75390372IH5V&priceTId=2147816e17537599042042013e18b1&utparam={"aplus_abtest"%3A"63d6c7ec4d03ab8b3f05e1c978046905"}&id=664295688431&ns=1&abbucket=5&xxc=taobaoSearch&pisk=g6ojYejoDsfX9HqOCrvPA5v-azq11L-ehOwtKAIVBoEAXdGZaczT_Ec_5fluWmrq3bNtTbNAbFVVflMssflsIK2T6fh__q8yYxD0jldF5H-EnbrNkflbWSHJBJ2UHLzA82hIcldeTh_PerA4XflBXBtRyJV8HReAXL18pJZTBlevF7e_KNCx6fp7yRy1HsFT68K8Q7QOW5U92geQH1ITMrpSe72TX5hTWLM-ZlsbUKNohpTpMPPB8XDYNGItDh48OaP8E8iSOrFLl7stU0wblWHxA9rsb8nrVyzPQQq-K4lYFktft-g-doesjpQ_1Pi0V-gksn4jpRhg00pOkW3qgunxROItFoNr60aAGQNKmYn32z-pdYnogxmSQOKTUXP-nmE6vpqbDSE7EcRlD5g-Wmz0jsd_s0M-DVsPMMPQLCb1Fyj_FWJWFNbihI1rYxEZcdaYE8RwFL_EIreuFWJWFNbgk82rQL958Af..) | [乐鑫开发者社区](https://www.espressif.com.cn/zh-hans/contact-us/technical-inquiries) |
| 乐鑫科技 (Espressif) | [ESP32S3BOX](https://www.espressif.com.cn/zh-hans/news/ESP32-S3-BOX_video) | [ESP32S3](https://www.espressif.com.cn/zh-hans/products/socs/esp32-s3) | [请参考:在 ESP32-S3-EYE 开发板上移植 openvela](../quickstart/development_board/ESP32-S3-EYE.md) | AIoT、人机交互、智能家居 | [购买链接](https://item.taobao.com/item.htm?id=732842971319&pisk=gOJq2JVGWxHVbZ7AiL6a8Sea8mWA3OuCnd_1jhxGcZbcldTwjGsanSVco3xlxawsDtGOQF7yWZ1fnZwNQh8951v15drvUey_hqhvjRW1I2gIdvtYGOBiRBruwraAAiqmCibcqtI6UFpmpvtvDNE4SDOodlr9DuE0sNYGE_jAbOj0IZmPEGIGI-fgn3blyaXGj1j0r_jCvo2ciF4lrGS0IGV0nTblfiWGSFXi43bRbObiw4vHBzS1i0bPYQmK2MCV-nbzL3pPmpFv0ali_LRcgw2CzR2MUi-ZrOVgLf_H9Z1C8UD73O-lbU5Bg2y27hxps_JaomTHmEppsnkr-t9vmBfMKVFM8t8NtKfzjJBVEaXPqpm_9a9PlFvVZDwF1TvCttASwq113M8MHEraIexWAKCJQ2zlWIsdEGJtx57Nsg58WgmIXdd4S55c2g7I40o60-dJbzfdD5FOMmIPRmf065Cc2g7I40PT6sLA4wici&spm=a1z10.3-c.w4002-8715811646.9.4dc69a382dycIm) | [乐鑫开发者社区](https://www.espressif.com.cn/zh-hans/contact-us/technical-inquiries) |
-| 恒玄科技 (Bestechnic) | [BES2600WM MAIN BOARD V1.1](https://www.fortune-co.com/index.php?s=/Cn/Public/singlePage/catid/176.html) | BES2600WM-AX4F | [Readme](../../../../../vendor_bes/blob/dev/boards/best2003_ep/aos_evb/Readme) | 智能穿戴、AI 玩具 | [联系代理商](https://www.fortune-co.com/Tech/projectDetail/id/64.html) | [联系代理商](https://www.fortune-co.com/Tech/projectDetail/id/64.html) |
-| 开源模拟器 | QEMU 模拟器 | N/A | [在模拟器上运行编译产物](../quickstart/Run_Vela_on_Vela_Emulator_zh-cn.md) | 原生应用运行、模拟器调试 | N/A | N/A |
-| |
+| 恒玄科技 (Bestechnic) | [BES2600WM MAIN BOARD V1.1](https://www.fortune-co.com/index.php?s=/Cn/Public/singlePage/catid/176.html) | BES2600WM-AX4F | [Readme](../../../../../vendor_bes/blob/trunk/boards/best2003_ep/aos_evb/Readme) | 智能穿戴、AI 玩具 | [联系代理商](https://www.fortune-co.com/Tech/projectDetail/id/64.html) | [联系代理商](https://www.fortune-co.com/Tech/projectDetail/id/64.html) |
+| 旗芯微半导体 | FC7300F8M-EVB | FC7300F8MDT | [FC7300F8M-EVB 开发板 openvela 运行指南](../quickstart/development_board/fc7300f8m_evb_guide.md) | 域/区控制器、驾驶辅助系统、电池管理系统、电机控制等 | [联系代理商](https://www.flagchip.com.cn/Pro/3/3.html) | [联系代理商](https://www.flagchip.com.cn/Pro/3/3.html) |
+| 英飞凌半导体 | TC4D9-EVB | AURIX ™ TC4x | [TC4D9-EVB 开发板 openvela 运行指南](../quickstart/development_board/tc4d9_evb_guide.md) | 车辆运动控制器、区域控制器、车载网关等 | [联系代理商](https://www.infineon.cn/contact-us/where-to-buy) | [联系代理商](https://www.infineon.cn/contact-us/where-to-buy) |
\ No newline at end of file
diff --git a/zh-cn/device_dev_guide/connection/bluetooth/functionality_test/AdapterBTCommands/set.md b/zh-cn/device_dev_guide/connection/bluetooth/functionality_test/AdapterBTCommands/set.md
index fec4bde2..73c31615 100644
--- a/zh-cn/device_dev_guide/connection/bluetooth/functionality_test/AdapterBTCommands/set.md
+++ b/zh-cn/device_dev_guide/connection/bluetooth/functionality_test/AdapterBTCommands/set.md
@@ -34,9 +34,9 @@ set
#### 参数表
-| **参数名** | **说明** | **参数类型** |
-| :--------- | :-------------------------------------------------------------------------------------------------------------------------------------- | :----------- |
-| scan mode | 本地蓝牙适配器的可发现与可连接属性:
0:不可被发现也不可被连接。
1:不可被发现但可被连接。
2:(默认值)既可被发现也可被连接。 | 十进制整数 |
+| **参数名** | **说明** | **参数类型** |
+| :---------- | :----------------------------------------------------------- | :----------- |
+| scan mode | 本地蓝牙适配器的可发现与可连接属性:
0:不可被发现也不可被连接。
1:不可被发现但可被连接。
2:(默认值)既可被发现也可被连接。 | 十进制整数 |
#### 示例
@@ -75,8 +75,8 @@ bttool> set scanmode 1
#### 参数表
-| **参数名** | **说明** | **参数类型** |
-| :------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------- |
+| **参数名** | **说明** | **参数类型** |
+| :-------------- | :----------------------------------------------------------- | :----------- |
| io capability | 本地蓝牙适配器的 IO 能力:
0:displayonly 没有输入能力,仅能显示或传输 6 位十进制数。
1:yes/no 具有表示 “是” 或“ 否” 的输入机制,能够显示或传输 6 位十进制数。
2:keybordonly 具有输入 “0” 到 “9”、“确认” 和 “是” “否” 的能力,不能够输出。
3:(默认值)no-in/no-out 无输入和输出能力。
4:keyboard&display 具有输入 “0” 到 “9”、确认和 “是” “否” 的能力,能够显示或传输 6 位十进制数。 | 十进制整数 |
#### 示例
@@ -118,8 +118,8 @@ bttool> set iocap 0
#### 参数表
-| **参数名** | **说明** | **参数类型** | **参数值范围** | **默认值** |
-| :--------- | :------------------- | :----------- | :------------------- | :--------- |
+| **参数名** | **说明** | **参数类型** | **参数值范围** | **默认值** |
+| :----------- | :------------------- | :----------- | :------------------- | :--------- |
| local name | 本地蓝牙适配器名称。 | 字符串 | 最多输入 64 个字符。 | N/A |
#### 示例
@@ -160,9 +160,9 @@ bttool> [bttool] Adapter update device name: Xiaomiii
#### 参数表
-| **参数名** | **说明** | **参数类型** | **默认值** |
-| :--------- | :-------------------------------------------------------------------------------------------------------------------------------------------- | :----------- | :--------- |
-| class | 本地蓝牙适配器类型,由 4 个部分组成。
bit 23~13 :主服务类型。
bit 12~8:主设备类型。
bit 7~2:次要设备类型。
bit 1~0:固定值 0。 | 十六进制整数 | 0x00280704 |
+| **参数名** | **说明** | **参数类型** | **默认值** |
+| :--------- | :----------------------------------------------------------- | :----------- | :--------- |
+| class | 本地蓝牙适配器类型,由 4 个部分组成。
bit 23~13 :主服务类型。
bit 12~8:主设备类型。
bit 7~2:次要设备类型。
bit 1~0:固定值 0。 | 十六进制整数 | 0x00280704 |
#### 注意事项
@@ -341,12 +341,12 @@ bttool> [ 80.646100] [49] [ DEBUG] [ap] [1362][adapter-svc]: adapter_on_le_add
#### 参数表
-| **参数名** | **说明** | **参数类型** | **默认值** |
-| :--------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------- | :-------------------------- |
-| mode | 指定的扫描模式:
0:inquiry,扫描 inquiry 信息,使本地蓝牙适配器可被其他蓝牙设备发现。
1:page,扫描 page 信息,使本地蓝牙适配器可被其他蓝牙设备连接。 | 十进制整数 | N/A |
-| type | 扫描类型:
0:standard,常规扫描,按照固定间隔逐个信道扫描。
1:interlaced,交错扫描,会在一次扫描间隔中,第一次按照常规扫描进行扫描,再根据特定的算法选择第二个信道进行扫描。 | 十进制整数 | N/A |
-| interval | 扫描间隔,进入扫描状态的周期。
18 ~ 4096(单位:时隙,1 时隙 = 0.625ms) | 十进制整数 | inquiry:4096
page:2048 |
-| window | 扫描窗口,在一个周期内持续扫描的时间。17 ~ ``(单位:时隙) | 十进制整数 | 18 |
+| **参数名** | **说明** | **参数类型** | **默认值** |
+| :--------- | :----------------------------------------------------------- | :----------- | :---------------------- |
+| mode | 指定的扫描模式:
0:inquiry,扫描 inquiry 信息,使本地蓝牙适配器可被其他蓝牙设备发现。
1:page,扫描 page 信息,使本地蓝牙适配器可被其他蓝牙设备连接。 | 十进制整数 | N/A |
+| type | 扫描类型:
0:standard,常规扫描,按照固定间隔逐个信道扫描。
1:interlaced,交错扫描,会在一次扫描间隔中,第一次按照常规扫描进行扫描,再根据特定的算法选择第二个信道进行扫描。 | 十进制整数 | N/A |
+| interval | 扫描间隔,进入扫描状态的周期。
18 ~ 4096(单位:时隙,1 时隙 = 0.625ms) | 十进制整数 | inquiry:4096
page:2048 |
+| window | 扫描窗口,在一个周期内持续扫描的时间。17 ~ ``(单位:时隙) | 十进制整数 | 18 |
#### 注意事项
diff --git a/zh-cn/device_dev_guide/connection/bluetooth/functionality_test/bttool_cmd.md b/zh-cn/device_dev_guide/connection/bluetooth/functionality_test/bttool_cmd.md
index 639a44b9..15fe29b2 100644
--- a/zh-cn/device_dev_guide/connection/bluetooth/functionality_test/bttool_cmd.md
+++ b/zh-cn/device_dev_guide/connection/bluetooth/functionality_test/bttool_cmd.md
@@ -8,14 +8,14 @@
## 二、语法
-| **语法元素** | **说明** | **示例** |
-| :----------------------- | :----------------------------- | :----------------------------------------------------------------------------------------------------- |
-| 不含方括号或大括号的文本 | 必须按所显示键入的项。 | `cd`
命令中的 `cd` 部分就是必须原样键入的。 |
-| <尖括号内的文本> | 必须为其提供值的占位符。 | `mkdir `
命令中的 `` 需要被替换成实际的目录名。 |
-| [方括号内的文本] | 可选项。 | `ls [-l]`
命令中的 `[-l]` 是一个可选项,表示是否以长列表格式显示文件。 |
+| **语法元素** | **说明** | **示例** |
+| :----------------------- | :----------------------------- | :----------------------------------------------------------- |
+| 不含方括号或大括号的文本 | 必须按所显示键入的项。 | `cd`
命令中的 `cd` 部分就是必须原样键入的。 |
+| <尖括号内的文本> | 必须为其提供值的占位符。 | `mkdir `
命令中的 `` 需要被替换成实际的目录名。 |
+| [方括号内的文本] | 可选项。 | `ls [-l]`
命令中的 `[-l]` 是一个可选项,表示是否以长列表格式显示文件。 |
| {花括号内的文本} | 一组必需的项, 必须选择一个。 | `git reset { --soft \| --mixed \| --hard }`
必须选择这三个选项中的一个,例如 `git reset --soft`。 |
-| 竖线 \| | 互斥项的分隔符,必须选择一个。 | `git reset { --soft \| --mixed \| --hard }`
`--soft`, `--mixed`, `--hard`只能选其中一个。 |
-| 省略号 … | 可重复使用多次的项。 | `cp … `
省略号表示可以复制多个文件到目的地。 |
+| 竖线 \| | 互斥项的分隔符,必须选择一个。 | `git reset { --soft \| --mixed \| --hard }`
`--soft`, `--mixed`, `--hard`只能选其中一个。 |
+| 省略号 … | 可重复使用多次的项。 | `cp … `
省略号表示可以复制多个文件到目的地。 |
## 三、示例
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/figures/003.png b/zh-cn/device_dev_guide/connection/network/socketcan/figures/003.png
new file mode 100644
index 00000000..17a41412
Binary files /dev/null and b/zh-cn/device_dev_guide/connection/network/socketcan/figures/003.png differ
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/figures/004.png b/zh-cn/device_dev_guide/connection/network/socketcan/figures/004.png
new file mode 100644
index 00000000..533b6ca7
Binary files /dev/null and b/zh-cn/device_dev_guide/connection/network/socketcan/figures/004.png differ
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/figures/005.png b/zh-cn/device_dev_guide/connection/network/socketcan/figures/005.png
new file mode 100644
index 00000000..b18952e6
Binary files /dev/null and b/zh-cn/device_dev_guide/connection/network/socketcan/figures/005.png differ
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/figures/006.png b/zh-cn/device_dev_guide/connection/network/socketcan/figures/006.png
new file mode 100644
index 00000000..0891b957
Binary files /dev/null and b/zh-cn/device_dev_guide/connection/network/socketcan/figures/006.png differ
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/figures/007.png b/zh-cn/device_dev_guide/connection/network/socketcan/figures/007.png
new file mode 100644
index 00000000..0784204f
Binary files /dev/null and b/zh-cn/device_dev_guide/connection/network/socketcan/figures/007.png differ
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/figures/008.png b/zh-cn/device_dev_guide/connection/network/socketcan/figures/008.png
new file mode 100644
index 00000000..e9895b7e
Binary files /dev/null and b/zh-cn/device_dev_guide/connection/network/socketcan/figures/008.png differ
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/figures/009.png b/zh-cn/device_dev_guide/connection/network/socketcan/figures/009.png
new file mode 100644
index 00000000..277faef9
Binary files /dev/null and b/zh-cn/device_dev_guide/connection/network/socketcan/figures/009.png differ
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/figures/010.png b/zh-cn/device_dev_guide/connection/network/socketcan/figures/010.png
new file mode 100644
index 00000000..28117682
Binary files /dev/null and b/zh-cn/device_dev_guide/connection/network/socketcan/figures/010.png differ
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/figures/011.png b/zh-cn/device_dev_guide/connection/network/socketcan/figures/011.png
new file mode 100644
index 00000000..71c35ec7
Binary files /dev/null and b/zh-cn/device_dev_guide/connection/network/socketcan/figures/011.png differ
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/figures/012.png b/zh-cn/device_dev_guide/connection/network/socketcan/figures/012.png
new file mode 100644
index 00000000..6e802066
Binary files /dev/null and b/zh-cn/device_dev_guide/connection/network/socketcan/figures/012.png differ
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/figures/013.png b/zh-cn/device_dev_guide/connection/network/socketcan/figures/013.png
new file mode 100644
index 00000000..30753be8
Binary files /dev/null and b/zh-cn/device_dev_guide/connection/network/socketcan/figures/013.png differ
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/figures/014.png b/zh-cn/device_dev_guide/connection/network/socketcan/figures/014.png
new file mode 100644
index 00000000..d9cd43ea
Binary files /dev/null and b/zh-cn/device_dev_guide/connection/network/socketcan/figures/014.png differ
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/figures/015.png b/zh-cn/device_dev_guide/connection/network/socketcan/figures/015.png
new file mode 100644
index 00000000..64cffba8
Binary files /dev/null and b/zh-cn/device_dev_guide/connection/network/socketcan/figures/015.png differ
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/sil_socketcan_test.md b/zh-cn/device_dev_guide/connection/network/socketcan/sil_socketcan_test.md
new file mode 100644
index 00000000..d5b87fbb
--- /dev/null
+++ b/zh-cn/device_dev_guide/connection/network/socketcan/sil_socketcan_test.md
@@ -0,0 +1,224 @@
+# SIL SocketCAN 功能测试指南
+
+[ [English](../../../../../en/device_dev_guide/connection/network/socketcan/sil_socketcan_test.md) | 简体中文 ]
+
+## 一、概述
+
+本指南旨在演示如何在软件在环 (SIL) 环境下,使用 openvela 进行 SocketCAN 功能测试。
+
+通过本示例,您将构建并运行 Vector SIL Kit 工具链,打通 Linux 主机的虚拟 CAN 接口 (vcan) 与 openvela 仿真目标机,实现 CAN 报文的发送、接收与回环响应测试。
+
+## 二、测试架构与原理
+
+在执行具体操作前,理解各个组件之间的关系和数据流向至关重要。
+
+### 1、核心组件说明
+
+本测试方案涉及四个核心组件,它们共同构成了一个闭环测试环境:
+
+| **组件名称** | **类型** | **功能说明** |
+| :----------------------- | :-------------- | :-------------------------------------------------------------------------------------------------------------------- |
+| **openvela** | OS / SUT | 运行于模拟环境中的嵌入式操作系统(被测系统),通过 SocketCAN 接口监控网络流量。 |
+| **SIL** **Kit Registry** | Infrastructure | SIL Kit 网络的“指挥塔”,负责服务发现和协调各个参与者(Participants)的连接。 |
+| **SIL Kit Adapter** | Bridge | **连接器**。它一端连接 Linux 内核的 vcan设备`can0` ,另一端连接虚拟的 SIL Kit 网络,实现两个异构网络间的报文转发。 |
+| **Echo Device** | Simulation Node | **测试节点**。运行在 SIL Kit 网络上的虚拟设备,用于模拟外部 ECU。它会自动响应接收到的报文,用于验证通信链路是否通畅。 |
+
+### 2、架构与数据流向图
+
+
+
+**数据流向解析:**
+
+1. **注入**:脚本向 Linux `can0` 发送 ID 为 `001` 的原始报文。
+2. **桥接**:`SIL Kit Adapter` 从 `can0` 捕获该报文,将其封装并转发至 SIL Kit 虚拟总线。
+3. **处理**:`Echo Device` 从虚拟总线上收到报文,进行处理(ID+1,数据位移)。
+4. **响应**:`Echo Device` 将处理后的 ID `002` 报文发回虚拟总线。
+5. **回写**:`SIL Kit Adapter` 收到响应报文,将其解包并写入 Linux `can0`。
+6. **验证**:`openvela` 始终监听 `can0`,因此能同时捕获到原始报文(001)和响应报文(002)。
+
+## 三、前置准备
+
+在开始之前,请确保您的开发主机 (Ubuntu) 已满足以下要求。
+
+### 1、基础环境搭建
+
+请参照官方文档[快速入门(Ubuntu)](../quickstart/openvela_ubuntu_quick_start.md),完成 openvela 基础开发环境的搭建和源代码下载。
+
+### 2、SocketCAN 功能验证
+
+请参照官方文档 [SocketCAN 功能使用指南](./socketcan_guide.md)完成 SocketCAN 功能的运行,确保您已熟悉如何在 openvela 中启用 SocketCAN 功能。
+
+## 四、组件构建
+
+本节将指导您编译 Vector SIL Kit 及其适配器组件。
+
+### 1、编译 SIL Kit 核心库
+
+Vector SIL Kit 是用于连接软件在环组件的开源库。
+
+> **参考资源**:关于 SIL Kit 的介绍可见:[GitHub - vectorgrp/sil-kit](https://github.com/vectorgrp/sil-kit)
+
+请在 `openvela` 源码根目录下,执行以下命令:
+
+```Bash
+# 1. 进入依赖目录
+cd ./external/vector-sil
+
+# 2. 初始化并编译 SIL Kit
+cd ./sil-kit
+git submodule update --init --recursive
+
+# 配置 CMake (禁用文档和测试以加速编译)
+cmake -S. -Bbuild -DSILKIT_BUILD_DOCS=OFF -DCMAKE_INSTALL_PREFIX=./install -DSILKIT_BUILD_TESTS=OFF
+
+# 执行安装
+cmake --build build --target install -j16
+```
+
+### 2、编译 SocketCAN 适配器
+
+适配器用于桥接 SIL Kit 网络与 Linux SocketCAN 设备。
+
+```Bash
+# 1. 进入适配器目录
+cd ../sil-kit-adapters-vcan
+
+# 2. 初始化并编译适配器
+git submodule update --init --recursive
+
+# 配置 CMake (指定 SIL Kit 安装路径)
+cmake -S. -Bbuild -DSILKIT_PACKAGE_DIR=../sil-kit/install -DCMAKE_BUILD_TYPE=Debug
+
+# 执行编译
+cmake --build build --parallel
+```
+
+## 五、执行测试
+
+本测试需要开启 **5 个独立的终端窗口**来分别运行不同的组件。请按照以下顺序操作。
+
+### 步骤 1:启动 openvela 模拟平台 (终端 1)
+
+参考前置准备中的说明,启动 openvela 模拟器。
+
+1. 启动成功后,终端将显示如下 NSH (NuttShell) 界面:
+
+ 
+
+2. 在 NSH 中执行以下命令,启动 CAN 设备:
+
+ ```Bash
+ ifup can0
+ ```
+
+**预期输出:**
+
+`ifup can0...OK` 表明 can0 设备启动成功。
+
+### 步骤 2:启动 SIL Kit 注册中心 (终端 2)
+
+在 `openvela/external/vector-sil/sil-kit/` 目录下执行:
+
+```Bash
+./install/bin/sil-kit-registry --log debug --listen-uri 'silkit://0.0.0.0:8501'
+```
+
+**预期输出:**
+
+成功后服务启动并监听 8501 端口。
+
+
+
+### 步骤 3:启动 vcan 适配器 (终端 3)
+
+此步骤将 SIL Kit 的虚拟网络 `CAN1` 与 Linux 主机的 `can0` 接口桥接。
+
+在 `openvela/external/vector-sil/sil-kit-adapters-vcan` 目录下执行:
+
+```Bash
+./bin/sil-kit-adapter-vcan --name SilKitAdapterVcan1 --registry-uri silkit://localhost:8501 --can-name can0 --network CAN1 --log Debug
+```
+
+**预期输出**:适配器成功连接到注册中心,开始桥接 `can0` 和 `CAN1` 网络。
+
+
+
+此时,**终端 2 (注册中心)** 也会刷新日志,显示检测到新连接:
+
+
+
+### 步骤 4:启动 Echo 演示设备 (终端 4)
+
+创建 `CanEchoDevice` 连接到 SIL Kit CAN1 网络,`CanEchoDevice` 响应接收到的数据(CAN ID 加一,数据左移一字节),并将响应发送到 SIL Kit CAN1 网络。
+
+在 `openvela/external/vector-sil/sil-kit-adapters-vcan` 目录下执行:
+
+```Bash
+./bin/sil-kit-demo-can-echo-device
+```
+
+**预期输出:**
+
+
+
+**终端 2 (注册中心)** 将显示 Echo 设备已连接:
+
+
+
+### 步骤 5:监控数据与注入流量
+
+1. 开启监控 (终端 1)。
+
+ 回到运行 openvela 的终端,在 NSH 中开启 CAN 数据转储监控:
+
+ ```Bash
+ candump can0
+ ```
+
+2. 注入流量 (终端 5)。
+
+ 在 Linux 主机上运行脚本,向 `can0` 接口发送测试报文。
+
+ 在 `openvela/external/vector-sil/sil-kit-adapters-vcan` 目录下执行:
+
+ ```Bash
+ ./SocketCAN/demos/shell_scripts/send_CAN_frames.sh can0
+ ```
+
+ 持续地生成 CAN 消息( CAN ID = 001, Data=AAAABBBB)并将其发送到 vcan 设备 CAN0。
+
+ 
+
+## 六、结果验证与分析
+
+### 1、数据流向分析
+
+测试启动后,数据流向如下:
+
+1. **终端 5** 发送原始报文 (ID: 001) -> Linux `can0`。
+2. **终端 3** (Adapter) 从 `can0` 读取报文 -> 转发至 SIL Kit 网络 `CAN1`。
+3. **终端 4** (Echo Device) 收到报文 -> 处理 (ID+1, Shift Left) -> 发送响应报文 (ID: 002) 至 `CAN1`。
+4. **终端 3** (Adapter) 从 `CAN1` 收到响应 -> 写入 Linux `can0`。
+5. **终端 1** (openvela) 通过 `candump` 读取到原始报文和响应报文。
+
+### 2、验证结果
+
+**终端 1 (openvela NSH) 输出:**
+
+在终端 1 中,监控到了完整的流量交互:
+
+
+
+**终端 3 (Adapter) 日志:**
+
+适配器详细记录了报文的转换过程:
+
+
+
+**结论**:
+
+- CAN ID 为 001 的 CAN 帧为脚本 send_CAN_frames.sh 注入 vcan 设备 can0 的数据。
+- CAN ID 为 002 的 CAN 帧为 sil-kit-demo-can-echo-device 对消息的响应,其 CAN ID 增加 1 并且数据向左移动 1 个字节。
+- openvela 成功通过 SocketCAN 接口监控到了完整的交互过程,在 SIL 环境下完成了 SocketCAN 通信功能的简单测试。
+
+进一步,可将 CANoe 等其他测试软件作为参与者连接到 SIL Kit,完成对 SocketCAN 功能的更全面测试。
\ No newline at end of file
diff --git a/zh-cn/device_dev_guide/connection/network/socketcan/socketcan_guide.md b/zh-cn/device_dev_guide/connection/network/socketcan/socketcan_guide.md
new file mode 100644
index 00000000..3acbdcb5
--- /dev/null
+++ b/zh-cn/device_dev_guide/connection/network/socketcan/socketcan_guide.md
@@ -0,0 +1,214 @@
+# SocketCAN 功能使用指南
+
+[ [English](../../../../../en/device_dev_guide/connection/network/socketcan/socketcan_guide.md) | 简体中文 ]
+
+## 一、SocketCAN 简介
+
+**SocketCAN** 是 Linux 内核中为 CAN (Controller Area Network) 协议开发的一套开源驱动和网络栈。与传统的字符设备驱动不同,SocketCAN 使用 Berkeley Socket API 网络编程接口,将 CAN 总线抽象为网络接口(如 `can0`),这使得 CAN 协议的开发与以太网编程高度相似。
+
+在 openvela 操作系统中引入 SocketCAN 支持,具有以下显著优势:
+
+- **标准化接口**:应用层可通过标准的 `socket`、`bind`、`write`、`read` 系统调用访问 CAN 总线。
+- **多路复用**:支持多个应用程序同时访问同一个 CAN 接口,无需处理复杂的并发锁。
+- **工具生态**:原生兼容 `can-utils` 等强大的 Linux 标准调试工具(如 `candump`、`cansend`)。
+
+本指南将引导您在 openvela 的 SIL (Software-in-the-Loop) 仿真环境中配置并使用这一强大的功能。
+
+## 二、概述
+
+本实验旨在通过 QEMU 仿真器,在 Linux 宿主机与 openvela 实例之间建立虚拟 CAN 网络,验证双向数据通信的可行性。
+
+**完成本实验后,您将达成以下目标:**
+
+1. 成功构建并启动支持 SocketCAN 协议栈的 openvela 系统。
+2. 掌握在宿主机与 openvela 之间互发 CAN 数据帧的方法。
+
+## 三、前置准备
+
+请在开发主机(Ubuntu 环境)上完成以下软件安装与源码准备。
+
+### 1、搭建基础开发环境
+
+请首先参照官方文档[快速入门(Ubuntu)](../quickstart/openvela_ubuntu_quick_start.md),完成 openvela 编译环境的搭建及源代码的下载。
+
+### 2、安装 CAN 调试工具
+
+在宿主机终端中执行以下命令,安装 `can-utils` 工具包,用于在 Linux 端进行 CAN 数据调试:
+
+```bash
+sudo apt-get install can-utils
+```
+
+## 四、系统配置与构建
+
+本章节以 `openvela sil` 平台为例,指导如何启用 SocketCAN 核心功能。
+
+### 1、配置功能选项 (Menuconfig)
+
+执行以下命令,进入 `core0` 的配置界面:
+
+```bash
+./build.sh vendor/openvela/boards/sil/configs/ksil_arm32r_nsh_core0 --cmake menuconfig
+```
+
+请在配置菜单中定位并启用以下关键配置项(或确认 `.config` 文件中包含以下内容):
+
+```Makefile
+# CAN Controller Support
+CONFIG_CAN_CTUCANFD=y
+CONFIG_CAN_CTUCANFD_SOCKET=y
+
+# PCI & Bus Support
+CONFIG_PCI=y
+CONFIG_PCI_MSIX=y
+
+# Networking Support
+CONFIG_NET=y
+CONFIG_NET_CAN=y
+CONFIG_NET_SOCKOPTS=y
+CONFIG_NETDEV_LATEINIT=y
+CONFIG_NETDEV_IFINDEX=y
+
+# BSD Compatibility
+CONFIG_ALLOW_BSD_COMPONENTS=y
+
+# CAN Utilities (NuttX side)
+CONFIG_CANUTILS_LIBCANUTILS=y
+CONFIG_CANUTILS_CANSEND=y
+CONFIG_CANUTILS_CANDUMP=y
+
+# Disable unrelated CAN drivers to avoid conflicts
+CONFIG_CAN=n
+CONFIG_CAN_KVASER=n
+```
+
+### 2、编译项目
+
+使用 `protect` 模式分别构建 Bootloader (BL) 和核心系统 (Core0)。
+
+#### 步骤 1:执行编译命令
+
+```Bash
+# 编译构建 BL
+./build.sh vendor/openvela/boards/sil/configs/ksil_arm32r_nsh_bl --cmake -j8
+
+# 编译构建 Core0
+./build.sh vendor/openvela/boards/sil/configs/ksil_arm32r_nsh_core0 --cmake -j8
+```
+
+#### 步骤 2:部署编译产物
+
+创建发布目录并移动 ELF 镜像文件:
+
+```Bash
+mkdir ./cmake_out/cur-release/
+
+#拷贝编译产物
+cp ./cmake_out/sil_ksil_arm32r_nsh_core0/vela_core0.elf ./cmake_out/cur-release/ &&
+cp ./cmake_out/sil_ksil_arm32r_nsh_core0/vela_core0_user.elf ./cmake_out/cur-release/
+```
+
+## 五、仿真环境运行
+
+### 1、创建虚拟 CAN 网络
+
+在**宿主机(Ubuntu)终端**执行以下命令,加载 `vcan` 模块并创建虚拟 CAN 节点。
+
+**注意**:此步骤需要 `sudo` 权限。
+
+```Bash
+cp -r ./vendor/openvela/boards/sil/tools ./cmake_out/cur-release
+
+# 虚拟CAN节点的创建,创建10个vcan节点
+sudo modprobe vcan; \
+for i in {0..9}; do \
+ sudo ip link add dev can$i type vcan; \
+ sudo ip link set up can$i; \
+done
+# 添加完后可以执行ifconfig查看这些接口是否已存在且running
+```
+
+### 2、启动 openvela 仿真
+
+执行启动脚本运行 QEMU 环境:
+
+```Bash
+./cmake_out/cur-release/tools/run_arm32r_qemu_ctu_canfd.sh 10 3 protect 1
+```
+
+**参数说明**:
+
+- `10`:映射的 CAN 设备数量(需与前一步创建的 vcan 数量匹配)。
+- `3`:串口设备数量。
+- `protect`:启动模式。
+- `1`:启动核心数。
+
+系统启动成功后,终端将显示 `core0>` 提示符:
+
+
+
+## 六、功能验证实验
+
+本节将验证宿主机与 openvela 之间的双向通信。
+
+### 场景一:openvela 接收 CAN 数据
+
+#### 步骤 1:目标机设置 (openvela)
+
+在 `openvela` 的 NSH 终端中启动 CAN 接口并监听数据:
+
+```Bash
+ifup can0
+candump can0
+```
+
+#### 步骤 2:宿主机发送 (Ubuntu)
+
+打开一个新的 Ubuntu 终端窗口,向 `can0` 发送测试数据:
+
+```Bash
+# 发送标准帧 (ID: 123, Data: 12 34 56 78)
+cansend can0 123#12345678
+
+# 发送标准帧 (ID: 123, Data: deadbeef)
+cansend can0 123#deadbeef
+
+# 发送远程请求帧 (RTR)
+cansend can0 123#R
+```
+
+#### 步骤 3:结果验证
+
+观察 openvela 终端,应显示接收到的数据帧:
+
+
+
+### 场景二:openvela 发送 CAN 数据
+
+#### 步骤 1:宿主机监听 (Ubuntu)
+
+在 Ubuntu 终端中执行监听命令:
+
+```bash
+candump can0
+```
+
+#### 步骤 2:目标机发送 (openvela)
+
+在 openvela 的 NSH 终端中执行发送命令:
+
+```Bash
+# 确保接口已启动
+ifup can0
+
+# 发送测试数据
+cansend can0 123#12345678
+cansend can0 123#deadbeef
+cansend can0 123#R
+```
+
+#### 步骤 3:结果验证
+
+观察 Ubuntu 终端,应接收到来自 openvela 的数据帧:
+
+
\ No newline at end of file
diff --git a/zh-cn/faq/QuickStart_FAQ.md b/zh-cn/faq/QuickStart_FAQ.md
index 1bc018b6..9c7d587f 100644
--- a/zh-cn/faq/QuickStart_FAQ.md
+++ b/zh-cn/faq/QuickStart_FAQ.md
@@ -175,7 +175,7 @@ fatal: unable to access 'https://gerrit.googlesource.com/git-repo/': Failed to c
3. 版本过低时更新 repo:
- 如果版本低于 v2.22,建议参考[准备开发环境](./../quickstart/Set_up_the_development_environment_zh-cn.md)重新安装 repo 命令。
+ 如果版本低于 v2.22,请重新安装 repo。
## 6、Qt 平台插件初始化失败
diff --git a/zh-cn/quickstart/Build_Vela_from_sources_zh-cn.md b/zh-cn/quickstart/Build_Vela_from_sources_zh-cn.md
deleted file mode 100644
index 843f8c11..00000000
--- a/zh-cn/quickstart/Build_Vela_from_sources_zh-cn.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# 编译 openvela 源码
-
-\[ [English](./../../en/quickstart/Build_Vela_from_sources.md) | 简体中文 \]
-
-## 使用 build.sh 构建 openvela
-
-在安装完 openvela 所需软件包及下载完 openvela 源码后,您可以将 openvela 源码编译成可以在开发板上运行的二进制文件。
-
-### 初始化配置
-
-第一步是基于已存在的配置为目标开发板初始化 openvela 配置。
-
-通过将 `vendor//boards//configs/` 作为参数传递给 build.sh 选择配置。
-
-```bash
-./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap -j8
-```
-
-## 常见问题
-
-- [快速入门常见问题](../faq/QuickStart_FAQ.md)
-
-## 后续步骤
-
-- 下一步若选取模拟器运行 openvela,请参阅[在模拟器上运行编译产物](./Run_Vela_on_Vela_Emulator_zh-cn.md)。
diff --git a/zh-cn/quickstart/Download_Vela_sources_zh-cn.md b/zh-cn/quickstart/Download_Vela_sources_zh-cn.md
deleted file mode 100644
index c39055c9..00000000
--- a/zh-cn/quickstart/Download_Vela_sources_zh-cn.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# 下载 openvela 源码
-
-\[ [English](./../../en/quickstart/Download_Vela_sources.md) | 简体中文 \]
-
-`openvela` 源码托管在 [GitHub](https://github.com/open-Vela)、[Gitee](https://gitee.com/open-vela) 和 [GitCode](https://gitcode.com/open-vela) 平台的 Git 仓库中。本指南将引导您完成源码的下载。
-
-## 准备工作
-
-- 已安装 `repo` 工具。
-- 源码下载需要稳定的网络连接。
-
-## 步骤一 准备工作区并初始化源码
-
-1. 创建并进入工作目录:
-
- 打开终端,执行以下命令来创建一个用于存放源码的目录。
-
- ```bash
- mkdir vela-opensource
- cd vela-opensource
- ```
-
-2. 安装 Git LFS (仅需首次配置):
-
- `openvela` 使用 Git LFS (Large File Storage) 来管理仓库中的大文件。在继续之前,请确保您的系统中已安装并启用 Git LFS。
-
- ```bash
- # 在 Ubuntu 系统上安装 Git LFS
- sudo apt update
- sudo apt install git-lfs
- ```
-
-3. 选择代码源并初始化仓库:
-
- 请根据您的网络环境和偏好,从以下任一平台选择一种方式(推荐使用 HTTPS)来初始化仓库。
-
- ### 选项 A:从 GitHub 下载
-
- - **方式一:HTTPS (推荐)**
-
- 此方式最简单,无需配置 SSH 密钥。
-
- ```bash
- repo init --partial-clone -u https://github.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs
- ```
-
- - **方式二:SSH**
-
- 此方式需要您先将 SSH 公钥添加至您的 GitHub 账户。请参考 [GitHub 官方文档](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)。
-
- ```bash
- repo init --partial-clone -u ssh://git@github.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs
- ```
-
- ### 选项 B:从 Gitee 下载
-
- - **方式一:HTTPS (推荐)**
-
- 此方式对中国大陆用户访问更友好。
-
- ```bash
- repo init --partial-clone -u https://gitee.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs
- ```
-
- - **方式二:SSH**
-
- 此方式需要您先将 SSH 公钥添加至您的 Gitee 账户。请参考 [Gitee 官方文档](https://gitee.com/help/articles/4191)。
-
- ```bash
- repo init --partial-clone -u ssh://git@gitee.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs
- ```
-
- ### 选项 C:从 GitCode 下载
-
- - **方式一:HTTPS (推荐)**
-
- 此命令已包含清华大学镜像源以加速 `repo` 工具本身的下载。
-
- ```bash
- repo init --partial-clone -u https://gitcode.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
- ```
-
- - **方式二:SSH**
-
- 此方式需要您先将 SSH 公钥添加至您的 GitCode 账户。请参考 [GitCode 官方文档](https://docs.gitcode.com/docs/help/home/user_center/security_management/ssh)。
-
- ```bash
- repo init --partial-clone -u ssh://git@gitcode.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
- ```
-
-## 步骤二 同步源码
-
-完成 `repo` 初始化后,运行以下命令将 `openvela` 的完整源码同步到您的本地工作目录。:
-
-```bash
-repo sync -c -j8
-```
-
-> **说明**
->
-> `-c` 标志表示只同步清单中指定的当前分支,可以减少下载的数据量。
->
-> `-j8` 标志表示使用 8 个并发作业进行同步,您可以根据您机器的 CPU核心数和网络状况适当调整此数值以加快下载速度。
-
-## 重要说明
-
-`openvela` 项目使用 **clang-format 14** 版本进行代码风格检查。如果您计划贡献代码,请确保您的开发环境已配置好对应的工具。更多详情请参见[代码风格检查指南](../contribute/code_style_check_guide.md)。
-
-## 常见问题
-
-- [快速入门常见问题](../faq/QuickStart_FAQ.md)
-
-## 后续步骤
-
-完成源码下载后,请继续阅读[编译 openvela 源码](./Build_Vela_from_sources_zh-cn.md)文档进行后续操作,学习如何编译和构建系统。
diff --git a/zh-cn/quickstart/Run_Vela_on_Vela_Emulator_zh-cn.md b/zh-cn/quickstart/Run_Vela_on_Vela_Emulator_zh-cn.md
deleted file mode 100644
index 23b0bb7e..00000000
--- a/zh-cn/quickstart/Run_Vela_on_Vela_Emulator_zh-cn.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# 在模拟器上运行编译产物
-
-\[ [English](./../../en/quickstart/Run_Vela_on_Vela_Emulator.md) | 简体中文 \]
-
-## 概述
-
-模拟器可在计算机上模拟 openvela 设备,供开发者在各种设备上测试应用程序和驱动程序,而无需拥有实体设备。
-
-模拟器基于 Android 模拟器进行了改进和增强。
-具备以下优势:
-
-* 用于加载并运行 openvela 镜像的专属运行模式,能够跳过针对 Android 的特殊操作
-* 在 openvela 模式加载 openvela 自有内核
-* 在 openvela 模式加载 openvela 自有系统分区
-* 为 `GNSS` 仿真器提供 `NMEA` 校验支持
-
-支持下列 Host:
-
-* Linux x86\_64
-* Linux arm64
-* macOS x86\_64
-* macOS aarch64
-* Windows x64
-
-支持下列 Target:
-
-* arm
-* arm64
-* x86
-* x86\_64
-
-已经在 openvela 中实现了下列 goldfish 专有驱动程序:
-
-* Qemu Pipe
-* ADB
-* Battery
-* Camera
-* GNSS
-* Graphic
-* Sensors
-
-## 运行模拟器
-
-1. 切换到 openvela 仓库根目录下,通过传递 `vela` 选项至 emulator.sh 来启动一个模拟器实例。
-
- ```Bash
- ./emulator.sh vela
- ```
-
-2. 启动进入 `nsh` 后,在 `openvela-ap>` 内运行如下命令:
-
- ```Bash
- lvgldemo &
- ```
-
- 执行后效果如下:
- 
-
-3. 退出模拟器实例,如下图所示:
-
- 
-
-## 控制模拟器
-
-可以通过 ADB 或控制台对运行中的模拟器实例进行控制。
-
-* [ADB 命令](./emulator/Android_Debug_Bridge_commands_zh-cn.md)
-* [发送模拟器控制台命令](./emulator/Send_emulator_console_commands_zh-cn.md)
-
-## 使用模拟器调试
-
-* [使用模拟器调试](./emulator/Debugging_Vela_with_Vela_Emulator_zh-cn.md)
-
-## 常见问题
-
-- [快速入门常见问题](../faq/QuickStart_FAQ.md)
diff --git a/zh-cn/quickstart/Set_up_the_development_environment_zh-cn.md b/zh-cn/quickstart/Set_up_the_development_environment_zh-cn.md
deleted file mode 100644
index 09b730e1..00000000
--- a/zh-cn/quickstart/Set_up_the_development_environment_zh-cn.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# 准备开发环境
-
-\[ [English](./../../en/quickstart/Set_up_the_development_environment.md) | 简体中文 \]
-
-## 硬件需求
-
-开发工作站应当满足如下硬件需求:
-
-- 64 位 x86 系统
-- 至少 80 GB 用于下载和编译源码的剩余硬盘空间
-- 至少 16 GB RAM
-
-## 操作系统需求
-
-**开发工作站需运行 64 位的 Ubuntu 22.04 Linux 发行版。**
-
-> 说明
->
-> **WSL** 和 **Docker** 环境均不支持。
-
-## 操作步骤
-
-### 步骤一 安装必备的软件包
-
-使用 Ubuntu 22.04 版本编译 openvela。运行以下命令,在 Ubuntu 22.04 版本上安装必备的软件包:
-
-```bash
-sudo apt install \
-bison flex gettext texinfo libncurses5-dev libncursesw5-dev xxd \
-git gperf automake libtool build-essential gperf genromfs \
-libgmp-dev libmpc-dev libmpfr-dev libisl-dev binutils-dev libelf-dev \
-libexpat1-dev gcc-multilib g++-multilib picocom u-boot-tools util-linux \
-dfu-util libx11-dev libxext-dev net-tools pkgconf unionfs-fuse zlib1g-dev \
-libusb-1.0-0-dev libv4l-dev libuv1-dev npm nodejs nasm yasm libdivsufsort-dev \
-libc++-dev libc++abi-dev libprotobuf-dev protobuf-compiler protobuf-c-compiler mtools
-```
-
-### 步骤二 安装 Repo
-
-运行以下命令安装 Repo 启动器:
-
-```bash
-curl https://storage.googleapis.com/git-repo-downloads/repo > repo
-chmod +x repo
-sudo mv repo /usr/local/bin/
-```
-
-Repo 启动器会提供一个 Python 脚本,该脚本可以初始化检出,并可以下载完整的 Repo 工具。
-
-### 步骤三 安装 KConfig frontend
-
-openvela 配置系统使用 [KConfig](https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt) ,作为 kconfig-frontends 软件包的一部分,KConfig 通过一系列基于交互式菜单的前端对系统进行配置。使用软件包还是从源码构建取决于当前的操作系统,源码地址位于 [NuttX tools repository](https://bitbucket.org/nuttx/tools/src/master/kconfig-frontends/)。
-
-```bash
-sudo apt install kconfig-frontends
-```
-
-### 步骤四 安装 Python
-
-```bash
-sudo apt install python3 python3-pip python-is-python3
-```
-
-## 步骤五 安装 Python 包
-
-```bash
-sudo pip3 install kconfiglib pyelftools cxxfilt
-```
-
-## 常见问题
-
-- [快速入门常见问题](../faq/QuickStart_FAQ.md)
-
-## 后续步骤
-
-请参见[下载 openvela 源码](./Download_Vela_sources_zh-cn.md)。
diff --git a/zh-cn/quickstart/development_board/ESP32-S3-EYE.md b/zh-cn/quickstart/development_board/ESP32-S3-EYE.md
index 4caf85d1..3bbaff69 100644
--- a/zh-cn/quickstart/development_board/ESP32-S3-EYE.md
+++ b/zh-cn/quickstart/development_board/ESP32-S3-EYE.md
@@ -1,4 +1,4 @@
-# 在 ESP32-S3-EYE 开发板上移植 openvela
+# 在 ESP32-S3-EYE 开发板上移植 openvela 并启用 Wi-Fi 功能
\[ [English](../../../en/quickstart/development_board/ESP32-S3-EYE.md) | 简体中文 \]
@@ -12,11 +12,7 @@
## 二、前提条件
-在开始之前,请确保您已完成 `openvela` 的基础环境设置。如果尚未完成,请遵循如下官方文档:
-
-1. [设置开发环境](./../Set_up_the_development_environment_zh-cn.md)
-2. [下载 openvela 源码](./../Download_Vela_sources_zh-cn.md)
-3. [编译 openvela 源码](./../Build_Vela_from_sources_zh-cn.md)
+下载源码,请参见[快速入门](./../openvela_ubuntu_quick_start.md)。
## 三、准备工作:搭建 ESP32-S3 开发环境
diff --git a/zh-cn/quickstart/development_board/STM32F407.md b/zh-cn/quickstart/development_board/STM32F407.md
index 8cf97d22..f8b86f2b 100644
--- a/zh-cn/quickstart/development_board/STM32F407.md
+++ b/zh-cn/quickstart/development_board/STM32F407.md
@@ -6,7 +6,7 @@
完成本教程后,您将能够为一个新的硬件平台创建基础的 BSP,并成功运行 `openvela` 系统,实现对板载 LED 的控制。
-### 您将学到什么
+## 您将学到什么
- `openvela` 的板级移植核心思想与启动流程。
- 如何实现板级初始化所需的关键 C 语言接口函数。
@@ -14,14 +14,13 @@
- 如何通过 Kconfig 将新开发板集成到 `openvela` 的构建系统中。
- 如何为新开发板创建 `defconfig` 默认配置文件。
-### 准备工作
+## 准备工作
在开始之前,请确保您已完成以下准备工作:
-1. 搭建开发环境:参考文档[准备开发环境](./../Set_up_the_development_environment_zh-cn.md)完成工具链安装和环境配置。
-2. 获取源码:参考文档[下载 openvela 源码](./../Download_Vela_sources_zh-cn.md)克隆最新代码。
-3. 了解 openvela 架构:建议您预先阅读 [openvela 架构](./../../../README_zh-cn.md#技术架构)以理解其分层设计。
-4. 查阅[系统启动流程](./../../device_dev_guide/kernel/boot_process.md)文档,获取更详细的启动时序和函数调用关系图。
+1. 获取源码:参考文档[快速入门](./../Download_Vela_sources_zh-cn.md)下载最新代码。
+2. 了解 openvela 架构:建议您预先阅读 [openvela 架构](./../../../README_zh-cn.md#技术架构)以理解其分层设计。
+3. 查阅[系统启动流程](./../../device_dev_guide/kernel/boot_process.md)文档,获取更详细的启动时序和函数调用关系图。
## 一、移植原理与启动流程
diff --git a/zh-cn/quickstart/development_board/STM32F411.md b/zh-cn/quickstart/development_board/STM32F411.md
index 31b7c79e..d0addf18 100644
--- a/zh-cn/quickstart/development_board/STM32F411.md
+++ b/zh-cn/quickstart/development_board/STM32F411.md
@@ -25,7 +25,7 @@
1. 搭建 openvela 开发环境。
- 请首先参照官方文档[准备开发环境](../../zh-cn/quickstart/Set_up_the_development_environment_zh-cn.md),完成 `openvela` 基础开发环境的搭建。
+ 请首先参照官方文档[快速入门](./../openvela_ubuntu_quick_start.md),完成 `openvela` 基础开发环境的搭建。
2. 安装 ARM GCC 编译工具链。
diff --git a/zh-cn/quickstart/development_board/STM32H750.md b/zh-cn/quickstart/development_board/STM32H750.md
index d061bf90..6ffa1eb0 100644
--- a/zh-cn/quickstart/development_board/STM32H750.md
+++ b/zh-cn/quickstart/development_board/STM32H750.md
@@ -12,7 +12,7 @@
1. 配置编译环境:
- 编译 openvela 需要配置相关的开发环境,详情请参见[准备开发环境](../Set_up_the_development_environment_zh-cn.md)。
+ 编译 openvela 需要配置相关的开发环境,详情请参见[快速入门](./../openvela_ubuntu_quick_start.md)。
2. 安装编译工具:
@@ -68,7 +68,7 @@
### 1、下载代码
-参考[下载 openvela 源代码](../Download_Vela_sources_zh-cn.md)完成代码下载。
+参考[快速入门](../openvela_ubuntu_quick_start.md)完成代码下载。
### 2、编译代码
diff --git a/zh-cn/quickstart/development_board/fc7300f8m_evb_guide.md b/zh-cn/quickstart/development_board/fc7300f8m_evb_guide.md
new file mode 100644
index 00000000..27305a3c
--- /dev/null
+++ b/zh-cn/quickstart/development_board/fc7300f8m_evb_guide.md
@@ -0,0 +1,162 @@
+# FC7300F8M-EVB 开发板 openvela 运行指南
+
+[ [English](../../../en/quickstart/development_board/fc7300f8m_evb_guide.md) | 简体中文 ]
+
+## 一、概述
+
+本指南将指导您在旗芯微 (Flagchip) FC7300F8M-EVB 开发板上,使用 protect 模式编译、构建并运行 openvela 操作系统。
+
+FC7300F8M-EVB 是基于 FC7300F8MDT 芯片的高性能参考板,适用于域控制器、电池管理系统 (BMS) 等场景。
+
+## 二、预期结果
+
+完成本指南的操作后,您将成功启动系统,并通过串口(使用 Minicom 工具)进入 NSH (NuttShell) 交互终端。
+
+
+
+## 三、前置准备
+
+请确保您已准备好以下硬件设备,并在开发主机(Ubuntu 环境)上完成软件配置。
+
+### 1、硬件准备
+
+- **开发板**:一块 FC7300F8M-EVB 开发板。
+- **调试器**:SEGGER J-Link 调试器(支持 SWD 模式)。
+- **线缆**:电源线及 USB 数据线。
+
+### 2、基础环境搭建
+
+请参考官方文档[快速入门(Ubuntu)](../../quickstart/openvela_ubuntu_quick_start.md),完成环境搭建及源代码下载。
+
+### 3、安装 J-Link 驱动与补丁
+
+为了支持 FC7300 系列芯片,您需要安装 J-Link 驱动并应用特定的设备补丁。
+
+#### 步骤 1:安装 JLink 驱动
+
+获取 `JLink_Linux_V688a_x86_64.deb` 安装包,执行以下命令进行安装:
+
+[下载 JLink_Linux_V688a_x86_64.deb](./jlink/JLink_Linux_V688a_x86_64.deb)
+
+```bash
+ sudo dpkg -i ./JLink_Linux_V688a_x86_64.deb
+```
+
+#### 步骤 2:添加 FC7300 设备支持
+
+获取设备补丁包 `JLink_Patch_v2.19.7z`,执行以下命令将补丁应用到 J-Link 安装目录。
+
+[下载 JLink_Patch_v2.19.7z](./jlink/JLink_Patch_v2.19.7z)
+
+**注意**:请将 `` 替换为您存放补丁文件的实际路径。
+
+```Bash
+# 1. 解压补丁包
+sudo apt update
+sudo apt install p7zip-full
+7z x JLink_Patch_v2.19.7z
+
+# 2. 拷贝设备定义文件
+sudo cp -rf /JLink_Patch_v2.19/Devices/* /opt/SEGGER/JLink/Devices/
+
+# 3. 更新设备配置文件 (JLinkDevices.xml)
+
+# 场景 A:如果 /opt/SEGGER/JLink/JLinkDevices.xml 文件不存在,执行如下复制命令
+sudo cp -rp /home/mi/XXX/JLink_Patch_v2.19/JLinkDevices.xml /opt/SEGGER/JLink/JLinkDevices.xml
+
+# 场景 B:如果配置文件已存在
+# 如果 /opt/SEGGER/JLink/JLinkDevices.xml 文件已经存在,请将压缩包中 JLinkDevices.xml 文件中的 标签内内容,追加到 /opt/SEGGER/JLink/JLinkDevices.xml 文件 中
+```
+
+## 四、系统构建与运行
+
+本章节将详细介绍如何编译 Bootloader (BL) 和 Core0 系统镜像,并将其烧录至开发板。
+
+### 1、编译项目
+
+进入 openvela 源码根目录,分别构建 Bootloader 和 Core0。
+
+#### 步骤 1:编译 Bootloader(BL)
+
+```Bash
+./build.sh vendor/flagchip/boards/fc7300/fc7300f8m-evb/configs/kbl --cmake -j8
+```
+
+#### 步骤 2:编译核心系统 (Core0)
+
+```Bash
+./build.sh vendor/flagchip/boards/fc7300/fc7300f8m-evb/configs/kcore0 --cmake -j8
+```
+
+编译成功后,生成的镜像文件将位于以下目录:
+
+- **BL 镜像**:`./cmake_out/fc7300f8m-evb_kbl`
+
+ 
+
+- **Core0 镜像**:`./cmake_out/fc7300f8m-evb_kcore0`
+
+ 
+
+### 2、烧录镜像
+
+您可以选择 `.hex` 文件(推荐)或 `.bin` 文件进行烧录。
+
+**方式一:使用 .hex 文件烧录(推荐)**
+
+此方式自带地址信息,无需手动指定烧录地址,操作更安全。
+
+```Bash
+# 烧录 Bootloader
+cd ./cmake_out/fc7300f8m-evb_kbl
+echo "loadfile vela_bl.hex" | sudo JLinkExe -if SWD -device FC7300F8MDTxXxxxT1B -speed 4800 -NoGui 1
+
+# 烧录 Core0 及 User 镜像
+cd ./cmake_out/fc7300f8m-evb_kcore0
+echo "loadfile vela_core0.hex" | sudo JLinkExe -if SWD -device FC7300F8MDTxXxxxT1B -speed 4800 -NoGui 1
+echo "loadfile vela_core0_user.hex" | sudo JLinkExe -if SWD -device FC7300F8MDTxXxxxT1B -speed 4800 -NoGui 1
+```
+
+**方式二:使用 .bin 文件烧录**
+
+需严格指定各镜像的内存起始地址。
+
+```Bash
+# 烧录 Bootloader (地址: 0x01000000)
+cd ./cmake_out/fc7300f8m-evb_kbl
+echo "loadfile vela_bl.bin 0x01000000" | sudo JLinkExe -if SWD -device FC7300F8MDTxXxxxT1B -speed 2500 -NoGui 1
+
+# 烧录 Core0 (地址: 0x01040000) 及 User 镜像 (地址: 0x011C0000)
+cd ./cmake_out/fc7300f8m-evb_kcore0
+echo "loadfile vela_core0.bin 0x01040000" | sudo JLinkExe -if SWD -device FC7300F8MDTxXxxxT1B -speed 2500 -NoGui 1
+echo "loadfile vela_core0_user.bin 0x011C0000" | sudo JLinkExe -if SWD -device FC7300F8MDTxXxxxT1B -speed 2500 -NoGui 1
+```
+
+**注意**:烧录完成后,请务必**断电重启**开发板,以确保系统正确加载。
+
+### 3、串口连接与验证
+
+使用 `minicom` 连接开发板串口,查看启动日志。
+
+1. 在主机终端执行以下命令(假设设备号为 `/dev/ttyUSB0`):
+
+ ` sudo minicom -D /dev/ttyUSB0 -b 115200 `
+
+2. 按下开发板上的复位键(Reset)。
+3. 终端将输出启动信息并显示 `core0>` 提示符,表示系统运行正常。
+
+ 
+
+## 五、常见问题排查 (Troubleshooting)
+
+### Q: Ubuntu 无法识别串口设备 `/dev/ttyUSB0`
+
+**现象**:连接开发板后,在 `/dev/` 目录下找不到 `ttyUSB0` 设备,或者设备连接断断续续。
+
+**原因**:Ubuntu 系统内置的盲文显示驱动 `brltty` 可能会占用 USB 转串口设备,导致冲突。
+
+**解决方案**:
+
+```Bash
+sudo apt remove brltty
+```
diff --git a/zh-cn/quickstart/development_board/figures/060.png b/zh-cn/quickstart/development_board/figures/060.png
new file mode 100644
index 00000000..def45c4d
Binary files /dev/null and b/zh-cn/quickstart/development_board/figures/060.png differ
diff --git a/zh-cn/quickstart/development_board/figures/061.png b/zh-cn/quickstart/development_board/figures/061.png
new file mode 100644
index 00000000..4eabcb28
Binary files /dev/null and b/zh-cn/quickstart/development_board/figures/061.png differ
diff --git a/zh-cn/quickstart/development_board/figures/062.png b/zh-cn/quickstart/development_board/figures/062.png
new file mode 100644
index 00000000..a41e6da3
Binary files /dev/null and b/zh-cn/quickstart/development_board/figures/062.png differ
diff --git a/zh-cn/quickstart/development_board/figures/063.png b/zh-cn/quickstart/development_board/figures/063.png
new file mode 100644
index 00000000..dadfdde0
Binary files /dev/null and b/zh-cn/quickstart/development_board/figures/063.png differ
diff --git a/zh-cn/quickstart/development_board/figures/064.png b/zh-cn/quickstart/development_board/figures/064.png
new file mode 100644
index 00000000..35c7f624
Binary files /dev/null and b/zh-cn/quickstart/development_board/figures/064.png differ
diff --git a/zh-cn/quickstart/development_board/figures/065.png b/zh-cn/quickstart/development_board/figures/065.png
new file mode 100644
index 00000000..0f725934
Binary files /dev/null and b/zh-cn/quickstart/development_board/figures/065.png differ
diff --git a/zh-cn/quickstart/development_board/figures/066.png b/zh-cn/quickstart/development_board/figures/066.png
new file mode 100644
index 00000000..c04de4d7
Binary files /dev/null and b/zh-cn/quickstart/development_board/figures/066.png differ
diff --git a/zh-cn/quickstart/development_board/figures/067.png b/zh-cn/quickstart/development_board/figures/067.png
new file mode 100644
index 00000000..7d96fd97
Binary files /dev/null and b/zh-cn/quickstart/development_board/figures/067.png differ
diff --git a/zh-cn/quickstart/development_board/figures/068.png b/zh-cn/quickstart/development_board/figures/068.png
new file mode 100644
index 00000000..3e0a959b
Binary files /dev/null and b/zh-cn/quickstart/development_board/figures/068.png differ
diff --git a/zh-cn/quickstart/development_board/figures/069.png b/zh-cn/quickstart/development_board/figures/069.png
new file mode 100644
index 00000000..c04de4d7
Binary files /dev/null and b/zh-cn/quickstart/development_board/figures/069.png differ
diff --git a/zh-cn/quickstart/development_board/jlink/JLink_Linux_V688a_x86_64.deb b/zh-cn/quickstart/development_board/jlink/JLink_Linux_V688a_x86_64.deb
new file mode 100644
index 00000000..10c93067
Binary files /dev/null and b/zh-cn/quickstart/development_board/jlink/JLink_Linux_V688a_x86_64.deb differ
diff --git a/zh-cn/quickstart/development_board/jlink/JLink_Patch_v2.19.7z b/zh-cn/quickstart/development_board/jlink/JLink_Patch_v2.19.7z
new file mode 100644
index 00000000..44089654
Binary files /dev/null and b/zh-cn/quickstart/development_board/jlink/JLink_Patch_v2.19.7z differ
diff --git a/zh-cn/quickstart/development_board/tc4d9_evb_guide.md b/zh-cn/quickstart/development_board/tc4d9_evb_guide.md
new file mode 100644
index 00000000..ede8505d
--- /dev/null
+++ b/zh-cn/quickstart/development_board/tc4d9_evb_guide.md
@@ -0,0 +1,164 @@
+# TC4D9-EVB 开发板 openvela 运行指南
+
+[ [English](../../../en/quickstart/development_board/tc4d9_evb_guide.md) | 简体中文 ]
+
+## 一、概述
+
+本指南将指导您在英飞凌 (Infineon) TC4D9-EVB 开发板上完成 openvela 操作系统的编译构建、部署及运行验证。
+
+TC4D9-EVB 基于英飞凌 AURIX™ TC4x 系列微控制器(TC4D9/TC4Z9/TC489),集成了多路 CAN-FD、LIN、以太网、PCIe 等丰富接口,适用于汽车电子及高性能嵌入式系统的开发与原型验证。
+
+## 二、预期效果
+
+完成本指南的操作后,系统将成功启动,您可以通过串口终端(如 MobaXterm)进入 NSH (NuttShell) 进行交互,并支持多核切换。
+
+
+
+## 三、前置准备
+
+本流程涉及两个操作环境:**Linux 编译主机**用于构建代码,**Windows** **主机**用于工具烧录。
+
+### 1、硬件准备
+
+- **开发板**:TC4D9-EVB 开发板。
+- **线缆**:电源线及 USB 数据线(连接板载调试器接口)。
+
+### 2、编译主机准备 (Ubuntu)
+
+1. 请在 Ubuntu 环境下,参照官方文档[快速入门(Ubuntu)](../../quickstart/openvela_ubuntu_quick_start.md),完成 openvela 开发环境搭建和源代码下载。
+2. 打开终端,执行以下命令,更新软件包列表并安装 srecord。
+
+ ```bash
+ sudo apt update
+ sudo apt install srecord
+ ```
+
+### 3、烧录主机准备 (Windows)
+
+TC4x 系列的烧录工具链依赖 Windows 环境,请安装以下软件。
+
+1. 安装 TAS 工具 (Tool Access Socket)。
+
+ TAS(Tool Access Socket)是英飞凌推出的一套工具访问中间层软件,用于为上位机开发工具提供统一、抽象的硬件访问接口,是使用烧录工具的前提。
+
+ - 链接:[Infineon TAS](https://softwaretools.infineon.com/tools/com.ifx.tb.tool.infineontoolaccesssockettas)
+ - **验证安装**:安装完成后,连接开发板并上电。打开 Windows 设备管理器,若出现 `Infineon DAS JDS COM` 设备,即表示驱动安装成功。
+
+ 
+
+2. 安装 AURIX™ Flasher 烧录工具。
+
+ 用于对 TC4x 系列芯片进行擦除、编程和校验的命令行工具。
+
+ - 下载链接:[AURIX™ Flasher Software Tool](https://softwaretools.infineon.com/assets/com.ifx.tb.tool.aurixflashersoftwaretool)
+ - **验证安装:**默认安装在`C:\Infineon\AURIXFlasherSoftwareTool-3.0.14`目录下,进入该目录查看是否已经安装,如下图所示:
+
+ 
+
+3. 安装串口终端 MobaXterm。
+
+ 用于与开发板进行串口通信,下载链接:[MobaXterm_Portable](https://download.mobatek.net/2542025111600034/MobaXterm_Portable_v25.4.zip)。
+
+### 4、配置串口连接
+
+1. 将开发板通过 USB 连接到电脑。
+2. 打开 MobaXterm 软件,点击 Session。
+3. 选择 Serial,建立 **Serial** 会话。
+4. **Port**: 选择对应的 `Infineon DAS JDS COM` 端口。
+5. **Speed**(bps) : 设置为 `115200`。
+6. 点击 Advanced Serial settings,将 **Flow control** 为 `None`。
+7. 点击 **OK** 打开连接。
+
+## 四、系统构建 (Ubuntu)
+
+TC4x 架构包含多个核心,需要分别编译 Bootloader (BL) 和 6 个核心的固件。
+
+### 1、执行编译
+
+进入 openvela 源码根目录,执行以下命令序列:
+
+```Bash
+# 1. 编译 Bootloader
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/bl --cmake -j16
+
+# 2. 编译各核心固件 (Core0 - Core5)
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/core0 --cmake -j16
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/core1 --cmake -j16
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/core2 --cmake -j16
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/core3 --cmake -j16
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/core4 --cmake -j16
+./build.sh vendor/infineon/boards/aurix/tc4d9_evb/configs/core5 --cmake -j16
+```
+
+### 2、确认编译产物
+
+编译完成后,请在 `cmake_out/` 目录下收集以下 **7 个 .hex 文件**:
+
+- `cmake_out/infineon_tc4d9_evb_bl/vela_bl.hex`
+- `cmake_out/infineon_tc4d9_evb_core0/vela_core0.hex`
+- ... 至 ...
+- `cmake_out/infineon_tc4d9_evb_core5/vela_core5.hex`
+
+## 五、固件部署 (Windows)
+
+### 1、传输固件
+
+将上述 7 个 `.hex` 文件从 Ubuntu 主机复制到 Windows 主机的同一目录下(例如 `D:\firmware\` 或 AURIXFlasher 安装目录)。
+
+### 2、执行烧录
+
+1. 确保开发板已上电并通过 USB 连接。
+2. 进入 AURIXFlasher 安装目录(默认为 `C:\Infineon\AURIXFlasherSoftwareTool-3.0.14`),然后鼠标右键选择在终端打开,如下图所示:
+
+ 
+
+3. 执行以下命令进行烧录(假设 hex 文件位于当前目录):
+
+ **重要提示**:必须烧录所有 7 个固件(BL + 6 个 Core),缺失任何一个核心的固件都可能导致系统无法正常启动。
+
+ ```Plain
+ :: 烧录 Bootloader
+ ./AURIXFlasher.exe -hex vela_bl.hex
+
+
+ :: 烧录 Core0 - Core5
+ ./AURIXFlasher.exe -hex vela_core0.hex
+ ./AURIXFlasher.exe -hex vela_core1.hex
+ ./AURIXFlasher.exe -hex vela_core2.hex
+ ./AURIXFlasher.exe -hex vela_core3.hex
+ ./AURIXFlasher.exe -hex vela_core4.hex
+ ./AURIXFlasher.exe -hex vela_core5.hex
+ ```
+
+## 六、运行与验证
+
+### 1、启动系统
+
+所有固件烧录完成后,系统将自动复位启动。
+
+### 2、串口交互
+
+返回 MobaXterm 串口窗口,您将看到启动日志并最终停留在 `core0>` 提示符,表示 Core0 已就绪。
+
+
+
+### 3、多核切换验证
+
+openvela 支持在 NSH 中通过 `cu` (Call Utility) 命令连接到其他核心的虚拟终端。
+
+- **切换指令**:在 core0 中执行 `cu -l /dev/ttyCOREx` (x 代表核心编号)
+- **退出指令**:按下 `Ctrl + C` 返回 Core0。
+
+**示例:切换至 Core2**
+
+输入命令:
+
+```Bash
+cu -l /dev/ttyCORE2
+```
+
+终端提示符将变更为 `core2>`,如下图所示:
+
+
+
+使用 `ctrl + c` 命令可以返回 core0。
\ No newline at end of file
diff --git a/zh-cn/quickstart/images/001.png b/zh-cn/quickstart/figures/001.png
similarity index 100%
rename from zh-cn/quickstart/images/001.png
rename to zh-cn/quickstart/figures/001.png
diff --git a/zh-cn/quickstart/images/002.png b/zh-cn/quickstart/figures/002.png
similarity index 100%
rename from zh-cn/quickstart/images/002.png
rename to zh-cn/quickstart/figures/002.png
diff --git a/zh-cn/quickstart/figures/004.png b/zh-cn/quickstart/figures/004.png
new file mode 100644
index 00000000..ff34191f
Binary files /dev/null and b/zh-cn/quickstart/figures/004.png differ
diff --git a/zh-cn/quickstart/figures/005.png b/zh-cn/quickstart/figures/005.png
new file mode 100644
index 00000000..6f04b3e8
Binary files /dev/null and b/zh-cn/quickstart/figures/005.png differ
diff --git a/zh-cn/quickstart/figures/006.png b/zh-cn/quickstart/figures/006.png
new file mode 100644
index 00000000..59d6c2d6
Binary files /dev/null and b/zh-cn/quickstart/figures/006.png differ
diff --git a/zh-cn/quickstart/figures/007.png b/zh-cn/quickstart/figures/007.png
new file mode 100644
index 00000000..a3d69187
Binary files /dev/null and b/zh-cn/quickstart/figures/007.png differ
diff --git a/zh-cn/quickstart/figures/008.png b/zh-cn/quickstart/figures/008.png
new file mode 100644
index 00000000..14779897
Binary files /dev/null and b/zh-cn/quickstart/figures/008.png differ
diff --git a/zh-cn/quickstart/figures/009.png b/zh-cn/quickstart/figures/009.png
new file mode 100644
index 00000000..7d4dafa8
Binary files /dev/null and b/zh-cn/quickstart/figures/009.png differ
diff --git a/zh-cn/quickstart/openvela_macos_quick_start.md b/zh-cn/quickstart/openvela_macos_quick_start.md
new file mode 100644
index 00000000..96a9788f
--- /dev/null
+++ b/zh-cn/quickstart/openvela_macos_quick_start.md
@@ -0,0 +1,263 @@
+# 快速入门(macOS)
+
+\[ [English](../../en/quickstart/openvela_macos_quick_start.md) | 简体中文 \]
+
+本指南将指导您在 **macOS** 操作系统上完成 openvela 的开发环境准备、源代码下载、编译构建,并最终通过 Vela Emulator 运行编译产物。
+
+## 步骤一:准备工作
+
+在开始之前,请确保您的开发环境满足以下要求。
+
+### 1. 硬件要求
+
+- **硬盘**:至少 40 GB 可用空间,用于存放源代码和编译产物。
+- **内存**:至少 16 GB RAM。
+
+### 2. 操作系统要求
+
+- **操作系统**:macOS 12 (Monterey) 或更高版本。
+
+### 3. 安装开发工具
+
+请按照以下顺序安装 openvela 编译所需的开发工具。
+
+1. 安装 Xcode Command Line Tools。
+
+ Xcode Command Line Tools 包含在 macOS 上进行软件开发所需的核心工具,如 Clang 编译器和 Git。 打开**终端 (Terminal)**应用,执行以下命令:
+
+ ```Bash
+ xcode-select --install
+ ```
+
+ 在弹出的对话框中,点击**安装**并同意许可协议以完成安装。
+
+2. 安装 CMake。 CMake 是一个跨平台的构建系统生成工具。
+
+ 1. 访问 [CMake 官网下载页面](https://cmake.org/download),下载并安装适用于 macOS 的最新版 **CMake (3.x)**。
+
+ 2. 安装完成后,执行以下命令将 CMake 添加到系统路径中,以便在终端中直接调用。
+
+ ```Bash
+ /Applications/CMake.app/Contents/MacOS/CMake --install
+ ```
+
+3. 安装 Git LFS。
+
+ Git Large File Storage (LFS) 用于处理代码仓库中的大文件。
+
+ 访问 [Git LFS 官网](https://git-lfs.com/),下载并运行安装程序。
+
+4. 安装 Python 3。
+
+ `repo` 工具和构建脚本依赖 Python 3 环境。
+
+ 1. 访问 [Python 官网](https://www.python.org/downloads/),下载并安装最新版的 Python 3。
+
+ 2. 安装完成后,务必运行 `Install Certificates.command` 脚本,以确保 Python 的 SSL 证书配置正确,避免后续网络请求失败。请根据您安装的 Python 版本调整路径。
+
+ ```Bash
+ # 示例路径,请根据您实际安装的 Python 版本进行调整
+ sudo /Applications/Python\ 3.12/Install\ Certificates.command
+ ```
+
+5. 安装 Homebrew。
+
+ Homebrew 是 macOS 的包管理器,我们将使用它来安装 `repo` 工具的依赖项 `gpg`。 执行以下命令安装 Homebrew:
+
+ ```Bash
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
+ ```
+
+6. 安装 GPG。 GnuPG (GPG) 是 `repo` 工具验证代码签名所需的依赖。
+
+ 1. 使用 Homebrew 安装 `gpg`。
+
+ ```Bash
+ brew install gpg
+ ```
+
+ 2. 如果 `gpg` 命令未被系统识别,可执行以下命令手动创建符号链接。
+
+ ```Bash
+ ln -s /opt/homebrew/bin/gpg /usr/local/bin/gpg
+ ```
+
+## 步骤二:下载源代码
+
+openvela 使用 `repo` 工具管理其分布在多个 Git 仓库中的源代码。
+
+### 1. 安装 Repo 工具
+
+`repo` 是一个构建于 Git 之上的代码库管理工具。执行以下命令来安全地下载并安装它。
+
+```Bash
+curl -sSL "https://storage.googleapis.com/git-repo-downloads/repo" > repo
+chmod +x repo
+sudo mv repo /usr/local/bin
+```
+
+安装完成后,可运行 `repo --version` 进行验证。
+
+### 2. 初始化并同步代码库
+
+1. 创建一个工作目录,用于存放 openvela 的所有源代码。
+
+ ```Bash
+ mkdir openvela && cd openvela
+ ```
+
+2. 使用 `repo` 初始化项目清单,并指定 `trunk` 分支。
+
+ 请根据您的网络环境和偏好,从以下任一平台选择一种方式(推荐使用 SSH)来初始化仓库。
+
+ #### 选项 A:从 GitHub 下载
+
+ - 方式一:SSH(推荐)
+
+ 此方式需要您先将 SSH 公钥添加至您的 GitHub 账户,请参考 [GitHub 官方文档](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)。
+
+ ```bash
+ repo init -u ssh://git@github.com/open-vela/manifests.git -b trunk -m openvela.xml
+ ```
+
+ - 方式二:HTTPS
+
+ ```bash
+ repo init -u https://github.com/open-vela/manifests.git -b trunk -m openvela.xml
+ ```
+
+ #### 选项 B:从 Gitee 下载
+
+ - 方式一:SSH (推荐)
+
+ 此方式需要您先将 SSH 公钥添加至您的 Gitee 账户,请参考 [Gitee 官方文档](https://gitee.com/help/articles/4191)。
+
+ ```bash
+ repo init --u ssh://git@gitee.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+ - 方式二:HTTPS
+
+ ```bash
+ repo init -u https://gitee.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+ #### 选项 C:从 GitCode 下载
+
+ - 方式一:SSH (推荐)
+
+ 此方式需要您先将 SSH 公钥添加至您的 GitCode 账户,请参考 [GitCode 官方文档](https://docs.gitcode.com/docs/help/home/user_center/security_management/ssh)。
+
+ ```bash
+ repo init -u ssh://git@gitcode.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+ - 方式二:HTTPS
+
+ ```bash
+ repo init -u https://gitcode.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+3. 执行同步命令,`repo` 将根据清单文件 (`openvela.xml`) 下载所有相关的源代码仓库。
+
+ ```Bash
+ repo sync -c -j8
+ ```
+
+## 步骤三:编译源代码
+
+完成源代码下载后,请在 openvela 根目录下执行以下编译步骤。
+
+### 1. 设置环境变量
+
+执行以下命令,将预编译的工具链路径添加到当前终端会话的环境变量中。
+
+```Bash
+uname_s=$(uname -s | tr '[A-Z]' '[a-z]')
+uname_m=$(uname -m | sed 's/arm64/aarch64/g')
+export PATH=$PWD/prebuilts/build-tools/${uname_s}-${uname_m}/bin:$PATH
+export PATH=$PWD/prebuilts/cmake/${uname_s}-${uname_m}/bin:$PATH
+export PATH=$PWD/prebuilts/python/${uname_s}-${uname_m}/bin:$PATH
+export PATH=$PWD/prebuilts/gcc/${uname_s}-${uname_m}/aarch64-none-elf/bin:$PATH
+export PATH=$PWD/prebuilts/gcc/${uname_s}-${uname_m}/arm-none-eabi/bin:$PATH
+export PYTHONPATH=$PWD/prebuilts/tools/python/dist-packages/cxxfilt
+export PYTHONPATH=$PWD/prebuilts/tools/python/dist-packages/kconfiglib:$PYTHONPATH
+export PYTHONPATH=$PWD/prebuilts/tools/python/dist-packages/pyelftools:$PYTHONPATH
+```
+
+> **注意**: 此环境变量配置仅在当前终端窗口有效。若新开终端,需重新执行此脚本。
+
+### 2. 配置 CMake 项目 (Out-of-Tree)
+
+openvela 采用 **Out-of-tree build** 模式,该模式将编译产物与源代码分离,以保持源码目录的整洁。
+
+运行以下 `cmake` 命令来配置项目。此命令将:
+
+- 在 `cmake_out/goldfish-arm64-v8a-ap` 目录下生成构建系统文件。
+- 使用 Ninja 作为构建工具以提升编译速度。
+- 指定目标板的配置文件。
+
+```Bash
+cmake \
+ -B cmake_out/goldfish-arm64-v8a-ap \
+ -S $PWD/nuttx \
+ -GNinja \
+ -DBOARD_CONFIG=../vendor/openvela/boards/vela/configs/goldfish-arm64-v8a-ap \
+ -DEXTRA_FLAGS="-Wno-cpp -Wno-deprecated-declarations"
+```
+
+
+
+### 3.(可选)自定义内核配置
+
+您可以通过 `menuconfig` 命令打开图形化界面,以调整 NuttX 内核与组件的配置。
+
+```Bash
+cmake --build cmake_out/goldfish-arm64-v8a-ap -t menuconfig
+```
+
+> **操作技巧**
+>
+> - 按 `/` 键可搜索配置项。
+> - 按 `空格键` 可切换选中状态(启用/禁用/模块化)。
+> - 配置完成后,选择 **Save** 保存并退出。
+
+
+
+### 4. 执行编译
+
+执行以下命令,构建整个项目。
+
+```Bash
+cmake --build cmake_out/goldfish-arm64-v8a-ap
+```
+
+编译成功后,您将在 `cmake_out/goldfish-arm64-v8a-ap` 目录下找到 `nuttx` 等编译产物。
+
+
+
+## 步骤四:运行模拟器
+
+在 openvela 根目录下,执行以下脚本启动 `Vela Emulator` 并加载您的编译产物。
+
+```Bash
+./emulator.sh cmake_out/goldfish-arm64-v8a-ap
+```
+
+模拟器启动后,您将看到 `goldfish-armv8a-ap>` 提示符,表明 openvela 已成功运行。
+
+
+
+
+
+## 后续步骤
+
+- 常见问题
+
+ - [快速入门常见问题](../faq/QuickStart_FAQ.md)
+
+- 进一步阅读
+
+ - [使用模拟器调试](./emulator/Debugging_Vela_with_Vela_Emulator_zh-cn.md)
+ - [ADB 命令](./emulator/Android_Debug_Bridge_commands_zh-cn.md)
+ - [发送模拟器控制台命令](./emulator/Send_emulator_console_commands_zh-cn.md)
diff --git a/zh-cn/quickstart/openvela_ubuntu_quick_start.md b/zh-cn/quickstart/openvela_ubuntu_quick_start.md
new file mode 100644
index 00000000..534587fe
--- /dev/null
+++ b/zh-cn/quickstart/openvela_ubuntu_quick_start.md
@@ -0,0 +1,220 @@
+# 快速入门(Ubuntu)
+
+[ [English](../../en/quickstart/openvela_ubuntu_quick_start.md) | 简体中文 ]
+
+本指南将指导您在 **Ubuntu 22.04** 操作系统上完成 openvela 的开发环境准备、源代码下载、编译构建,并最终通过 Vela Emulator 运行编译产物。
+
+> **环境要求**
+>
+> 本文仅适配 **Ubuntu 22.04**。不支持在 Windows Subsystem for Linux (WSL) 或 Docker 容器环境中进行编译。
+
+## 步骤一:准备工作
+
+在开始之前,请确保您的开发环境满足以下要求。
+
+### 1. 硬件要求
+
+- **硬盘:** 至少 40 GB 可用空间,用于存放源代码和编译产物。
+- **内存:** 至少 16 GB RAM。
+
+### 2. 操作系统要求
+
+- **操作系统:** Ubuntu 22.04 (arm64/x86_64)
+
+### 3. 安装开发工具
+
+在开始之前,您需要安装编译 openvela 所需的软件包。
+
+打开终端,执行以下命令,更新软件包列表并安装 Git、CMake、Python 3 和 build-essential 工具链。
+
+```Bash
+sudo apt update
+sudo apt install git git-lfs cmake python3 build-essential
+```
+
+## 步骤二:下载源代码
+
+openvela 使用 `repo` 工具管理其分布在多个 Git 仓库中的源代码。
+
+### 1. 安装 Repo 工具
+
+`repo` 是一个构建于 Git 之上的代码库管理工具。执行以下命令来安全地下载并安装它。
+
+```Bash
+curl -sSL "https://storage.googleapis.com/git-repo-downloads/repo" > repo
+chmod +x repo
+sudo mv repo /usr/local/bin
+```
+
+安装完成后,可运行 `repo --version` 进行验证。
+
+### 2. 初始化并同步代码库
+
+1. 创建一个工作目录,用于存放 openvela 的所有源代码。
+
+ ```bash
+ mkdir openvela && cd openvela
+ ```
+
+2. 使用 `repo` 初始化项目清单,并指定 `trunk` 分支。
+
+ 请根据您的网络环境和偏好,从以下任一平台选择一种方式(推荐使用 SSH)来初始化仓库。
+
+ #### 选项 A:从 GitHub 下载
+
+ - 方式一:SSH(推荐)
+
+ 此方式需要您先将 SSH 公钥添加至您的 GitHub 账户,请参考 [GitHub 官方文档](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)。
+
+ ```bash
+ repo init -u ssh://git@github.com/open-vela/manifests.git -b trunk -m openvela.xml
+ ```
+
+ - 方式二:HTTPS
+
+ ```bash
+ repo init -u https://github.com/open-vela/manifests.git -b trunk -m openvela.xml
+ ```
+
+ #### 选项 B:从 Gitee 下载
+
+ - 方式一:SSH (推荐)
+
+ 此方式需要您先将 SSH 公钥添加至您的 Gitee 账户,请参考 [Gitee 官方文档](https://gitee.com/help/articles/4191)。
+
+ ```bash
+ repo init --u ssh://git@gitee.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+ - 方式二:HTTPS
+
+ ```bash
+ repo init -u https://gitee.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+ #### 选项 C:从 GitCode 下载
+
+ - 方式一:SSH (推荐)
+
+ 此方式需要您先将 SSH 公钥添加至您的 GitCode 账户,请参考 [GitCode 官方文档](https://docs.gitcode.com/docs/help/home/user_center/security_management/ssh)。
+
+ ```bash
+ repo init -u ssh://git@gitcode.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+ - 方式二:HTTPS
+
+ ```bash
+ repo init -u https://gitcode.com/open-vela/manifests.git -b trunk -m openvela.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
+ ```
+
+3. 执行同步命令,repo 将根据清单文件 (`openvela.xml`) 下载所有相关的源代码仓库。
+
+ ```bash
+ repo sync -c -j8
+ ```
+
+ 
+
+ > **操作提示**
+ >
+ > - 首次同步耗时较长,具体时间取决于您的网络状况和磁盘性能。
+ > - 若因网络问题中断,可重复执行 `repo sync` 进行增量同步。
+
+## 步骤三:编译源代码
+
+完成源代码下载后,请在 openvela 根目录下执行以下编译步骤。
+
+### 1. 设置环境变量
+
+执行以下命令,将预编译的工具链路径添加到当前终端会话的环境变量中。
+
+```Bash
+uname_s=$(uname -s | tr '[A-Z]' '[a-z]')
+uname_m=$(uname -m)
+export PATH=$PWD/prebuilts/build-tools/${uname_s}-${uname_m}/bin:$PATH
+export PATH=$PWD/prebuilts/cmake/${uname_s}-${uname_m}/bin:$PATH
+export PATH=$PWD/prebuilts/python/${uname_s}-${uname_m}/bin:$PATH
+export PATH=$PWD/prebuilts/gcc/${uname_s}-${uname_m}/aarch64-none-elf/bin:$PATH
+export PATH=$PWD/prebuilts/gcc/${uname_s}-${uname_m}/arm-none-eabi/bin:$PATH
+export PYTHONPATH=$PWD/prebuilts/tools/python/dist-packages/cxxfilt
+export PYTHONPATH=$PWD/prebuilts/tools/python/dist-packages/kconfiglib:$PYTHONPATH
+export PYTHONPATH=$PWD/prebuilts/tools/python/dist-packages/pyelftools:$PYTHONPATH
+```
+
+> **注意**: 此环境变量配置仅在当前终端窗口有效。若新开终端,需重新执行此脚本。
+
+### 2. 配置 CMake 项目 (Out-of-Tree)
+
+openvela 采用 **Out-of-tree build** 模式,该模式将编译产物与源代码分离,以保持源码目录的整洁。
+
+运行以下 `cmake` 命令来配置项目。此命令将:
+
+- 在 `cmake_out/goldfish-arm64-v8a-ap` 目录下生成构建系统文件。
+- 使用 Ninja 作为构建工具以提升编译速度。
+- 指定目标板的配置文件。
+
+```Bash
+cmake \
+ -B cmake_out/goldfish-arm64-v8a-ap \
+ -S $PWD/nuttx \
+ -GNinja \
+ -DBOARD_CONFIG=../vendor/openvela/boards/vela/configs/goldfish-arm64-v8a-ap \
+ -DEXTRA_FLAGS="-Wno-cpp -Wno-deprecated-declarations"
+```
+
+
+
+### 3. (可选)自定义内核配置
+
+您可以通过 `menuconfig` 命令打开图形化界面,以调整 NuttX 内核与组件的配置。
+
+```Bash
+cmake --build cmake_out/goldfish-arm64-v8a-ap -t menuconfig
+```
+
+> **操作技巧**
+>
+> - 按 `/` 键可搜索配置项。
+> - 按 `空格键` 可切换选中状态(启用/禁用/模块化)。
+> - 配置完成后,选择 **Save** 保存并退出。
+
+
+
+### 4. 执行编译
+
+执行以下命令,构建整个项目。
+
+```Bash
+cmake --build cmake_out/goldfish-arm64-v8a-ap
+```
+
+编译成功后,您将在 `cmake_out/goldfish-arm64-v8a-ap` 目录下找到 `nuttx` 等编译产物。
+
+
+
+## 步骤四:运行模拟器
+
+在 openvela 根目录下,执行以下脚本启动 `Vela Emulator` 并加载您的编译产物。
+
+```Bash
+./emulator.sh cmake_out/goldfish-arm64-v8a-ap
+```
+
+模拟器启动后,您将看到 `goldfish-armv8a-ap>` 提示符,表明 openvela 已成功运行。
+
+
+
+
+
+## 后续步骤
+
+- 常见问题
+
+ - [快速入门常见问题](../faq/QuickStart_FAQ.md)
+
+- 进一步阅读
+
+ - [使用模拟器调试](./emulator/Debugging_Vela_with_Vela_Emulator_zh-cn.md)
+ - [ADB 命令](./emulator/Android_Debug_Bridge_commands_zh-cn.md)
+ - [发送模拟器控制台命令](./emulator/Send_emulator_console_commands_zh-cn.md)
diff --git a/zh-cn/release_notes/openvela_5.0_Release.md b/zh-cn/release_notes/openvela_5.0_Release.md
deleted file mode 100644
index 34c1fdb8..00000000
--- a/zh-cn/release_notes/openvela_5.0_Release.md
+++ /dev/null
@@ -1,118 +0,0 @@
-# openvela 5.0 Release
-
-## 一、版本概述
-
-## 二、新增和增强特性
-
-### 不兼容变更(特性 Owner 写作)
-
-#### 1、内核子系统
-
-##### 变更标题001
-
-**变更原因**
-
-**
-
-**说明**
-
-**
-
-**变更影响**
-
-**
-
-变更前:
-
-**
-
-变更后:
-
-**
-
-**变更的接口/组件**
-
-**
-
-**适配指导**
-
-**
-
-#### 2、连接
-
-##### 2.1 蓝牙
-
-##### 2.2 网络
-
-##### 2.3 电话
-
-##### 2.4 互联互通
-
-#### 3、音视频
-
-#### 4、图形
-
-#### 5、大前端框架
-
-#### 6、工具
-
-### 兼容变更(特性 Owner 写作)
-
-#### 1、内核子系统
-
-#### 2、连接
-
-##### 2.1 蓝牙
-
-- 新增****特性。(API 参考、使用指南、SampleCode 等超链接)
-- 新增****特性。(API 参考、使用指南、SampleCode 等超链接)
-- 新增****特性。(API 参考、使用指南、SampleCode 等超链接)
-- 增强****特性。
-
-##### 2.2 网络
-
-##### 2.3 电话
-
-##### 2.4 互联互通
-
-#### 3、音视频
-
-#### 4、图形
-
-#### 5、大前端框架
-
-#### 6、工具
-
-## 三、API 变更清单
-
-### 1、内核子系统
-
-| 操作 | 旧版本 | 新版本 | 文件 |
-| -------------- | ----------------- | --------------------------- | ---- |
-| 新增/修改/废弃 | 类名: API 声明: | 类名: API声明: 差异内容: | |
-| | NA | | |
-| | NA | | |
-
-### 2、连接
-
-#### 2.1 蓝牙
-
-#### 2.2 网络
-
-#### 2.3 电话
-
-#### 2.4 互联互通
-
-### 3、音视频
-
-### 4、图形
-
-### 5、大前端框架
-
-### 6、工具
-
-## 四、遗留缺陷列表
-
-| 子系统 | 单号 | 问题描述 | 影响 | 计划解决日志 |
-| :----- | :--- | :------- | :--- | :----------- |
-| | | | | |