摘要
嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件均可裁剪,能满足应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。随着信息技术、计算机技术、网络技术的发展,嵌入式技术得到了广阔的发展空间。其中ARM微处理器凭借体积小、功耗低、成本低而性能高等优点,已被成功应用于移动通信、手持设备、多媒体数字消费等诸多嵌入式领域。ARM也逐步成为了嵌入式的代名词。另外,嵌入式操作系统经过多年的发展目前也已十分丰富,特别是自由免费软件Linux的出现。Linux凭借源码开放、内核可裁减、功能丰富、运行稳定等优势,被移植到了多种不同结构的CPU和硬件平台上,且得到了大量优秀开发工具软件的支持。
本论文的目的是建立一个以ARM为基础的嵌入式linux系统控制平台.本文详细介绍了整个系统平台的研究开发和设计实现过程。论文首先介绍ARM和嵌入式Linux操作系统的特点和当前的发展概况。再阐述了以AT91RM9200为核心的开发平台的硬件组成,详细研究了硬件平台设计过程,平台的外围配置包括存储模块、串口模块、CAN总线模块、以太网模块、USB模块及JTAG调试模块、实时模块等多种功能模块,包括各个功能模块的芯片选择和原理图,还对硬件电路设计的注意事项进行了探讨。再以此硬件平台为基础,详细的论述了嵌入式Linux系统开发流程以及移植到具体硬件平台需要完成的工作,如U-BOOT的移植、Linux内核的编译与裁减、文件系统的制作、驱动程序的编写等。最后对系统性能进行了测试,通过测试表明平台达到设计要求,性能稳定。
An embedded system is some combination of computer hardware and software , either fixed in capability or programmable, that is specifically designed for a particular kind of application device. With the development of information technology ,Computer technology , network technology, embedded technology has also gained a wide development space. There into ARM microprocessor by its virtue of small bulk, low power ,low cost and high performance has been applied by many embedded field such as mobile communication, PDA, multimedia digital consume. ARM has become a pronoun of embedded system gradually. On the other side, embedded operating system has also become quite abundant by its several years development, especially when Linux a free software appeared. Linux has been embedded into many kinds of CPUs of various structure and hardware platforms by its virtue of free sound code, cutable kernel, rich function , stable running, furthermore it has gained lots of excellent development tools-softwares' support.
This paper describes the system design and development process of the platform , mainly includes four parts. Firstly ,the thesis summarizes the characters of arm and Embedded Linux; Secondly presents the hardware design of developing platform in detail, Some function blocks are included such as SDRAM, Flash, Can Bus, Ethernet interface ,USB ,JTAG and so on,then the design process of the platform is discussed, the chip selection and function blocks are also included.Thirdly on the base of hardware platform, tells of the process of developing Linux and work needed to do porting Linux to a special platform, including Porting U-BOOT, compiling and trimming Linux kernel, making file system , design of Linux drivers in detail. In the end of the thesis,the main test outputs are given and show the design successful.
引文
[1]吕京建,肖海桥.面向二十一世纪的嵌入式系统.半导体技术,2001,(26):1-2
[2]肖文鹏.走进嵌入式Linux世界.www-900.ibm.com,2003-09-29
[3]W.Wolf.Hardware-Software Co-Design of Embeddedsystems.Proceedings of the IEEE,1994,82(7):89-91.
[4]钟锡昌,张倪.嵌入式软件与Hopen系统.北京北京航空航天大学出版社,2004,5-7
[5]Jean J.Labrosse.Embedded systems building blocks,2002
[6]李善平,刘文峰,王焕龙等.Linux与嵌入式系统.清华大学出版社,2003
[7]任哲编.嵌入式实时操作系统UC/OS-Ⅱ原理及应用.北京:北京航空航天大学出版社,2005,4-6.
[8]李秀红,黄天戍,肖春华,孙忠富.基于ARM的Embedded Internet的实现.武汉理工大学学报.2007,31(3):472-475
[9]李驹光,聂雪媛,江泽明等.ARM应用系统开发详解.北京:清华大学出版社,2003.1-8
[10]GoodacreJ,SlossAN.Pa rallelismand the ARM instruction set architecture.Computer,2005,38(7):42-50.
[11]田泽等.嵌入式系统开发和应用.北京航天航空大学出版社.2005,56-61
[12]陈章龙,嵌入式处理器的Cache结构研究小型微型计算机系统,2004,25(7):5-7
[13]周彩宝,刘应学.ARM体系以及AMBA总线分析.计算机工程,2003,29(5):147-150
[14]曲延滨,冯立国,苏健勇一种基于TMS320VC5402扩展外部Flash的方法.现代电子技术,2004,29(23):41-43
[15]Microchip,Stand-Alone CAN Controller With SPI.1999.http://www.microchip.com
[16]GaryR.Wright,W.Richard Stevens著陆雪莹等译.TCP/IP详解.机械工业出版社,2000
[17]公衍辉.TCP/IP协议在嵌入式系统中的实现:[哈尔滨工程大学硕士学位论文]2003,37-38
[18]胡婧,杨景常.基于JTAG协议的ARM调试接口设计.西华大学学报.自然科学版.2007,26(2):38-40
[19]许永和.USB外围设备设计与应用.北京:北京航空航天大学出版社.2002.
[20]周润景,袁伟亭.Cadence高速电路板设计与仿真.电子工业出版社.2006,9
[21]王亚军,刘金刚.Linux运用于嵌入式系统的技术分析.计算机应用研究, 2005,20(5):102-104
[22]董小明,李怀阳,赵振等一种创建小型化Linux系统的方法.计算机工程,2005,31(9):61—63
[23]MichaelK.Johnson,Erik W.Tron.Linux Application Development.USA:O 'Reilly
[24]MinnichR G.Give your bootstrap the boot:using the operating systemt to boot the operating system.Cluster Computing,2004,20(4):439-448.
[25]刘文峰,李程远,李善平.嵌入式Linux操作系统的研究,浙江大学学报(工学版),2004,38(4):447-452.
[26]黄克彬,叶梧,冯穗力.基于ARM-uClinux嵌入式系统启动引导的实现.电子技术应用,2004,30(9):16-18
[27]Casazza G,Antoniol G,Villano U.Identifying clones in the Linux kernel.Source Code Analysis and Manipulation,2001,10(3):90-97.
[28]慕春棣主编.嵌入式系统的构建.清华大学出版社,2004
[29]Karim Yaghmour.Building Embedded Linux Systems.USA:O 'Reilly
[30]邹思铁.嵌入式LinUX设计与应用.北京清华大学出版社.2002
[31]SchachSR,JinB,WrightDR.Maintain ability of the Linux kernel.Software Engineering,2002,149(1):18-23
[32]Michael Jang.Master Red Hat Linux 9.SYBEX.
[33]魏平,夏良正,王岩.Linux体系结构及嵌入式Linux的移植方法.东南大学学报,2004,34(1):126-131.
[34]CheTaiLee,ZengWeiRong,JimMin Lin.Linux kernel customization for embedded systems by using call graph approach.Design Automation Conference.2001,47(3):33-37
[35]郭杰.基于Linux实时操作系统的分析和设计.[西南交通大学硕士学位论文].2006.4.5-6
[36]Jonathan Corbet,Alessandro Rubini&Greg Kroah-Hartman.Linux device Drivers.O'Reilly Media,Inc.
[37]周立功,陈明计,陈渝.ARM嵌入式Linux系统构建与驱动开发范例.北京航空航天大学出版社.2006,1
[38]Atmel,ARM920T-based Microcontroller AT91RM9200.http://www.atmel.com
[39]苏炜.Linux网络设备驱动程序设计.华南金融电脑.2005,6:54-57
[40]阴晓峰,葛安林,张伯英.Linux环境下设备驱动模型及开发技术.计算机工程与应用,2002(8):106-109
[41]毛德操,胡希明.Linux内核源代码情景分析.浙江大学出版社.2001,9