用户名: 密码: 验证码:
基于ARM的嵌入式Linux移植与裁剪研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着计算机技术和微电子的的迅速发展,嵌入式系统已经被广泛地应用到许多领域,如科学研究、工程设计、军事技术以及各种商业应用等。嵌入式系统被定义为以应用为中心,以计算机技术为基础、软硬件可裁剪、适应于特定应用系统对功能、可靠性、成本、体积、功耗等严格要求的专业计算机系统。在目前的各种嵌入式处理器中,由于ARM芯片的低功耗、低成本等显著优点,因而获得众多的半导体厂商的大力支持,在32位嵌入式应用领域获得了巨大的成功。另一方面,Linux操作系统具有开放源代码、功能强大且易于移植等特点而成为嵌入式操作系统的首选,因此在ARM芯片上构建嵌入式Linux系统成为嵌入式领域的一个热点。
     本文首先总结了ARM的体系结构和特点,并选择了基于ARM920T内核的AT91RM9200开发板作为移植平台。然后介绍了嵌入式Linux系统的启动程序的实现原理,并实现了U-Boot的移植。在对Linux内核结构进行了分析后,给出Linux内核的详细的移植实现。之后在综合分析现有的Linux裁剪方法的基础上,考虑到嵌入式系统是针对具体应用的专用系统,在设计时其硬件平台和软件设计的目标已经非常明确,不会轻易变动,提出了面向应用的裁剪方法,此方法属于代码级的裁剪,能够有效去除无用代码。运用面向应用的裁剪方法在针对嵌入式Linux下的通用CD播放器的系统裁剪实验中,获得了比普通裁剪方法更高的裁剪率,从而证实该方法能更有效的减小嵌入式Linux系统的体积。
     本文最后详细给出了在Fedora Core 4操作系统中的SkyEye仿真平台上实现嵌入式Linux系统的过程,包括SkyEye平台的硬件仿真配置、在Fedora Core 4中嵌入式开发环境的建立以及根文件系统的构建等,最终所移植裁剪的嵌入式系统能够成功的运行。
With the rapid development of computer technology and micro-electronics, embedded system is widely applied to many fields, such as scientific research, engineering design, military technology, and kinds of business applications. Embedded system is defined as a professional computer system based on computer technology which aims at applications. Its software and hardware can bu cut down. It also meets the specifical requirement, such as function, reliability, cost, volume, power dissipation. At the present time, because of lower power dissipation and lower cost of ARM's strong suit, many manufacturers use it. ARM is more successful than other embedded processor of 32-bits. On the other hand, linux is open-sourced, easy to port and has powerful function so that it turns into the first choice of embedded system. Therefore building embedded linux system is popular.
     Firstly, the thesis summarizes the features of the ARM architecture. The AT91RM9200 board that based on ARM920T is choosen to be the aim platform. Afterward the Bootloader of embedded linux system is introduced. U-Boot is then ported to the aim platform. Then the thesis makes a detailed analysis at the linux kernel, and ports the kernel to the aim platform. After comprehensive analysis of the current methods to reduce Linux and considering that embedded system is the application-special system that the hardware and software are fixed in design period and almost never changed, an application-oriented method is put forward. This method is code-level so that it could remove the unused code. It is then tested in the experiment about an embedded Linux CD player system. Through the test we get the conclusion that there will be a higher reduction rate using this method than others, thus it can be more effectively to reduce the size of embedded Linux system.
     At last the process of building an embedded linux system on SkyEye simulator in Fedora Core 4 system is discussed, including configuring SkyEye simulator, building the embedded cross-compile environment in Fedora Core 4 system and making the root filesystem. Ultimately the embedded system ported and reduced before runs successfully.
