博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ARM处理器启动流程
阅读量:4284 次
发布时间:2019-05-27

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

介绍S3c2440、S3c6410、S5pv210这三种芯片的启动方式,地址布局,启动流程

S3c2440

启动方式:nor flash启动(2MB);nand flash启动(256MB)

地址布局:

这里写图片描述

左边的图为选用nor flash启动时的地址布局,右边的图为选用nand flash启动时的地址布局。

当ARM处理器上电后,处理器会从0地址处取第一条指令,即从0地址处开始运行。当选用nand flash启动时,0地址是BootSRAM,该区域也称为stepping stone(垫脚石)。
启动流程:当选用nand flash启动时,处理器会自动将nand flash中最前端的4kb内容拷贝到stepping stone中,进而运行这4kb内容。这4kb bootloader任务除了硬件初始化外,还需要将nand flash中剩余的bootloader拷贝到内存中。当处理器结束运行stepping stone中的4kb bootloader后会跳转到内存中运行剩余的bootloader。
从图中可以看出内存SDRAM的初始地址为0x30000000.

S3c6410

启动方式:

这里写图片描述

从图中可以看出,启动方式包括①SROM(nor flash启动)②OneNAND(一种特殊的nand flash)③MODEM④IROM(包含有SD卡启动,nand flash启动)

通过设置引脚可设置启动方式
地址布局(一部分):

这里写图片描述

0地址处是Booting Device Region,是一个镜像区域。即当选择IROM启动时,该镜像区域会将IROM映射到镜像区域。选择SROM启动、OneNAND启动时也是相同道理。

启动流程:

这里写图片描述

当选择从nand flash启动时,IROM区域会被映射到镜像区域,因此处理器会从IROM取第一条指令开始运行。IROM中存放的是生产厂商固化好的代码,该代码称为BL0.该代码的作用除了初始化硬件外,还包括将nand flash中最前端的8kb内容(BL1)拷贝到stepping stone中运行,BL1会将剩余的bootloader(BL2)拷贝到SDRAM中。当运行完BL1后,会跳转到SDRAM运行BL2。

S5pv210

启动方式:IROM启动、USB启动、串口启动

地址布局:

这里写图片描述

0地址处是Boot area,是一个镜像区域

启动流程:

这里写图片描述

当选择nand flash启动时,IROM区域会被映射到镜像区域,因此处理器会从IROM取第一条指令开始运行。IROM中存放的是生产厂商固化好的代码(BL0),该代码除了初始化硬件外,还将nand flash中的BL1拷贝到IRAM(internal SRAM)中运行。BL1的作用是将BL2拷贝到IRAM或者SDRAM中,至于是拷贝到IRAM还是SDRAM取决与BL2的大小。

ps:2440和6410中只是逻辑上区分BL1和BL2,产生的bin文件只有一个,也就是说BL1和BL2都在同一个bin文件中。但210不同,210采用的是新版本的uboot,产生的BL1和BL2位于单独的bin文件中;BL1最大为16kb;若BL2不大于80kb,则可以将BL2拷贝到IRAM中,否则就拷贝到SDRAM。

你可能感兴趣的文章
不规则ROI的提取
查看>>
《图像处理实例》 之 提取特殊背景的直线
查看>>
《电路学习第三天》 之 彩扩机项目设计
查看>>
《图像处理实例》 之 物体计数
查看>>
《图像处理实例》 之 透视变换
查看>>
图像像素的获取和操作(第三天)
查看>>
图像像素的线性叠加(第四天)
查看>>
制作多张“像素、通道、大小”相同的图片
查看>>
中值、均值、高斯、双边滤波(第五天)
查看>>
PCB的初次窥探
查看>>
霍夫变换的基本理解(第八天)
查看>>
opencv查看源代码
查看>>
典型梯度下降法
查看>>
傅立叶变换系列(三)傅立叶变换
查看>>
QT_QSlider的总结
查看>>
形态学操作+实例分析(第六天)
查看>>
《图像处理实例》 之 操作规则的圆
查看>>
一些误差的概念
查看>>
凸优化&非凸优化问题
查看>>
Basler和Matrox的配置及调试
查看>>