#bare-metal #rcore #tutorial #risc-v #no-std

no-std app tg-ch1-lab

Chapter 1 lab of rCore Tutorial: minimal bare-metal Supervisor program

2 releases

Uses new Rust 2024

0.4.2-preview.1 Feb 13, 2026
0.4.1-preview.1 Feb 12, 2026

#2784 in Embedded development

GPL-3.0 license

40KB
596 lines

第一章实验

第一章实验的示例,展示如何依赖 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 抽象程序”的差异。

Dependencies

~240KB