JUICE VM

简介

juice vm诞生于2020年以实现可运行最新kernel主线的RISC-V最小虚拟机为目标而诞生的设计之初秉承着可以在 RAM 只有 百KB 级别的平台上运行,不引入除了c99标准外的第三方依赖。

juice vm按照gcc所支持的C99标准编写无第三方库依赖浅显易懂且具有方便移植的特性可快速移植到多种主流 MCU 及支持c环境的所有平台上

juice vm去掉注释后展开所有的宏的代码行数仅12523行,仅36104字,足够的小巧。

Juice Vm的特点

  • 资源占用极低。

  • 跨平台、可快速移植。

Juice Vm的组成

  • 指令集RV64IMASU.
  • 支持了M-mode,U-mode,S-mode下的mtime.
  • 超级精简的uart只有读和写两个外设寄存器.
  • 超级精简的MMU SV39支持.
  • 支持RISC-V官方标准的异常和中断托管

Juice Vm下的软件移植进度

  • 已经支持了c语言编程。
  • 已完成freertos移植。
  • 已完成mbedtls移植。
  • 已完成mmu sv39测试。
  • 已完成mtime测试。
  • 已完成opensbi移植 传送门
  • 已完成rt-thread移植感谢@熊大和@Andy Chen的支持 传送门
  • 已完成kernel主线5.0.0 传送门
  • 上传Juice Vm下的GCC toolchain 传送门
  • 适配 GDB 通用接口支持 TODO
  • 适配 RT-SMART TODO

快速上手

Description
The juice virtual machine was born in 2020, with the goal of realizing the smallest virtual machine of RISC-V that can run the latest kernel mainline. At the beginning of the design, it runs on a platform with only 100 KB of RAM, which does not exceed the number of C99. Three-party dependence.
Readme 20 MiB
Languages
Markdown 100%