git checkout syscall 这时我们开启两个终端窗口,保持两个终端的工作目录都位于xv6-labs-2022,然后在一个窗口中执行make qemu-gdb,在另一个窗执行riscv64-unknown-elf-gdb,会发现riscv64-unknown-elf-gdb仍不能正常执行: 仔细查看上图的报错我们会发现是因为riscv64-unknown-elf-gdb没有能够读取执行.gdbinit文件...
# 把以下内容添加到 ~/.zshrc 或者 ~/.bash_profile 或者 /etc/profile# 因为我使用的是zsh 所以配置到 ~/.zshrc 里exportRISCV_HOME=/opt/riscv-gnu-toolchainexportPATH=${PATH}:${RISCV_HOME}/bin# 用 source 命令 让环境变量重新加载source~/.zshrc 4.验证是否安装成功 //执行 riscv64-unknown-el...
然后进入文件夹进行make cd xv6-riscvmakemakeqemu 如果成功进入shell界面说明成功 5. 测试 打开两个终端 终端1 cdxv6-riscv make CPUS=1 qemu-gdb 终端2 cdxv6-riscv riscv64-unknown-elf-gdb 6.随笔 附赠一些homebrew的指令, 便于查看 brew list 列出自己的包 brew list--versions 查看已安装包的版本号bre...
现在微内核概念这么火,鸿蒙就被宣传为微内核全场景OS,难道不想从原理上真正理解一下微内核OS吗? 而6.S081 这个课程就是引导我们实现了一个微内核操作系统。 我的实现环境: qemu for riscv gdb for riscv gcc for riscv binutils for riscv Windows 10 + VMWare + Ubuntu 20.04 ...
安装是通过源码编译的, 我的m1上编译 了差不多半小时才完成. 配置 环境变量默认直接就是走的/opt/homebrew/bin/所以不需要额外添加了. 默认的工具链是: # M1mac终于有gdb了 riscv64-unknown-elf-addr2line riscv64-unknown-elf-gdb ...
现在微内核概念这么火,鸿蒙就被宣传为微内核全场景OS,难道不想从原理上真正理解一下微内核OS吗? 而6.S081 这个课程就是引导我们实现了一个微内核操作系统。 我的实现环境: qemu for riscv gdb for riscv gcc for riscv binutils for riscv Windows 10 + VMWare + Ubuntu 20.04 ...
riscv64-unknown-elf-gcc(GCC)10.1.0 qemu-system-riscv64 --version 预期: QEMU emulator version5.1.0 8.3 检查调试工具 这里需要开启两个窗口,一个运行qemu,一个运行调试器gdb。 运行qemu的窗口执行make qemu-gdb后等待gdb的连接 makeqemu-gdbsed"s/:1234/:26000/"<.gdbinit.tmpl-riscv>.gdbinit ...
MIT 操作系统 6.S081(中英文字幕) 实验: 本课程用到xv6系统,我从GitHub上fork了一个:https://github.com/PiperLiu/xv6-riscv 本课程进行实验的作业系统:git clone git://g.csail.mit.edu/xv6-labs-2020 Lab 的心得笔记汇总可以参考:./lab.md
2.7 Real world 插曲:安装 riscv64-unknown-elf-gdb 2.8 Exercises 尝试 gdb 读书: Chapter 4 Traps and system calls 4.3 Code: Calling system calls 4.4 Code: System call arguments 系统调用的参数 阅读一些代码 用perl 脚本生成 S 汇编代码 这节课就是读书课,留了个 lab ,下节课听完再做。LEC...