ARM处理器启动流程
Posted chd_zhang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARM处理器启动流程相关的知识,希望对你有一定的参考价值。
S3C2440:
从nandflash启动的时候,上电之后,硬件自动将nandflash里bootloader的前4K代码复制到stepping stone(0地址)中,这4K的代码除了负责一些硬件初始化,还负责将bootloader剩下的代码复制到内存0x3000 0000中,然后4K运行完之后跳转到内存中继续运行剩下的bootloader,最后引导操作系统启动。
S3C6410:
s3c6410中零地址是一个映射区域(位于0地址),6410可实现从SDRAM,IROM(包含SD卡启动和nandflash启动)中启动,从什么地方启动,就将其映射到映射区域中。
从nandflash启动的时候,上电之后,首先运行irom中的代码(可以看做是0地址),irom中的代码是硬件厂商固化好的,这些代码主要负责一些硬件的初始化,还负责将bootloader中的前8K代码复制到stepping stone中(第一阶段),在stepping stone中这8K代码运行完之后还将剩余的bootloader复制到内存0x5000 0000中运行(第二阶段),最终引导操作系统启动。
S5PV210:
与6410相似,0地址处也是一个映射区域,从nandflash启动实际是从irom启动。
从nandflash启动的时候,上电之后,首先运行irom中的代码(可以看做是0地址),irom中的代码是硬件厂商固化好的,这些代码主要负责一些硬件的初始化,还负责将bootloader中的第一阶段代码(BL1---16K)复制到stepping stone(96K)中,然后将BL2(一般容量为80k)复制到stepping stone中,此时若stepping stone中还装不下bootloader,则继续将剩余的bootloader复制到内存中运行,最后引导操作系统启动。
以上是关于ARM处理器启动流程的主要内容,如果未能解决你的问题,请参考以下文章