tg-ch1-lab 0.4.2-preview.1

Chapter 1 lab of rCore Tutorial: minimal bare-metal Supervisor program.
tg-ch1-lab-0.4.2-preview.1 is not a library.

第一章实验

第一章实验的示例,展示如何依赖 rcore_console crate。

Cargo.toml 里添加:

rcore_console = { path = "../rcore_console"}

main.rs 里初始化:

rcore_console::init_console(&Console);

后续的章节都可以这样依赖 rcore_console

源码阅读导航索引

返回根文档导航总表

本实验是 ch1 的补充,建议按下面顺序阅读并动手验证。

阅读顺序 文件 重点问题
1 src/main.rs_start 裸机入口如何手动设置栈并跳转到 Rust 代码?
2 src/main.rsrust_main 控制台初始化后,print!/println! 为何就能工作?
3 src/main.rsConsole 实现 put_char 如何打通到 SBI 输出路径?
4 src/main.rspanic_handler no_std 环境发生 panic 后为什么要主动关机?

配套建议:与 ch1/src/main.rs 对照阅读,可以快速看出“最小输出程序”和“带 console 抽象程序”的差异。