RISC-V指令集架构

简介 RISC-V是一个通用的指令集架构(ISA),ISA是底层硬件电路面向上层软件程序提供的一层接口规范,ISA定义了: 基本数据类型,BYTE/HALFWORD/WORD 寄存器 指令 寻址模式 异常或中断处理方式 之所以需要ISA,是为上层软件提供一层抽象,制定规则和约束,让编程者不用关心具体的电路结构,目前的指令集架构有两种类别: - CISC复杂指令集(Complex Instructi

qemu-system-riscv64 virt平台ROM代码启动分析

为什么下面qemu启动elf时,text地址要从0x80000000开始? qemu-system-riscv64 -machine virt -cpu c910v -nographic -smp 1 -bios none -kernel xxx.elf 从memory mapping角度 下面是qemu virt平台的memory mapping https://github.com/qemu/

RISC-V汇编指令

C源代码 unsigned int arithmetic(unsigned int a, unsigned int b) { unsigned int sum, diff, upper; sum = a + b; sum = sum + 2; diff = a - b; diff = diff -1; upper = 8192; return sum + diff + upper; } unsig

环境搭建

risc-v32入门 https://github.com/plctlab/riscv-operating-system-mooc/blob/main/README_zh.md 按照上面的进行搭建,工具链和qemu都不用编译,直接解压设置环境变量后可使用,需要注意的是ubuntu使用20.04以上版本。 对于asm下面的code编译方式,需要修改一下Makefile --- a/asm/add/M