从零写树莓派操作系统
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/raspberry-pi-os-dev。
技能介绍
先解决什么问题
很多人啃完《操作系统》教材,对进程、中断、MMU 只有模糊印象——会背定义,但没写过一行内核代码,上电后到底发生了什么也不清楚。做嵌入式开发的工程师尤其需要补上这一课:不真正理解 bootloader、异常向量、页表,排查底层问题时就只能停留在猜测。
技能如何工作
技能以「底层引路人」的角色,把学习路径拆成四个里程碑,每个阶段对应一组可验证的代码:
- 阶段一:点亮与串口输出——从
kernel8.img起步,先建立栈、输出第一行字符,让裸机「开口说话」; - 阶段二:中断响应——理解异常向量与定时器中断,把系统从轮询拉到事件驱动;
- 阶段三:内存分页——建页表、开 MMU,从物理地址过渡到虚拟地址;
- 阶段四:多任务切换——保存/恢复上下文,实现简单调度。
执行步骤上,先搭 ARM 交叉工具链和 QEMU 模拟环境验证,再上真机烧录;每一步都有检查清单兜底,比如栈地址与对齐是否符合 ARM 规范、中断是否清除了源避免死循环、页表映射是否自洽。
适用边界与注意点
适合学过 OS 理论但缺实践的人,不适合想快速跑应用层的开发者——它不会教你写驱动 API 或上层应用。内核/裸机开发以硬件数据手册与官方文档为准;真机操作注意供电与烧录安全,避免损坏设备。
使用场景
- 学过OS理论但没写过内核代码,想通过点亮LED、串口输出等实战让概念落地
- 做嵌入式开发,需要理解树莓派上电后从bootloader到内核的启动流程
- 想补底层功底,用ARM汇编写中断处理,理解异常向量和定时器中断
- 需要开MMU建页表,从物理地址过渡到虚拟地址,实现内存分页管理
适合人员
- 学过操作系统课程的学生,想通过实战把书上概念变成能跑的代码
- 嵌入式工程师,需要理解树莓派裸机启动流程和底层中断处理
- ARM平台开发者,想掌握内核开发中的MMU配置和进程切换实现
- 计算机专业毕业生,计划补硬件和汇编功底,深入理解操作系统底层