| 【中文题名】 | 基于ARM的嵌入式Linux移植与裁剪研究 |
| 【英文题名】 | Research on Porting and Reduction of Embedded Linux Based on ARM |
| 【学科专业】 | 计算机应用技术 |
| 【论文级别】 | 硕士论文 |
| 【投稿时间】 | 2007-8-21 |
| 【中关键词】 | 嵌入式Linux系统,ARM,启动程序,移植,裁剪, |
| 【英关键词】 | Embedded Linux system,ARM,Bootloader,Porting,Reduction, |
| 【分类导航】 | 工业技术>自动化技术、计算机技术>计算技术、计算机技术>计算机软件>操作系统>网络操作系统 |
| 【论文摘要】 |
随着计算机技术和微电子的的迅速发展,嵌入式系统已经被广泛地应用到许多领域,如科学研究、工程设计、军事技术以及各种商业应用等。嵌入式系统被定义为以应用为中心,以计算机技术为基础、软硬件可裁剪、适应于特定应用系统对功能、可靠性、成本、体积、功耗等严格要求的专业计算机系统。在目前的各种嵌入式处理器中,由于ARM芯片的低功耗、低成本等显著优点,因而获得众多的半导体厂商的大力支持,在32位嵌入式应用领域获得了巨大的成功。另一方面,Linux操作系统具有开放源代码、功能强大且易于移植等特点而成为嵌入式操作系统的首选,因此在ARM芯片上构建嵌入式Linux系统成为嵌入式领域的一个热点。
本文首先总结了ARM的体系结构和特点,并选择了基于ARM920T内核的AT91RM9200开发板作为移植平台。然后介绍了嵌入式Linux系统的启动程序的实现原理,并实现了U-Boot的移植。在对Linux内核结构进行了分析后,给出Linux内核的详细的移植实现。之后在综合分析现有的Linux裁剪方法的基础上,考虑到嵌入式系统是针对具体应用的专用系统,在设计时其硬件平台和软件设计的目标已经非常明确,不会轻易变动,提出了面向应... |
| 【论文题纲】 |
|
摘要 |
5-6 |
|
Abstract |
6-11 |
|
第1章 绪论 |
11-19 |
|
1.1 嵌入式操作系统概述 |
11-12 |
|
1.2 嵌入式微处理器 |
12-13 |
|
1.3 国内外嵌入式操作系统现状和发展趋势 |
13-16 |
|
1.3.1 国外嵌入式操作系统的现状 |
13-15 |
|
1.3.2 国内嵌入式操作系统现状 |
15-16 |
|
1.4 Linux在嵌入式系统中的优势 |
16-17 |
|
1.5 论文的主要工作 |
17-19 |
|
第2章 ARM微处理器概述 |
19-27 |
|
2.1 概述 |
19 |
|
2.2 ARM微处理器体系结构 |
19-23 |
|
2.2.1 RISC体系结构 |
19-20 |
|
2.2.2 ARM体系结构 |
20-21 |
|
2.2.3 ARM的处理器模式 |
21-22 |
|
2.2.4 ARM的内存管理 |
22 |
|
2.2.5 ARM的异常处理模式 |
22-23 |
|
2.3 ARM微处理器的选型 |
23-26 |
|
2.3.1 ARM微处理器内核的选择 |
23-25 |
|
2.3.2 AT91RM9200开发板介绍 |
25-26 |
|
2.4 本章小结 |
26-27 |
|
第3章 Bootloader的移植 |
27-38 |
|
3.1 Bootloader的概述 |
27-29 |
|
3.1.1 Bootloader一些概念 |
27-28 |
|
3.1.2 Bootloader的操作模式 |
28-29 |
|
3.2 Bootloader启动过程 |
29-34 |
|
3.2.1 Bootloader的stage1 |
29-30 |
|
3.2.2 Bootloader的stage2 |
30-34 |
|
3.3 U-Boot的移植 |
34-37 |
|
3.3.1 目前几种比较流行的Bootloader |
34 |
|
3.3.2 U-Boot介绍 |
34-35 |
|
3.3.3 U-Boot的移植 |
35-37 |
|
3.4 本章小结 |
37-38 |
|
第4章 Linux内核分析和移植 |
38-53 |
|
4.1 Linux内核组织结构 |
38-41 |
|
4.1.1 Linux内核在操作系统中的位置 |
38 |
|
4.1.2 Linux内核模式 |
38-39 |
|
4.1.3 内核体系结构 |
39-41 |
|
4.2 移植相关源代码文件介绍 |
41-43 |
|
4.3 ARMLinux内核启动分析 |
43-44 |
|
4.4 内核移植的实现 |
44-52 |
|
4.4.1 机型描述结构 |
44-46 |
|
4.4.2 虚拟内存映射关系结构体 |
46-49 |
|
4.4.3 内核对中断的处理 |
49-50 |
|
4.4.4 设置flash分区 |
50-51 |
|
4.4.5 添加支持devfs |
51-52 |
|
4.5 本章小结 |
52-53 |
|
第5章 嵌入式Linux的裁剪 |
53-63 |
|
5.1 现有的Linux裁剪方法 |
53-55 |
|
5.1.1 内核的裁剪 |
53-54 |
|
5.1.2 系统库的裁剪 |
54-55 |
|
5.2 现有剪裁方法的不足 |
55 |
|
5.3 面向应用的裁剪方法 |
55-61 |
|
5.3.1 裁剪的具体步骤 |
56-59 |
|
5.3.2 裁剪方法的测试 |
59-61 |
|
5.4 本章小结 |
61-63 |
|
第6章 嵌入式Linux系统的实现 |
63-74 |
|
6.1 SkyEye硬件仿真平台 |
63-65 |
|
6.1.1 SkyEye概述 |
63-64 |
|
6.1.2 SkyEye模拟的硬件 |
64-65 |
|
6.2 建立嵌入式开发环境 |
65-69 |
|
6.2.1 SkyEye仿真环境的建立 |
65-66 |
|
6.2.2 交叉编译环境的建立 |
66-69 |
|
6.3 内核的编译 |
69-70 |
|
6.4 根文件系统的创建 |
70-71 |
|
6.5 在SkyEye上运行嵌入式系统 |
71-72 |
|
6.6 本章小结 |
72-74 |
|
结论 |
74-75 |
|
参考文献 |
75-78 |
|
攻读硕士学位期间发表的论文和取得的科研成果 |
78-79 |
|
致谢 |
79 |
|
| 【DOI】 | LunWen.ID:2.2008.360554 |