码迷,mamicode.com
首页 > 其他好文 > 详细

ARM处理器启动流程

时间:2016-03-13 00:49:36      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

1.启动方式
(1)norflash:2MB,从norflash的0地址处开始运行第一条代码,所以代码一定要放在norflash的最前端
(2)nandflash:128MB,但是nandflash没有参与同一编址,不能直接访问,需要访问特殊寄存器才可以访问,所以要从片内的4KB的boot SRAM开始执行,即0地址是排放boot sram(stepping stone),上电之后处理器自动将nandflash前4KB的内容复制到boot sram开始执行,通过bootsram来初始化相关硬件和寄存器从而访问nandflash,接下来把剩余的bootloader复制到内存(SDRAM/DRAM)中,当stepping stone 里面的4KB执行完以后跳转到内存继续执行,再接下来将内核复制到内存,从而启动操作系统。而内存要求从0x30000000开始band6开始(2440)


2.地址布局
关键词:mapping3.具体流程
关键词:booting


4.SROM也就是norflash
oneNAND既有nor的特性也有nand的特性


5.6410还支持MODEM启动


6.SD卡和nand都划归为IROM:处理器内部的固件/存储器,但不是stepping stone


7.6410地址布局
技术分享
8.6410的0地址处开始是镜像区,不放置任何设备,是通过映射关系将其他设备映射到镜像区域。根据启动方式不同可以映射到不同设备。


9.6410的nandflash启动属于irom的一种,而irom里面存放的是厂商给用户写好的一些软件,如bootloader0,上电后就是取irom里面的程序来执行。通过BL0(bootloader0)将nand的前8KB拷贝到stepping stone运行,然后和2440类似。
技术分享


10.   210和6410类似,都支持从irom启动,nand启动是其中的一种。但是在210中stepping stone叫做IRAM,有96KB,由于垫脚石的增大,会拷贝bootloader 2 到垫脚石,而不是直接到内存。一般情况BL1最大是16KB,BL2最大尺寸是80KB。若BL2大于80KB,则要求BL1将BL2直接拷贝到内存,而不能拷贝到垫脚石。0地址也是镜像区域,通过映射关系取代码。


11.210的启动流程(BL0是厂商写好的)
技术分享


12.210的地址布局
技术分享

ARM处理器启动流程

标签:

原文地址:http://www.cnblogs.com/chd-zhangbo/p/5270892.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!