#1 楼
摘自Raspberry Pi论坛帖子[编辑以将loader.bin
反映为过时]: /> GPU内核已开启。此时,SDRAM被禁用。GPU开始执行第一阶段的引导加载程序,该引导加载程序存储在SoC的ROM中。第一级引导程序读取SD卡,然后
将第二级引导程序(
bootcode.bin
)加载到L2高速缓存中,并运行它。将第三阶段的引导程序(loader.bin)从SD卡插入RAM,然后运行它。 [较新的版本不使用第三阶段的引导程序。 ]
[如果适用]
bootcode.bin
读取GPU固件(loader.bin
)。没有做太多。它可以处理start.elf
文件,因此需要将
start.elf
加载到内存顶部(ARM使用地址0中的SDRAM)。有计划向
config.txt
添加小精灵加载支持,这将使cmdline.txt
不必要,但这是一个低优先级(我想它可能会在启动时节省100毫秒)。 [此更改已发生。 ] 以下资源可能会有所帮助:
裸机编程示例
《 Baking Pi操作系统开发教程》 br /> Raspberry Pi固件二进制文件
评论
这些bin文件的内容是否都是专有软件?
–石油
13年2月2日,17:25
@Petr这是Raspberry Pi固件的Github,我将其编辑为答案。
–syb0rg
13年2月2日,17:28
在Raspberry Pi常见问题上,它说:“您必须从SD引导,但是在初次引导后USB HD可以“接管”。没有SD卡就无法引导。”
–syb0rg
13年2月2日于17:32
是首先读取的该分区是带有B标志的任何分区,还是必须是第一个分区?如果将其设置得太大而又想在SD卡的末端再创建一个较小的SD卡怎么办
–石油
13年3月3日,12:32
@Petr你应该问另一个问题!
–syb0rg
13年3月3日在14:57
评论
在启动过程中可能会发生什么重复?