0

对于从串行闪存设备启动现代系统的概念,我有点迷茫。在裸机上编写了相当多的简单微控制器,从 8 位 PIC 到 32 位电源架构(总是通过重新编程普通的总线可寻址闪存),我想知道现代 SoC 如何从串行设备启动。我在网上也没有找到太多东西,因为每个系统似乎都依赖于 sd 卡编程工具和辅助引导加载程序的组合,两者都几乎没有受到关注。

4

1 回答 1

5

“如何”是一个基于掩码 PROM 的主引导加载程序,嵌入到 SoC 中。除了初始化 SD 卡接口和可能具有非常保守时序的一些 SDRAM 之外,它不需要做太多事情(尽管此时有些设备已经嵌入了 SRAM)。

然后它枚举卡接口,从它找到的第一张卡中读取 FAT,然后从那里将辅助引导加载程序复制到 SRAM 或 SDRAM 中并执行它。

通常存在一些限制,例如辅助引导加载程序是卡上的第一个文件,并且分配的锁是连续的。

许多系统此时会加载另一个引导加载程序,即引导操作系统的引导加载程序。

于 2014-05-09T22:42:40.390 回答