riscv 市场
芯片介绍
软件介绍
开发板介绍
PC介绍
riscv 架构
编程模型(指令集/寄存器/ABI/SBI)
运行状态
没有这个概念
指令集
寄存器
riscv32和riscv64两者的区别
非特权级别(u-mode)下不建议访问的指令与寄存器
// 指令
sret/wfi/sfence.wma
// 寄存器
s-mode 的 csr
m-mode 的 csr
ABI
- risc-v与SBI与ABI及riscv常见的ABI及其体现
- 基于fp的栈回溯
- 基于gp的relaxation
- [基于tp的]
- [riscv 没有pop/push指令,那他是怎么使用sp的]
- [zero寄存器为riscv带来了什么]
- [t0/t1/t2 有什么用]
扩展指令集
异常模型
- riscv的异常与中断及实例
- [工作模式]及实例
M-mode S-mode U-mode debug-mode
内存模型
MMU
内存一致性
缓存一致性
原子性
memory order
-
RVWMO 内存一致性模型TODO
cache
debug架构
External Debug
jtag
Self-hosted Debug
ebreak 指令
Trace
BOOT模型
虚拟化模型
安全模型
开发工具
gcc toolchain & gdb
-
编译器2 : riscv-gnu-toolchain 编译出 riscv64-unknown-linux-gnu-gcc
-
编译器3 : sifive … … … … …发布的 riscv64-unknown-elf-gcc
-
编译器4 : ubuntu … … … … .发布的 riscv64-linux-gnu-gcc , come from package gcc-riscv64-linux-gnu
-
编译器5 : andes … … … … …发布的riscv64-linux-gcc
win : riscv64-linux-gcc/riscv64-elf-gcc/riscv32-linux-gcc/riscv32-elf-gcc
linux : riscv64-linux-gcc
qemu
- qemu 6.1.0 编译出 qemu-system-riscv32
- ubuntu20.04 安装 qemu-system-misc
常见开发环境
芯来科技 的 Nuclei SDK
软件开发
riscv SBI 编程
裸机(baremetal)开发
TODO : opensbi 在什么时候才会用到
MSU 三模式肯定会用到
MU 两模式会不会用到?
M 一模式会不会用到?
RTOS
rt-thread
freertos
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 启动流程
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 运行流程
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 运行流程 的栈分析
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 运行流程 的Mode分析
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 运行流程 的异常分析
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 锁机制 分析
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的调度时机
linux
riscv-linux 镜像
riscv-linux boot 符号
debug
boot
boot时的内存管理
架构相关代码
通用知识:如何新增一个架构
附录 : RISCV 参考资料 online docs
TOOLS
- gdb online doc & document
- gcc online doc
- qemuonline doc
- manpage
CODES
risc v
- riscv官网 & riscv-specifications &
- riscv教程
相关官网网址
https://github.com/riscv-non-isa
https://github.com/riscv
http://crva.ict.ac.cn/
核心
RISC-V-Reader-Chinese-v2p1.pdf : 中文手册
riscv-spec-20191213.pdf : 非特权指令集
riscv-privileged-20190608.pdf : 特权指令集
Design of the RISC-V Instruction Set Architecture EECS-2016-1.pdf
riscv-abi.pdf
riscv-sbi.pdf
debug&trace
riscv-debug-release.pdf riscv-debug-stable.pdf : debug
riscv-trace-spec.pdf : trace
5001-Nexus_11497-DAC10.pdf : trace
debugger_riscv.pdf : Lauterbach debug 相关手册
启动
The Standardized Boot flow for RISC-V Platforms.pdf : 启动流程
Summit_bootflow.pdf
ELCE_2019_final_upload.pptx
FOSDEM_2020_Atish.pdf
Linux_plumbers_bootflow.pdf
The_role_of_open_source_firmware_in_RISC-V.pdf
虚拟化
A First Look at RISC-V Virtualization from an Embedded Systems Perspective.pdf
简单介绍 : 入门用
RISC-V and Open Hardware BoF
Xvisor: Embedded Hypervisor for RISC-V
risc-v-getting-started-guide.pdf
//其他个人资料,辅助理解
https://zhuanlan.zhihu.com/p/102484084
虚拟化: https://github.com/FengWuCB/RVirt
虚拟化: https://github.com/kvm-riscv
指令集 : https://www.cnblogs.com/mikewolf2002/category/1329315.html
debug : https://ithelp.ithome.com.tw/m/articles/10197439