博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
arm处理器启动流程分析
阅读量:6316 次
发布时间:2019-06-22

本文共 793 字,大约阅读时间需要 2 分钟。

2440:

启动方式:nor , nand

地址布局:

 

启动流程:

开发板在上电后,会从0x0地址处运行。

如果从nor flash启动,则代码要放在nor 的0地址处;

 

如果从nand flash启动,nand flash是不能直接访问的,必须通过相应的寄存器才能访问到,所以nand flash 不能参与ARM处理器的统一编址。从图上可以看出,我们从nandflash启动的0地址处是BootSRAM(垫脚石),从我们的BootSRAM取第一条指令,好像并没有从我们nand flash取代码。其实在我们上电的时候,

1) 处理器会自动从nand flash拷贝最前面4k代码到BootSRAM,这就间接从nand flash取到代码启动了。

2) 由于我们的bootloader通常不止4k,所以剩下的代码就会被复制到内存(由BootSRAM的一部分代码实现)

 

 


 

6410:

启动方式:SRAM(nor), OneNAND(具有nor和nand双重属性),

         MODEM, IROM(包括SD卡启动和nand启动)

地址布局:

 

启动流程:

上电之后,从镜象区域启动,镜象区域就是以上启动方式的映射

nand启动流程:

 

1) nand启动属于IROM启动的一种,所以上电后首先访问IROM里的BL0,芯片厂商固化好的一段代码,除了初始化硬件以外,还会把我们nand flash里的BL1(8k)拷贝到stepping stone运行,而BL1又会把剩下的BL2拷贝到内存SDRAM去运行。

 

 


 

210:

启动方式:IROM,USB,UART

地址布局:

启动流程:

 

先执行BL0----->拷贝BL1到I-SRAM----->拷贝剩下的BL2还是到I-SRAM(容量很大96k)----->当BL2很大超过80k时候,BL2就不能拷贝到I-SRAM,就要让BL1把它拷贝到内存SDRAM了。

 

转载地址:http://isuaa.baihongyu.com/

你可能感兴趣的文章
SAP MM基础
查看>>
jQuery Mobile 动态加入的html,如何加上jqm自带的样式
查看>>
python中的datetime模块
查看>>
ubuntu 搭建svn服务器
查看>>
基于storm的实时数据处理方案
查看>>
PHP mysql_query() 函数
查看>>
10种阻碍程序员职业生涯发展的行为
查看>>
MySQL 触发器简单实例
查看>>
一本介绍C指针的书--指针是什么1.1
查看>>
File Formats in Big Data Platform
查看>>
request获得所有参数
查看>>
编程原则
查看>>
Hystrix降级逻辑中如何获取触发的异常
查看>>
[日推荐] 『KORJO母爱小空间』妈妈带宝宝出门再也不用愁啦!
查看>>
【微信小程序经验】各类图表相关组件+Demo源码(折线图,柱状图,K线,分时图)...
查看>>
查询约束关联的表
查看>>
阻止Adobe Dreamweaver CS5官方序列号验证
查看>>
maven的pom文件各节点的功能介绍
查看>>
Adobe Acrobat DC怎样删一部分页面
查看>>
python编码知识
查看>>