整合libcpu/riscv中的移植文件 提供一份公共代码于common 在提交本pr时,除hpmicro的内核,rv32内核bsp已完成去除大部分的冗余,大部分代码采用common中的实现。本pr的作用是进一步统一common中的文件,从而提供一份公用代码,新移植的RV32内核的BSP可以全部使用common代码。 - 在common中提供一份公用文件:interrupt_gcc.S - 修改原有的文件,将原有的中断中上下文切换代码替换为interrupt_gcc.S - 基于上述修改,修改仓库中risc-v内核的BSP与移植相关的部分 (主要包含中断入口函数 中断栈等) - 在common中提供一份公用文件:trap_common.c;提供统一中断入口函数,中断入口函数初始化,中断入口注册等函数,并完善异常时的信息输出 - 在common中提供一份公用文件:rt_hw_stack_frame.h;将栈帧结构体剥离,供用户使用 - 在上述工作完成后,在上述工作的基础上测试仓库中risc-v内核的BSP - 完善函数中的命名,完善中断栈的获取 - 提供一份详细的基于现有common文件的移植指南 #### 在什么测试环境下测试通过 - 1.CH32V307V-R1-R0 - 2.CH32V208W-R0-1V4 - 3.HPM6750EVKMINI - 4.GD32VF103V-EVAL - 5.qemu(CORE-V-MCU ) > 与上述开发板使用同样芯片的BSP均测试通过 在CH32V307V-R1-R0与HPM6750EVKMINI上基于现有移植文件进行多线程复杂场景下的长时间测试,测试过程系统运行正常。
CH32V208W-R0 BSP 说明
中文
1 开发板简介
CH32V208W-R0 是 WCH 推出的一款基于 RISC-V 内核的开发板,最高主频为 144Mhz。比较适合入门学习 RISC-V 架构。
基本特性:
- MCU:CH32V208WBU6,主频 144MHz,FLASH和RAM可配置
- LED:2个。
- 按键:3个 Download ,Reset, User 。
- USB:2个,Tpye-C。
- 网口:1个,内置 10M PHY。
- 板上无 WCH-Link 下载调试工具,需外接。
2 编译说明
板级包支持 RISC-V GCC 开发环境,以下是具体版本信息:
IDE/编译器 | 已测试版本 |
---|---|
GCC | WCH RISC-V GCC 8.2.0 |
3 使用说明
本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
3.1 使用Env编译BSP
本节讲解如何使用Env工具来编译BSP工程。
3.1.1 编译BSP
- 下载WCH编译工具链
- 下载Env工具最新版本
- 下载RT-Thread最新源码
- 并在当前BSP根目录下打开Env工具并执行
scons --exec-path=D:\sdk-toolchain-RISC-V-GCC-WCH-1.0.0\bin
命令,在指定工具链位置的同时直接编译。 - 编译完成之后会生成 rtthread.bin 文件。
3.1.2 硬件连接
使用数据线连接板载 wch-link 到 PC,打开电源开关。
3.1.3 下载
打开 WCH RISC-V MCU ProgrammerTool 下载软件,选择刚刚生成的 rtthread.bin 文件,进行下载。
3.1.4 运行结果
在终端工具里打开板载 wch-link 串口(WCHDapLink SERIAL,默认115200-8-1-N),复位设备后,在串口上可以看到 RT-Thread 的输出信息:
3.2 使用VSCode编译工程
在Env终端中敲入命令 scons --target=vsc
来生成VSCode工程. 接着敲入命令 code .
来打开VSCode.
使用 VSCode 终端 敲入命令 scons -j12 --exec-path=D:\sdk-toolchain-RISC-V-GCC-WCH-1.0.0bin
来编译工程。
3.3 导入 RT-Thread Studio 工程
3.3.1 导入
打开 RT-Thread Studio 后点击:文件->导入:
选择“RT-Thread Bsp 到工作空间中”:
填写项目信息,Bsp 根目录为 \rt-thread\bsp\wch\risc-v\ch32v307v-r1
目录:
3.3.2 配置环境
工程导入后进行编译环境的设置,首先点击“打开构建设置”进入设置界面:
将编译链路径复制到 Toolchain path 中:
如图更改 Prefix :
进行工具设置:
3.3.3 编译
编译结果如下: