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

rCore-Tutorial-Book-v3/chapter1/3first-instruction-in-kernel1

Open utterances-bot opened this issue 2 years ago • 20 comments

内核第一条指令(原理篇) - rCore-Tutorial-Book-v3 3.6.0-alpha.1 文档

https://rcore-os.github.io/rCore-Tutorial-Book-v3/chapter1/3first-instruction-in-kernel1.html

utterances-bot avatar Jul 11 '22 12:07 utterances-bot

这一课很精彩,Qemu 的介绍、计算机加电启动流程以及链接器的链接过程,都是很好的原理性介绍。:heart:

AtomicVar avatar Jul 11 '22 12:07 AtomicVar

太精彩了。

Jiangmmh avatar Jul 23 '22 14:07 Jiangmmh

cm-lll avatar Jul 30 '22 04:07 cm-lll

内容深入浅出,让人获益匪浅,多谢作者的劳动

linyihai avatar Aug 07 '22 16:08 linyihai

深入浅出,对于我这种各个地方都了解一点但是没有将知识串联起来的人非常有帮助。

wtsclwq avatar Nov 24 '22 17:11 wtsclwq

赞 谢谢

chiniun avatar Dec 01 '22 08:12 chiniun

第一次读懂,已年过34岁

word119 avatar Apr 03 '23 22:04 word119

勘误:”在前八章我们主要用到 CPU 和物理内存“

learning310 avatar May 15 '23 07:05 learning310

@learning310 好像没问题?

wyfcyx avatar May 30 '23 16:05 wyfcyx

@learning310 好像没问题?

理解错误,抱歉。

learning310 avatar Jun 07 '23 07:06 learning310

可以在端序的旁注里添加一张示意图: {1969-x-17350526740980}(1).png

chestNutLsj avatar Sep 19 '23 08:09 chestNutLsj

"注意这里我们载入的文件带有 .bin 后缀,它并不是上一节中我们移除标准库依赖后构建得到的内核可执行文件,而是还要进行加工处理得到内核镜像。”这句话有语病,刚开始读好几次没看懂;而且这里第一次提到内核镜像,应当加以强调。也许可以改成以下句式,虽然不太简洁但也算是能理解:“注意这里我们载入的文件(内核镜像)带有 .bin 后缀,它并不是上一节中我们移除标准库依赖后构建得到的内核可执行文件。我们还要进行一些加工处理才能得到正确的内核镜像。”

Ayana-chan avatar Oct 24 '23 05:10 Ayana-chan

"注意这里我们载入的文件带有 .bin 后缀,它并不是上一节中我们移除标准库依赖后构建得到的内核可执行文件,而是还要进行加工处理得到内核镜像。”这句话有语病,刚开始读好几次没看懂;而且这里第一次提到内核镜像,应当加以强调。也许可以改成以下句式,虽然不太简洁但也算是能理解:“注意这里我们载入的文件(内核镜像)带有 .bin 后缀,它并不是上一节中我们移除标准库依赖后构建得到的内核可执行文件。我们还要进行一些加工处理才能得到正确的内核镜像。”

重写了一下,感谢反馈。

wyfcyx avatar Oct 26 '23 15:10 wyfcyx

这里建议还是把“在此期间链接器主要完成两件事情:第二件事情是将符号替换为具体地址。”修改一下,“链接器在链接外部目标文件的时候,会将符号转化为地址”,但是你又说“当一个模块被转化为目标文件之后,它的内部符号就已经在目标文件中被转化为具体的地址了”,所以有矛盾。

watsmal avatar Nov 01 '23 02:11 watsmal

"不同的段会被编译器放置在内存不同的位置上" 这里应该是被链接器放置在内存不同的位置上吧

bj-edward avatar Nov 23 '23 11:11 bj-edward

Qemu 的启动流程的第一段: ……:即作把作为 bootloader 的 rustsbi-qemu.bin 加载到物理内存以物理地址 0x80000000 开头的区域上,同时…… “即作”应该是多一个“作”字。

LordsResistanceArmy avatar Feb 05 '24 19:02 LordsResistanceArmy

没有必要纠结别人用哪几个字表述吧=。= 能理解就行了呗,我觉得已经写很好了

HideOnBush-FV avatar Feb 07 '24 01:02 HideOnBush-FV

写的太好了, 都串联起来了👍

Lee-side avatar Feb 28 '24 15:02 Lee-side

qemu-system-riscv64
-machine virt
-nographic
-bios ../bootloader/rustsbi-qemu.bin
-device loader,file=target/riscv64gc-unknown-none-elf/release/os.bin,addr=0x80200000 qemu-system-riscv64: Unable to load the RISC-V firmware "../bootloader/rustsbi-qemu.bin" 这个报错是什么原因呢

FangTaC avatar Apr 11 '24 12:04 FangTaC

qemu-system-riscv64 -machine virt -nographic -bios ../bootloader/rustsbi-qemu.bin -device loader,file=target/riscv64gc-unknown-none-elf/release/os.bin,addr=0x80200000 qemu-system-riscv64: Unable to load the RISC-V firmware "../bootloader/rustsbi-qemu.bin" 这个报错是什么原因呢

应该是缺少bootloader这个文件夹

swing0ne avatar Apr 24 '24 07:04 swing0ne