diff --git a/README.md b/README.md index 7775006c7f2d5d9ce609933048b778ab668db7af..e6e55c262bd80a059f497468ff40b59ae22c09ac 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,7 @@ RT-Thread Smart 是基于 RT-Thread 操作系统上的混合操作系统,简 - [RT-Thread HMI-Board 上手指南](/rt-thread-version/rt-thread-standard/hw-board/ra6m3-hmi-board/ra6m3-hmi-board.md) - [RT-Thread Vision-Board 上手指南](/rt-thread-version/rt-thread-standard/hw-board/ra8d1-vision-board/ra8d1-vision-board.md) - [RT-Thread EtherKit 上手指南](/rt-thread-version/rt-thread-standard/hw-board/rzn2l-etherkit/rzn2l-etherkit.md) +- [XuanTie系列BSP 上手指南](/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/quick-start.md) - [OPENHW Core-V-MCU](/rt-thread-version/rt-thread-standard/tutorial/quick-start/openhw-core-v-mcu/quick-start.md) - [富瀚微 MC3302](/rt-thread-version/rt-thread-standard/tutorial/quick-start/fullhan-mc3302/quick-start.md) - [富瀚微 MC632X](/rt-thread-version/rt-thread-standard/tutorial/quick-start/fullhan-mc632x/quick-start.md) diff --git a/rt-thread-version/rt-thread-standard/_sidebar.md b/rt-thread-version/rt-thread-standard/_sidebar.md index cc755a6f9267da56b2785170e52755c0665f6c9b..7d775dbc26ef4a880e3de19fcd4d55e4feabf900 100644 --- a/rt-thread-version/rt-thread-standard/_sidebar.md +++ b/rt-thread-version/rt-thread-standard/_sidebar.md @@ -22,6 +22,7 @@ - [Keil模拟器STM32F103](/rt-thread-version/rt-thread-standard/tutorial/quick-start/stm32f103-simulator/stm32f103-simulator.md) - [瑞萨RA2L1-cpk](/rt-thread-version/rt-thread-standard/tutorial/quick-start/renesas-ra2l1-cpk/quick-start.md) - [英飞凌 CY8CKIT-062S2-43012](/rt-thread-version/rt-thread-standard/tutorial/quick-start/CY8CKIT-062S2-43012/quick-start.md) + - [XuanTie系列BSP 上手指南](/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/quick-start.md) - [OPENHW Core-V-MCU](/rt-thread-version/rt-thread-standard/tutorial/quick-start/openhw-core-v-mcu/quick-start.md) - [富瀚微 MC3302](/rt-thread-version/rt-thread-standard/tutorial/quick-start/fullhan-mc3302/quick-start.md) - [富瀚微 MC632X](/rt-thread-version/rt-thread-standard/tutorial/quick-start/fullhan-mc632x/quick-start.md) diff --git a/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/cdk.png b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/cdk.png new file mode 100644 index 0000000000000000000000000000000000000000..7c32169fc00e33fee19f6b6bb1dcb0faaafd9ee5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/cdk.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/cdk2.png b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/cdk2.png new file mode 100644 index 0000000000000000000000000000000000000000..d5dc23660470287c6e0db84d367a30428c381b76 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/cdk2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/consle.png b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/consle.png new file mode 100644 index 0000000000000000000000000000000000000000..40ab325b013725070e0b12bb390b5a7ac4620c81 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/consle.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/debug.png b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/debug.png new file mode 100644 index 0000000000000000000000000000000000000000..14f4fe6ef398e2f0b756318d82a59bb356ff8422 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/debug.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/env.png b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/env.png new file mode 100644 index 0000000000000000000000000000000000000000..055ecbbe42aa0de516303f9c85f4cf20d796e4a6 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/env.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/option.png b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/option.png new file mode 100644 index 0000000000000000000000000000000000000000..7e1a107cc081ffc435173981190605880cb315a9 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/option.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/result.png b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/result.png new file mode 100644 index 0000000000000000000000000000000000000000..038a14ecf946401b778875c2e9d8820b2554d0b4 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/result.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/scons.png b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/scons.png new file mode 100644 index 0000000000000000000000000000000000000000..ca69714be0521f665fb7b40d78887a9638a7ead1 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/scons.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/start.png b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/start.png new file mode 100644 index 0000000000000000000000000000000000000000..71a8895f07d269d941ebe85addf935eb74a66384 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/figures/start.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/quick-start.md b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/quick-start.md new file mode 100644 index 0000000000000000000000000000000000000000..2392fc5bc9e8a1862a038d9c47f7762e301067c4 --- /dev/null +++ b/rt-thread-version/rt-thread-standard/tutorial/quick-start/xuantie/quick-start.md @@ -0,0 +1,71 @@ +# 玄铁系列RISC-V BSP上手指南 + +RT-Thread 已对玄铁(XuanTie)E、C、R 系列 RISC-V 内核提供了完整的 BSP 支持,相关代码位于 `bsp/xuantie` 目录下。类似 ARM 芯片常用的 MDK(Keil)环境,RISC-V 芯片也可通过玄铁提供的 CDK(C-SKY Development Kit)进行开发。本文将介绍如何基于 RT-Thread 主线代码生成适用于玄铁系列的 CDK 工程,并在 CDK 中完成开发、编译与调试。文中以RV32的 **e906** BSP为例进行说明。 + +## 1. 开发环境 +1. **安装 RT-Thread 工具链** +确保已安装 RT-Thread 开发环境,包括 Python、scons 和 env 工具等 +2. **安装玄铁 CDK** +下载并安装玄铁 CDK:https://www.xrvm.cn/soft-tools/tools/CDK。 +3. **获取玄铁 BSP 代码** +https://github.com/RT-Thread/rt-thread/tree/master/bsp/xuantie/smartl/e906。 + +## 2. 配置工程 +玄铁定制的 QEMU 提供了 **smartl** 平台以支持 e 系列内核,**xiaohui**平台支持r与c系列的内核。在 RT-Thread 的 BSP 目录中,e906 的 BSP 位于 `bsp/xuantie/smartl/e906` 路径下。进入该目录后,可通过 **env 工具**进行项目配置与管理。 + +![](figures/env.png) + +随着版本的迭代,BSP 的功能和配置可能会有所变化。通常在首次使用 BSP 时,建议先执行一次 `menuconfig` 命令,以更新并同步 BSP 的配置。 + +## 3. 创建CDK工程 +在 **env** 工具中执行命令: + +``` +scons --target=cdk +``` + +即可生成当前 BSP 对应的CDK 工程。 + +![](figures/scons.png) + +执行上述命令后,会在当前目录下生成 CDK 工程文件 **`project.cdkproj`**。需要注意的是,在生成工程之前,应确保本地已正确安装并配置好 **CDK 环境**。 + +## 4. 运行CDK工程 +双击**project.cdkproj**可打开生成的CDK工程。 + +![](figures/cdk.png) + +启动 **CDK** 后,即可在界面中看到基于 RT-Thread 主线代码生成的 **E906**BSP 工程。 + +![](figures/cdk2.png) + +## 5. 编译工程 +在 CDK 中打开工程后,点击工具栏上的 **编译** 按钮即可开始构建工程。常用的编译选项如下: + +![](figures/option.png) + +编译成功后会输出编译成功的信息,可执行文件等。 + +![](figures/result.png) + +## 6. 运行与调试 +玄铁系列 BSP 可在 **玄铁官方定制的 QEMU** 上运行。打开 CDK 工程后,点击工具栏中的 **调试** 按钮即可启动运行与调试。常用的调试选项如下: + +![](figures/start.png) + +启动调试后的页面如下: + +![](figures/debug.png) + +通过 **串口终端** 可以查看系统运行的线程信息,帮助确认 RT-Thread 内核是否正常启动及线程调度情况。 + +![](figures/consle.png) + + + +借助 CDK 的强大支持,即可轻松在玄铁 E、C、R 系列 RISC-V 内核上运行 RT-Thread。看到这里,不妨动手试一试,亲自体验整个开发流程吧! + + + + +