WCH RISC-V芯片RTOS移植

工程目录存放于GITHUB链接

WCH Qingke内核是基于RISC-V的内核。做了很多改进,包括硬件压栈和中断嵌套。在RTOS官方提供的RISC-V内核移植例程中,不能发挥出WCH Qingke内核的特性,效率降低。沁恒官方EVT中处理效率依旧一般,没有发挥出Qingke内核的优势。

移植主要点:

1. 中断向量表修改,默认中断向量表不同于RISC-V官方,在一部分异常发生时都是进入HardFault中断。所以依旧使用Qingke的中断向量表模式来进行中断管理。但是将用户编写的外部中断都统一使用汇编函数入口进行管理,所以不在需要使用__attribute__((interrupt("WCH-Interrupt-fast")))或者__attribute__((interrupt()))修饰。在汇编总入口中,第一级中断进入时,会打开中断嵌套,切换为中断栈。

2. 使能中断嵌套会导致每个中断执行会多约10个指令周期,中断嵌套使能通过工程右键 -> properties -> c/c++ Build -> settings -> tool settings -> GNU RISC-V Cross Assembler -> Preprocessor 右边输入框Defined symbols中的 ENABLE_INTERRUPT_NEST=0 修改为 ENABLE_INTERRUPT_NEST=1 即可。

3. 使用硬件压栈(不可关闭),保证运行速度。

移植目录

目前已经移植的目录

CH583/2/1

RTOS状态
FreeRTOS已完成
RT-Thread已完成
liteos_m已完成

CH592/1

RTOS状态
FreeRTOS已完成
RT-Thread已完成
liteos_m已完成

CH32V208

RTOS状态
FreeRTOS已完成
RT-Thread已完成
liteos_m已完成

CH32V203

RTOS状态
FreeRTOS进行中
RT-Thread进行中
liteos_m进行中

CH32V303/5/7

RTOS状态
FreeRTOS进行中
RT-Thread进行中
liteos_m进行中

WCH芯片内核版本

WCH Qingke内核是基于RISC-V的内核。

芯片型号内核版本浮点
CH32V103Qingke V3A不支持
CH583/2/1Qingke V4A不支持
CH32V203Qingke V4B不支持
CH592/1Qingke V4C不支持
CH32V208Qingke V4C不支持
CH32L103Qingke V4C不支持
CH32V303/5/7Qingke V4F支持
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值