ARM学习笔记012之mini2440上电的启动和初始化程序分析(即Bootloader分析)

原创 2013年12月06日 09:35:49
嵌入式系统中的boot Loader 的实现完全依赖于CPU 的体系结构,因此大多数Boot
Loader 都分为第一阶段和第二阶段两大部分,依赖于CPU 体系结构的代码,比如设备初始
化代码等,通常都放在阶段1 中,而且通常都用汇编语言来实现,以达到短小精悍的目的。
而阶段2 则通常用C 语言来实现,这样可以实现一些复杂的功能,而且代码会具有更好的

可读性和可移植性。

第一阶段包括:

(1)硬件设备的初始化

①初始化GPIO 功能

②设置CPU的速度和时钟频率

③存储控制单元初始化

(2)拷贝Bootloader的程序到RAM空间中

(3)设置好堆栈

(4)跳转到阶段2的C人口地址


第二阶段包括:

(1)初始化本阶段要使用到的硬件设备;

①初始化至少一个串口

②初始化计时器(定时器)

③初始化网络传输等

(2)系统内存映射(memory map);

(3)将kernel 映像和根文件系统映像从Flash 读到RAM 空间中;

即加载内核映象和根文件系统映象

(4)为内核设置启动参数;

(5)调用内核。


详见我的360网盘文件《实验三 Bootloader实验》pdf

系统上电后 bootloader的执行流程及 ARM Linux的启动过程分析

声明:本文章转自:http://www.go-gddq.com/html/QianRuShiXiTong-JiShu/2012-08/1042290.htm 为学习方便起见,内容转载如下: 内容摘要...
  • blue_carrot
  • blue_carrot
  • 2016年01月14日 15:28
  • 2103

ARM的启动方式和bootloader解析(上)

作者:vianowu                                   本期关键词:    NAND flash启动方式  Romboot  uboot 本期扩展关键词:NOR fl...
  • vianowu
  • vianowu
  • 2013年08月02日 22:39
  • 1992

ARM第一部分-S5PV210启动过程详解1

内存: SRAM          静态内存          特点就是容量小、价格高,优点是不需要软件初始化直接上电就能用 DRAM          动态内存          特点是...
  • Karven_
  • Karven_
  • 2016年03月12日 11:41
  • 637

友善之臂Mini2440NORflash bootloader烧写详述---亲测可用

友善之臂Mini2440NORflash bootloader烧写详述---亲测可用 bootloader: 1.友善之臂提供的Superboot2440.bin(该bootloader可以使用友善之...
  • u012857368
  • u012857368
  • 2016年10月27日 15:03
  • 1020

ARM+Linux系统启动流程分析----bootloader初始化系统

开发环境如下:                                         PC操作系统:RetHat Enterprise Linux6.3版本,内核版本:linux-2....
  • u013819957
  • u013819957
  • 2015年11月05日 16:33
  • 499

mini2440之动手写简易bootloader

Bootloader 它的终极使命就是启动内核,它的主要工作就是在上电之后
  • wu20093346
  • wu20093346
  • 2014年05月23日 22:59
  • 1111

(二)U-boot在开发板上移植过程详解--bootloader架构分析

http://www.cnblogs.com/hanyan225/archive/2011/05/23/2054076.html  本例中采用的同样是前边一贯的实验板,这里就不对板子资源做进一步介绍...
  • u013256622
  • u013256622
  • 2015年01月15日 16:15
  • 1383

ARM Linux启动详解(1)–系统上电到执行到linux kenel

本节将从Linux 引导流程、 Boot Loader 的概念、Boot Loader 的主要任务、Boot Loader 的框架结构以及 Boot Loader 的优化等四个方面来讨论嵌入式系统的 ...
  • u010665216
  • u010665216
  • 2017年01月04日 19:11
  • 736

基于S3C6410的ARM11学习(二) bootloader开发准备

程序之旅,首先就是要写bootloader。对于我们这种初学者来说,肯定是要去参考行业老大uboot的代码了。看看别人写的bootloader的流程是怎么样的。毕竟,ARM11和STM32是不一样的,...
  • QQ576494799
  • QQ576494799
  • 2016年02月22日 14:24
  • 696

arm上电后的第一条指令

类似的文章网上很多了,大都以软件分析为主,从U-boot到kernel。很多文章的分析也是非常详细以及精辟的。在这里,不想多说软件的机制,那样的机会留给大家吧。          记得07-08年...
  • edwardlulinux
  • edwardlulinux
  • 2012年06月19日 23:30
  • 3029
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ARM学习笔记012之mini2440上电的启动和初始化程序分析(即Bootloader分析)
举报原因:
原因补充:

(最多只允许输入30个字)