引文
[1] FRANK V G著.嵌入式系统设计.骆丽译.北京:北京航空航天大学出版社,2004:6-7页
    [2] 王学龙编著.嵌入式Linux系统设计与应用.北京:清华大学出版社,2001:10-11页
    [3] Karim Yaghmour. Building Embedded Linux System. New York: O' Reilly & Associates, 2003:13-17P
    [4] 李善平,刘文锋等编著.Linux与嵌入式系统.北京:清华大学出版社,2004:15-17页
    [5] 王成,王建中.基于Linux的嵌入式系统的研究现状及发展展望.微型机与应用.2004(5):5-6页
    [6] 邢国良,韦宏利.基于Linux的实时操作系统的分析与研究.小型微型计算机系统.2001,22(8):1018-1021页
    [7] 孙纪坤,张小全等编著.嵌入式Linux系统开发技术详解.北京:人民邮电出版社,2005:21-23页
    [8] 王庆江,董渭清等.嵌入式系统及其开发领域典型特征分析.计算机应用研究.2002(4):11-13页
    [9] 何荣森,张跃.从ARM体系看嵌入式处理器的发展.微电子学与计算机.2002(5):42—45页
    [10] 杜春雷编著.ARM体系结构与编程.北京:清华大学出版社,2003:13—15页
    [11] 马忠梅,马广云等编著.ARM嵌入式处理器结构与运用。北京:北京航空航天大学出版社,2002:25—42页
    [12] Vercauteren S, Bill Lin. Embedded architecture co-synthesis and system integration. 4th International Workshop on Hardware/ Software Co-Design. Pittsburgh, 1996:2-9P
    [13] Maguire L P. A CASE-tool oriented approach for embedded system design. Microprocessor and Microsystems, 2000,24(10):493-499P
    [14]David Seal, ed. ARM Architecture Reference Manual. 2nd ed. Addison-Wesley, 2000:37-42P
    [15]Steve Furber著.ARM SoC体系结构.田泽,于敦山等译.北京:北京航空航天大学出版社,2002:23-25页
    [16]叶勇建,林明等编著.AT91系列ARM核微控制器结构与开发.北京:北京航空航天大学出版社,2003:36—42页
    [17]陶永,郭建兴.基于MIPS体系的嵌入式Linux引导装载系统的设计与实现.计算机应用.2004,24(11):159—161页
    [18]宋国军,张侃谕等.嵌入式系统中U-Boot基本特点及其移植方法.单片机与嵌入式系统应用.2004(10):78—81页
    [19]李风华,谷建华.一种嵌入式实时LinUX系统设计与实现.计算机工程与应用.2004(2):119-120页
    [20]孙天泽,袁文菊等编著.嵌入式设计及Linux驱动开发指南——基于ARM9处理器.北京:电子工业出版社,2005:45-47页
    [21]郑家玲,张云峰等.嵌入式系统内核载入过程浅析.微型机与应用.2002(11):59-60页
    [22]D Desmet. Operating System Based Software Generation for Systems-on-Chip. Design Automation Conf., 2000:396-401P
    [23]邵海东,周鹏.基于Linux的嵌入式系统设计与实现.计算机工程.2002,28(6):254-256页
    [24]Schach A J, Jin S R. Maintainability of the Linux kernel. IEE Proceedings. 2002,149(1):18-23P
    [25]Gradara J S. Investigating large software system evolution: the Linux kernel. Proceedings of 26th Annual International Computer Software and Applica tion Conference. 2002:421-426P
    [26]毛德操,胡希明.Linux内核源代码情景分析.杭州:浙江大学出版社,2001:12-135页
    [27]Gary Nutt著.Linux操作系统内核实习.潘登,冯锐等译.北京:机械工业出版社,2002:78—83页
    [28]Hatalsky J,Murarka N.Implementation of fair link shairing through modification of the Linux kernel. IEEE International Conference on Communications(ICC), 2002(4):2528-2532P
    [29]Russell King. Kernel Memory Layout on ARMLinux. Addison-Wesley, 2003:69-71P
    [30]Gajski D D. Specification and design of embedded software-hardware system. IEEE Design & Test of Computers. 1995,12(1):33-35P
    [31]Richard Earnshaw. Procedure Call Standard for the ARM Architecture. O'Reilly, 2003:37-42P
    [32]Craig Hollabaugh. Embedded Linux Hardware, software and Interface. Addison-Wesley, 2002:68-72P
    [33]Berg J, Johnny L P, Grammar-based design of embedded systems. Journal of Systems Architecture. 2001,47(3):225-240P
    [34]白衡.嵌入式操作系统剪裁技术研究.西北工业大学硕士学位论文.2002:11—29页
    [35]卢延云,孙玉芳.嵌入式Linux库裁剪技术分析与改进.计算机科学.2004,31(1):162-169页
    [36]Paulin P G. Towards Application-specific Architecture Platforms: Embedded Systems design automation technologies. Proceedings of the 26th Euromicro Conference, 2000:28-29P
    [37]王策,张连芳.基于Linux的嵌入式系统开发.计算机应用.2002,22(7):54-56页
    [38]王利明,宋振宇.一个开放源码的嵌入式仿真环境——SkyEye.单片机与嵌入式系统应用.2003(9):14-18页
    [39]陈渝,李明等编著.源码开放的嵌入式系统软件分析与实践.北京:北京航空航天大学出版社,2004:79-82页
    [40]魏平,夏良正.Linux体系结构及嵌入式Linux的移植方法.东南大学学报(自然科学版).2004,34(s1):126-130页
    [41]顾喜梅,顾宝根.基于Linux的文件系统机制的研究及实现方法.计算机工程与设计.2002,23(7):20-25页

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700