MIT 6.S081 Operating System/Fall 2020 macOS搭建risc-v与xv6开发调试环境

2023-10-12 03:15

本文主要是介绍MIT 6.S081 Operating System/Fall 2020 macOS搭建risc-v与xv6开发调试环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 本机配置
  • 安装环境
    • Homebrew
      • 执行安装脚本
      • 查看安装是否成功
    • RISC-V tools
      • 执行brew的安装脚本
    • QEMU
    • XV6
  • 测试
  • 有用的参考链接(感谢前辈)
  • 写在结尾

本机配置

电脑型号:Apple M2 Pro 2023
操作系统:macOS Ventura 13.4
所以我的电脑是arm64架构的M2芯片

安装环境

Homebrew

执行安装脚本

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
镜像选哪个都无所谓,我选择的是阿里巴巴

查看安装是否成功

brew --version

RISC-V tools

执行brew的安装脚本

这步需要先安装完成Homebrew
brew tap riscv-software-src/riscv
然后是 Build the toolchain
brew install riscv-tools
这步可能会比较慢,需要保持网络较为良好(我用的是HongKong),会占用大约6.5GB的存储空间

QEMU

brew install qemu

XV6

用git克隆下来
git clone https://github.com/mit-pdos/xv6-riscv.git
在这个文件夹中进行编译

cd xv6-riscv
make

在xv6-riscv文件夹下编译qemu
make qemu

成功截图
在这里插入图片描述

测试

使用 qemu-gdb 对 xv6 进行调试, 终端需要打开2个窗口

窗口1

cd xv6-riscv
make CPUS=1 qemu-gdb

成功截图在这里插入图片描述

窗口2

cd xv6-riscv
riscv64-unknown-elf-gdb

成功截图
在这里插入图片描述

有用的参考链接(感谢前辈)

MIT课程官方提供
https://pdos.csail.mit.edu/6.828/2020/schedule.html
https://pdos.csail.mit.edu/6.828/2020/tools.html

xv6与riscv
https://github.com/mit-pdos/xv6-riscv
https://github.com/riscv-software-src/homebrew-riscv
https://zhuanlan.zhihu.com/p/464386728

macOS安装Homebrew
https://zhuanlan.zhihu.com/p/607620531
https://zhuanlan.zhihu.com/p/111014448

写在结尾

真的总感觉自己基础不够牢固,也是听了搞计算机的前辈无数次跟我提基础的重要性,所以开始重新看CSAPP,并且尝试去听一些MIT、CMU的经典课程。

也算是正式开启了之前被很多学长学姐安利过的MIT的操作系统神课程,课程总共有10-11个lab,后面我会将每次的lab写成实验总结记录在CSDN中,也欢迎各位UU和我交流,让我们一起变得更强!

这篇关于MIT 6.S081 Operating System/Fall 2020 macOS搭建risc-v与xv6开发调试环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/192847

相关文章

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建