rCore-Tutorial icon indicating copy to clipboard operation
rCore-Tutorial copied to clipboard

Tutorial for rCore OS step by step (3rd edition)

Results 24 rCore-Tutorial issues
Sort by recently updated
recently updated
newest added

我的每日学习实践过程记录链接,请同学们多多指教: [os-summer-of-code-daily](https://github.com/yunwei37/os-summer-of-code-daily) 希望大家可以把学习实践过程记录分享在这里,以便相互交流,共同进步啦!

learning

寻求一下rustlings error_handling 部分的error6.rs的解答思路 (Rustings好像这一部分有变化,有的版本可能没有error6) 题目链接: https://github.com/rust-lang/rustlings/blob/main/exercises/error_handling/errors6.rs

learning

欢迎提出任何问题 ### 环境 * `rustc 1.62.0-nightly` * `wsl2 Ubuntu 20.04` ### 遇到问题 安装环境时,`cargo install cargo-binutils` 失败。 安装依赖`clap v2.34.0`时,提示: ``` error[E0658]: `if` is not allowed in a `const fn` --> /home/ruiqurm/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/clap-2.34.0/src/app/settings.rs:7:1...

bug

之前基于教程第二版进行移植,截止到 lab1 可以在 K210 上运行。参考[这里](https://github.com/rcore-os/rCore_tutorial/issues/14)。 经过上周例会上的协商,应重点在第三版上进行移植工作。于是我将第三版 fork 了一份,在上面一边学习一边进行移植工作(我会将学习与移植的过程持续更新在[这里](https://github.com/wyfcyx/osnotes/blob/master/book/v3/read-notes.md))。思路仍是和之前一样基于 rjgg 魔改过的 OpenSBI 0.3。 目前,lab0 已经可以在 K210 上运行,代码可以在[这里](https://github.com/wyfcyx/rCore-Tutorial/tree/shinbokuow/os)找到。值得一提的是,我对整个开发流程进行了封装,目前只需在 `os` 目录下 `make run-k210` 即可一键完成构建、烧写以及进入终端与串口进行通信。有兴趣的同学可以帮我一起测试一下。 令人惊喜的是,目前使用的命令行串口终端 `cu` 支持多颜色字体输出。但还不知道它对输入的支持怎么样:事实上我们在用户程序之前都不必考虑这一点。 ![v3-lab0-k210](https://user-images.githubusercontent.com/7789210/87461183-9b10d680-c640-11ea-9730-65612fc4d313.png) 另外,@luojia65 正在用 Rust 自己实现一个 [SBI](https://github.com/luojia65/two-level-os-lab),目前在...

enhancement

欢迎提出任何问题 ### 涉及文件 Makefile ### 相关段落 最好包括文档 / 代码片段的引用,以便于我们定位问题 [wenyan@WYarch rCore-Tutorial]$ sudo make run make[1]: 进入目录“/home/wenyan/Projects/rCore-Tutorial/user” which: no rcore-fs-fuse in (/usr/local/bin:/home/wenyan/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl) Installing rcore-fs-fuse Updating git repository `https://github.com/rcore-os/rcore-fs` Installing rcore-fs-fuse v0.1.0...

bug

### 问题描述 下载最新代码后,切换到 lab-1 分支,`make run` 出现如下错误信息: ```bash ... src/main.rs:44: 'end of rust_main' sbi_trap_error: hart0: trap handler failed (error -2) sbi_trap_error: hart0: mcause=0x0000000000000007 mtval=0x0000000000100000 sbi_trap_error: hart0: mepc=0x0000000080003d3e mstatus=0x8000000000007800 sbi_trap_error: hart0:...

bug

请参加实习的同学,创建好了记录自己每天进展的git仓库后,把地址更新到这里吧 > 附 [OS Tutorial Summer of Code 2020 每日学习实践过程记录 repositories links](https://github.com/rcore-os/rCore-Tutorial/issues/18)

learning

https://github.com/wtklbm/crm 一键享用鲜美无比

learning

### 问题描述 本小节实验指导书上选择的gdb-client为rust-gdb,但rust-gdb原生不支持riscv指令集。实际上应该选用riscv64-unknown-elf-gdb。 ### 在rCore-Tutorial实验指导书上的位置 链接: [第一章/构建裸机运行时执行环境/设置正确的程序内存布局](https://rcore-os.github.io/rCore-Tutorial-Book-v3/chapter1/3-2-mini-rt-baremetal.html#id7) ![UQ@MJQ)Y YWZA` 7AF)OF_N](https://user-images.githubusercontent.com/24358002/126786026-f2c7ca4c-fac6-4eac-b096-3b462a8422c0.png) ### 更进一步分析 ![)F@YDGLU0CF`$6 LQ2)}F)G](https://user-images.githubusercontent.com/24358002/126785814-02abe25e-2dd4-402e-8e66-358622606bf3.png) ![PT1WL1807F$X37736RF1 )0](https://user-images.githubusercontent.com/24358002/126785823-6a218a71-f785-44eb-a8f3-f1244a611a2a.png)

bug

我们的实现中,我们的 target 设置为了 riscv64gc-unknown-none-elf ,这应该是包含了 RISCV 的 M 扩展的 (riscv64gc = RV64IMAFDC ISA)。 然而在 entry.asm 中使用 mul 指令时报错: ![WeChat Image_20210706002844](https://user-images.githubusercontent.com/15049134/124499922-6538a500-ddf1-11eb-863e-eb6c8599589a.png) 删除图中 mul 行后不会报错,且能正常运行第一章的实现。

learning