
2.2.1.3 编译、安装 Binutils.................................................................................................................51
2.2.1.4 获得内核头文件......................................................................................................................52
2.2.1.5 编译安装 boot-trap gcc............................................................................................................53
2.2.1.6 建立 glibc 库............................................................................................................................54
2.2.1.7 编译安装完整的 gcc................................................................................................................55
2.2.1.8 测试交叉编译工具链 ..............................................................................................................55
2.2.2
用
Crosstool
工具构建交叉工具链
.................................................................................55
2.2.2.1 准备资源文件..........................................................................................................................56
2.2.2.2 建立脚本文件..........................................................................................................................56
2.2.2.3 建立配置文件.........................................................................................................................57
2.2.2.4 执行脚本 ................................................................................................................................57
2.2.2.5 添加环境变量.........................................................................................................................57
2.3 本章小节 ...............................................................................................................................58
2.4 常见问题 ...............................................................................................................................58
第 3 章 嵌入式系统的 BOOTLOADER........................................................................................60
3.1 BOOTLOADER 概述.................................................................................................................60
3.2 常用的嵌入式 LINUX BOOTLOADER.......................................................................................61
3.2.1 U-Boot.............................................................................................................................61
3.2.2 VIVI.................................................................................................................................61
3.2.3 Blob.................................................................................................................................62
3.2.4 RedBoot...........................................................................................................................62
3.2.5 ARMboot.........................................................................................................................63
3.2.6 DIY..................................................................................................................................63
3.3 基于 S3C2410 开发板的 BOOTLOADER 实现.........................................................................63
3.3.1 S3C2410
开发板介绍
......................................................................................................63
3.3.2 U-Boot
分析与移植
.........................................................................................................66
3.3.2.1 U-Boot Stage1 分析 .................................................................................................................66
3.3.2.2 U-Boot Stage2 分析 .................................................................................................................71
3.3.2.3 U-Boot 的移植过程 .................................................................................................................72
3.4 基于 S3C2410 开发板自己编写 BOOTLOADER ......................................................................88
3.4.1
设计系统的启动流程
.....................................................................................................88
3.4.2 BootLoader
的具体实现
..................................................................................................90
3.4.2.1 设置异常向量表.....................................................................................................................91
3.4.2.2 初始化看门狗和外围电路.......................................................................................................92
3.4.2.3 初始化存储器..........................................................................................................................92
3.4.2.4 初始化堆栈 .............................................................................................................................93
3.4.2.5 初始化数据区..........................................................................................................................94
3.4.2.6 跳转到 C 程序 Main 函数........................................................................................................96
3.4.2.7 Main 函数的具体实现 .............................................................................................................96
3.5 本章小节 ...............................................................................................................................97
3.6 常见问题 ...............................................................................................................................97
第 4 章 嵌入式 LINUX 内核移植 ..................................................................................................98
4.1 移植的基本概念 ....................................................................................................................98