CS107E Lecture Modules, Linking
本节没啥好写的
示例代码有用,可以和之前的家庭作业2里面自己写的代码做对比。
尝试看看 https://github.com/dwelch67/raspberrypi/ 里面 baremetal 和 bssdata 两个相关阅读
Bare metal programming
裸机编程意味着直接与硬件对话,绕过操作系统。
文风
全是英文没有图,啰唆但是有趣。
很羡慕这种能说/写很多话的人。
Arm 处理器的两种启动方式
- 通常是读取地址
0x00000000
里面的指令。 - Cortex-M 读取
0x00000004
里存储的值,运行值指向的地址里面的指令。
树莓派的启动方式
- 树莓派有一个
GPU
和一个Arm
处理器 GPU
首先启动,读取SD卡里面的kernel.img
到内存地址0x00008000
中。- 在
0x00000000
中放置指令用于跳转到0x00008000
GPU
启动Arm
从0x00000000