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启动分析.doc

  • 2012年06月10日 14:39
  • 132KB
  • 下载

mini2440启动代码分析之第四篇(入口程序分析)

从这里开始就是真正的代码入口了! 接上篇代码: AREA  Init,CODE,READONLY      ;声明一个名为Init的代码段,只读            ENTRY    ...

Mini2440触摸屏程序分析

  • 2010年06月05日 17:28
  • 41KB
  • 下载

Linux NAND FLASH驱动程序分析(mini2440)

 Linux NAND FLASH驱动程序分析(mini2440) 一、Linux-MTD Subsystem介绍      FLASH在嵌入式系统中是必不可少的,它是bootloader、linux...

mini2440 iis 程序分析

1,驱动架构: 驱动分两个层次,上层是平台设备驱动,底层是audio驱动与mixer驱动。(1)标准的平台设备驱动结构,probe与remove两个函数。probe:获得平台资源->申请内存区域-io...
  • RITADAY
  • RITADAY
  • 2011年05月27日 10:35
  • 1271

Mini2440 SD卡驱动程序分析

mini2440驱动分析系列之 ---------------------------------------Mini2440 SD卡驱动程序分析 By JeefJiang July,25th,2...

mini2440 触摸屏驱动程序分析

mini2440 触摸屏驱动程序分析 By JeefJiang July,8th,2009 这是mini2440 驱动分析系列的第三篇文章,本文分为三个部分,第一部分讲叙硬件知识,包括触摸屏 的...

MDK环境下,mini2440(S3C2440) keyled 程序分析

keyled代码请参考我的博客网址:http://my.csdn.net/wfq0624/code/detail/7645 实验环境 ===========================...
  • wfq0624
  • wfq0624
  • 2012年06月10日 23:37
  • 1700

mini2440启动代码分析之第一篇(注意名字,不是bootloader)

转自:http://blog.chinaunix.net/uid-26435987-id-3073901.html 启动代码主要是在主程序运行之前初始化系统硬件及软件的运行环境,它的主要功能包括...

基于mini2440 的 bootloader 设计 ---- 3、ARM指令学习

开发环境:                电脑系统:RedHat Enterprise Linux6   kernel version : linux-2.6.32                ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ARM学习笔记012之mini2440上电的启动和初始化程序分析(即Bootloader分析)
举报原因:
原因补充:

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