使用Rust在树莓派上编写操作系统 - 01 - 无限循环
概述
- 本章搭建了项目骨架。
- 一小段汇编代码让CPU的所有核心都执行内核代码。(译注:执行后CPU占用率100%)
构建
Makefile目标:doc:生成文档。qemu:在QEMU中运行内核。clippycleanreadelf:检查ELF输出。objdump:检查汇编。nm:检查符号。
需要关注的代码
BSP中的link.ld为链接脚本。- 加载地址为
0x8_0000 - 目前只有一个节(section):代码节
.text。(译注:详情参考ELF文件结构)
- 加载地址为
main.rs中主要关注几个内部属性:#,#
boot.s中:汇编函数_start()将执行wfe(等待事件),挂起所有执行_start()CPU核心。- 我们需要定义一个
#[panic_handler]以使编译通过。- 使用
unimplemented!()宏作为占位符,否则可能会被编译器优化掉。
- 使用

