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

这篇具有很好参考价值的文章主要介绍了MIT 6.S081 Operating System/Fall 2020 macOS搭建risc-v与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

成功截图
MIT 6.S081 Operating System/Fall 2020 macOS搭建risc-v与xv6开发调试环境,risc-v,操作系统

测试

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

窗口1

cd xv6-riscv
make CPUS=1 qemu-gdb

成功截图MIT 6.S081 Operating System/Fall 2020 macOS搭建risc-v与xv6开发调试环境,risc-v,操作系统

窗口2

cd xv6-riscv
riscv64-unknown-elf-gdb

成功截图
MIT 6.S081 Operating System/Fall 2020 macOS搭建risc-v与xv6开发调试环境,risc-v,操作系统

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

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和我交流,让我们一起变得更强!文章来源地址https://www.toymoban.com/news/detail-719218.html

到了这里,关于MIT 6.S081 Operating System/Fall 2020 macOS搭建risc-v与xv6开发调试环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 6.S081——补充材料——RISC-V架构中的异常与中断详解

    我在阅读Xv6源码过程中对很多概念感到困惑,想到也许会有其他人对此秉持同样的困惑,所以我将我的研究和学习过程总结下来并编篡成如下的博客。本篇博客想对RISC-V标准中有关中断和异常的概念进行一个梳理,考虑RISC-V标准的实现灵活性,我们必须结合一个具体的平台来

    2024年02月12日
    浏览(42)
  • MIT6.S081 - Lecture3: OS Organization and System Calls

    使用操作系统的主要原因是为了实现 CPU 多进程分时复用以及内存隔离 如果没有操作系统,应用程序会直接与硬件进行交互,这时应用程序会直接使用 CPU,比如假设只有一个 CPU 核,一个应用程序在这个 CPU 核上运行,但是同时其他程序也需要运行,因为没有操作系统来帮助

    2024年04月22日
    浏览(40)
  • macOS - 上编译运行 risc-v (spike)

    本文根据以下文章改编: RISC-V 环境配置 https://decaf-lang.github.io/minidecaf-tutorial/docs/step0/riscv_env.html 相关链接: riscv-gnu-toolchain GNU toolchain for RISC-V, including GCC https://github.com/riscv/riscv-gnu-toolchain brew - Custom-GCC-and-cross-compilers https://docs.brew.sh/Custom-GCC-and-cross-compilers riscv-isa-sim Spike,

    2024年02月12日
    浏览(36)
  • 博流RISC-V芯片Eclipse环境搭建

    之前编译是通过 VSCode 编译,通过手工输入 make 命令编译,我们也可以通过 Eclipse 可视化 IDE 来编译、烧录。 至 Eclipse 官网 https://www.eclipse.org/downloads/packages ,下载 Eclipse IDE for C/C++ Developers 。 Windows 操作系统下载 Windows x86_64 版本,下载并解压,点击 eclipse.exe 运行。 Linux 操作

    2024年02月10日
    浏览(55)
  • 博流RISC-V芯片BL616开发环境搭建

    本文分别介绍博流RISC-V芯片 BL616 在 Windows和Linux 下开发环境搭建,本文同时适用BL618,BL602,BL702,BL808系列芯片。 Windows 我们在日常工作中会经常使用到 git,windows 环境下载 git 安装包安装后即可使用。下载地址:https://git-scm.com/download/win。 当前 64bit 操作系统下最新版本为

    2024年02月11日
    浏览(46)
  • 开发一个RISC-V上的操作系统(一)—— 环境搭建

    目录 一、开发环境配置 二、测试 三、Makefile 四、开发前需要了解的知识 在前面我们使用Verilog实现了一个简易的RISC-V处理器,并且能烧录到板子上跑一些简单C程序,传送门: RISC-V处理器的设计与实现(一)—— 基本指令集_risc_v处理器_Patarw_Li的博客-CSDN博客 RISC-V处理器的设

    2024年02月12日
    浏览(62)
  • Vscode搭建开发调试STM32/RISC-V环境IDE(最全面)

    单片机开发IDE环境如KeilMDK,虽然操作简单 ,方便调试。但就是代码编辑风格很老套,中文符号乱码还是常有的事。而如今流行的vscode编辑器很不错,免费且相当轻量级,用来代码开发体验很不错,看着都舒服。Clion IDE体验更好,但就是它不免费且体积较大。Stm32cubeIDE生成工

    2024年02月16日
    浏览(63)
  • MIT 6.S081 Lab Three

    本文为 MIT 6.S081 2020 操作系统 实验三解析。 MIT 6.S081课程前置基础参考: 基于RISC-V搭建操作系统系列 在本实验中,您将探索页表并对其进行修改,以简化将数据从用户空间复制到内核空间的函数。 开始编码之前,请阅读xv6手册的第3章和相关文件: * kernel/memlayout.h* ,它捕获了

    2024年02月09日
    浏览(46)
  • MIT 6.S081学习笔记(第〇章)

    本文涉及 xv6 《第零章 操作系统接口》相关,主要对涉及的进程、I/O、文件描述符、管道、文件等内容产生个人理解,不具有官方权威解释; 文章的目录与书中的目录没有严格的相关性; 文中会有问题 (Question) 字段,这来源于对 xv6 book 的扩展; 文中涉及的代码均能在macOS

    2024年02月09日
    浏览(48)
  • 【MIT 6.S081】Lab7: Multithreading

    本Lab比较简单,就是为xv6添加一个用户级的多线程功能,然后熟悉一下Linux下多线程编程。 笔者用时约2h 这一部分的代码不涉及内核代码,所以也比较简单,根据提示修改 user/uthread.c 中的代码即可。仿照内核中进程转换函数 swtch 的实现即可。首先,添加一个 context 上下文结

    2023年04月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包