ARM是如何从sd卡启动的



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

"how"是一个基于掩码prom的主引导加载程序嵌入到SoC中。除了初始化SD卡接口和可能的一些定时非常保守的SDRAM之外,它不需要做太多的事情(尽管一些设备在这一点上已经嵌入了SRAM)。

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

通常有一些限制,比如二级引导加载程序是卡上的第一个文件,分配的锁是连续的。

许多系统然后在此时加载另一个引导加载程序,它是引导操作系统的加载程序。

最新更新