![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RISC-V
文章平均质量分 85
玟林禹
这个作者很懒,什么都没留下…
展开
-
RISCV汇编编程讲解
ELF(Executable Format)是一种unix-like系统上的二进制文件格式标准。ELF文件类型说明实例可重定位文件(relocatable file)内容包含了代码和数据,可以被链接成可执行文件或共享目标文件linux上的.o文件可执行文件可以直接执行的文件linux上的a.out文件共享目标文件内容包含了代码和数据,可以作为链接器的输入,在链接阶段和其他的relacatable file或者shared object file一起链接成新的object file;原创 2024-08-25 12:29:40 · 1063 阅读 · 0 评论 -
RISC-V (六)Trap和Exception
当trap发生时,pc会被替换为mtvec设定的地址,同时hart会设置mepc为当前指令或下一条指令的地址,当我们需要退出trap时可以调用特殊的mret指令,改指令会将mepc中的值恢复到pc中(实现返回的效果)。PP是之前的特权级别的意思。具体的辅助信息由特定的硬件实现定义,RISC-V规范没有定义具体的值。当trap发生时,除了通过mcause可以获取exception的种类code值外,hart还提供了mtval来提供exception的其他信息来辅助我们执行更进一步的操作。原创 2024-08-11 14:21:10 · 835 阅读 · 0 评论 -
RISC-V (五)上下文切换和协作式多任务
协作式多任务演变而来。抢占式环境下,操作系统完全决定任务调度方案,操作系统可以剥夺当前任务对处理器的使用,将处理器提供给其它任务。有一点像函数跳转,但是跟函数跳转又不太一样,函数跳转不会改变上下文,多任务协作会改变context的内容。-smp后面的数字指的是hart的个数,qemu模拟器最大可以有8个核,此文围绕一个核来讲。协作式环境下,下一个任务调度的前提是当前任务主动放弃处理器。所谓的任务就是寄存器的当前值。原创 2024-08-04 22:51:35 · 347 阅读 · 0 评论 -
RISC-V (四)内存管理
本章目的:对内存进一步的管理,实现动态的分配和释放。实现page级别的内存分配和释放。原创 2024-07-30 14:10:14 · 811 阅读 · 0 评论 -
RISC-V (三)RVOS
Operating System,是一组系统软件程序。-主管并控制计算机操作、运用和运行硬件、软件资源。-提供公共服务来组织用户交互。操作系统有广义和狭义之分。-狭义:内核。-广义:发行包 = 内核 + 一组软件。原创 2024-07-28 23:57:15 · 168 阅读 · 0 评论 -
RISC-V (二)汇编语言编程
汇编语言是一种“低级”语言。汇编语言的缺点:-难度-难写-难移植汇编语言的优点:-灵活-强大汇编语言的应用场景-需要直接访问底层硬件的地方-需要对性能执行极致优化的地方汇编文件一般后缀为.S或.s,.S包含了预处理的语句,.s就是纯粹的汇编语句。一个完整的RISC-V汇编程序有多条语句(statement)组成。打方括号表示可选。-label表示一个标号,必须以":"结尾。label相当于一个地址,给这个地址起了个名字。是这条指令存放在内存的地址。原创 2024-07-28 11:23:10 · 945 阅读 · 0 评论 -
RISC-V (一)ISA介绍 | 编译链接 | 嵌入式开发介绍
加州伯克利所研发的第五代精简指令集。ISA指令集架构:是底层硬件电路面向上层软件程序提供的一层接口规范。ISA(处理器)的宽度指的是CPU中通用寄存器的宽度,这决定了寻址范围的大小,以及数据运算能力。ISA的宽度与指令编码长度无关。目前主流的移动智能终端,个人计算机和服务器用的寄存器是64位。原创 2024-07-26 06:03:45 · 670 阅读 · 0 评论