《毕业设计(论文)基于Linux的嵌入式操作系统研究》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于Linux的嵌入式操作系统研究(70页珍藏版)》请在金锄头文库上搜索。
1、基于Linux的嵌入式操作系统研究摘 要在以计算机技术、通讯技术相结合的信息时代的快速发展和互联网的广泛应用的形势下,3C(Computer、Communication、Consumer)合一的趋势已经形成,其结果必然就是将计算机工业的中心从计算产品转移到信息产品,从而出现信息电器的概念。在信息电器的应用开发领域,由于需要的功能不断的增加,嵌入式系统也就将成为软件业的新宠儿。同时在计算机本身的领域里面,微型化和专业化成为了发展的新趋势,同样也需要嵌入式系统的支持。因此,研究与嵌入式系统有关的关键技术嵌入式操作系统有着相当重要的实际意义。本论文详细论述了作者在学士学位论文工作期间在基于Linux
2、的嵌入式操作系统研究工作领域里所做的研究和实践,主要围绕着论证使用Linux改造成符合嵌入式操作系统条件的几点要求展开讨论。首先,我对嵌入式系统的概念和信息电器的概念做出表述,并且说明Linux的特点、发展状况河开发环境。紧接着,分三个方面论述使用Linux进行嵌入式系统开发的便利,包括Linux的实时变种RTLinux的原理、实现方案和编程方法;Linux网络设备驱动程序的分析和利用到嵌入式系统中的方案;实现Linux和RT Linux的内核在线调试环境的途径。其中还讲到了如何利用现有的工作设计出一个嵌入式Linux系统。最后,针对现有的工作,提出进一步开发出完整的、具有市场竞争力的产品提出
3、开发展望。关键词:嵌入式系统,Linux,信息电器,RTOS,RT Linux,Linux网络驱动程序,在线调试环境AbstractWith the development of Computer technology and Communication technology in Information times and the board application of Internet, it is clear that 3C (Computer, Communication and Consumer) will converge in the near future which wil
4、l lead the focus of Computer Industry from the Compute product to Information product. It is the concept of Information Appliance. In the application and development field of Information Appliance, Embedded Operating System will be the most favorite thing in Software Development field. At the same t
5、ime, in the field of computer science itself, the micromation and specialization is the new direction of the computer world. It also want the support of Embedded System. So, the research of the key technique of embedded systemEmbedded Operating System is the most important thing.This thesis presents
6、 the authors work in research of the Linux-based Embedded Operating System for his bachelor degree. Most of the thesis focus the requirement of transforming Linux to Embedded System. Firstly, it describes the concepts of embedded system and Information Appliance, and presents the characteristic and
7、development environment of Linux. Then describe three aspects of the key techniques of using Linux as the development tools of Embedded system Including the real-time variant of LinuxRT Linux and its principle, implementation and the programming; the network coding in Linux kernel and the analysis o
8、f Linux network device drivers and the online debug environment of Linux Kernel and RTLinux Kernel. I have also involved the implementation of embed Linux/RTLinux in a floppy to simulate the embedded environment. In the last part of this thesis, I give the suggestions and prospect of the development
9、 of a mature embedded system which have the most competition ability in China market base on the current work.Keyword: Embedded Operating System, Linux, Information Appliance, RTOS, RT Linux, Linux Network Device Drivers, Online Kernel debug environment目 录摘 要1Abstract2目 录3第一章 绪论61.1 嵌入式系统的历史、现在和未来61
10、.2 信息电器的概念71.3 国内外嵌入式系统的相关产品、水平、现状和技术发展趋势81.3.1 国际上相关产品、水平、现状和技术发展趋势。81.3.2 国内相关产品、水平、现状和技术发展趋势。101.4 Linux的历史和现状121.5 论文的组织介绍14第二章 嵌入式系统的特点162.1 嵌入式处理器的要求162.2 RTOS的要求172.2.1 RTOS的概念172.2.2 RTOS的分类方法182.2.3 RTOS的体系结构182.2.4 RTOS的衡量标准202.3 网络要求202.4 用户交互环境界面202.5 小结21第三章 采用Linux作为嵌入式系统开发的原因223.1 嵌入式
11、处理器支持223.2 实时支持223.3 网络支持233.4 GUI开发支持243.4.1 利用X Windows的便利243.4.2 利用SVGALib和pThread函数库253.5 小结26第四章 实时Linux274.1 实时Linux(RTLinux)介绍274.2 RTLinux特征284.2.1 小而精巧的实时内核284.2.2 模块化的设计方案284.2.3 和Linux内核的结合294.2.3.1 利用Linux内核的好处294.2.3.2 和Linux进行通信的方法294.3 RTLinux的实现机理304.4 RTLinux的编程接口(API)314.5 RTLinux的
12、编程方法示例324.5.1 需要用到的API函数:324.5.1.1 任务生成和调度函数324.5.1.2 时间控制函数334.5.1.3 FIFO控制函数334.5.2 程序原理344.5.3 程序实现344.5.3.1 实时部分代码344.5.3.2 非实时部分384.5.3.3 公用头文件394.5.4 程序执行结果394.6 嵌入式RTLinux的设计404.6.1 将RTLinux嵌入EPROM中。404.6.2 通过网络启动的方法设计嵌入式RTLinux。424.7 小结42第五章 Linux对TCP/IP网络支持435.1 Linux网络概述435.2 Linux网络设备驱动程序
13、的分析445.2.1 Linux中网络驱动程序介绍455.2.2 网络驱动程序中需要用到的重要的数据结构465.2.2.1 struct device465.2.3 重要的驱动过程465.2.3.1 模块驱动方法475.2.3.2 内核启动的驱动方法475.2.3.3 网卡初始化函数分析495.3 在嵌入式系统中实现网络协议栈515.3.1 重用Linux网络协议栈代码525.3.2 重写网络协议栈525.3.3 网络驱动程序的编写525.4 小结53第六章 调试环境的搭建和定制546.1 远程调试环境的搭建原理556.1.1 GDB介绍556.1.2 GDB远程调试功能介绍556.1.3 G
14、DB远程调试建立的条件566.1.3.1 远程主机上stub要实现的函数接口566.1.3.2 调试双方数据包的传送格式576.1.3.3 调试步骤的介绍586.2 Linux的内核调试环境的搭建586.2.1 串口驱动程序模块和数据包传送函数596.2.2 stub程序的函数接口606.2.3 内核进入调试状态的路径616.2.3.1 系统启动的时候向内核传递参数616.2.3.2 使用gdbstart将系统控制权交出636.2.4 Linux内核调试过程示例646.3 RTLinux的调试环境的开发设想656.4 小结66第七章 总结与展望67参考文献69第一章 绪论1.1 嵌入式系统的历
15、史、现在和未来在当前的数字信息技术和网络技术高速发展的后PC(Post-PC)时代,嵌入式系统已经广泛的渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术、娱乐业以及人们的日常生活等方方面面中。随着国内外嵌入式产品如车载电脑、机顶盒等等的进一步开发和推广,嵌入式技术越来越和人们的生活紧密结合。在PC时代,可能有人从来没有接触过计算机;但是在Post-PC时代,他就不可能会接触不到嵌入式系统,因为嵌入式系统可能存在于生活的方方面面中,从家里的洗衣机、电冰箱,到作为交通工具的自行车、小汽车,到办公室里的远程会议系统等等,都属于可以使用嵌入式技术开发和改造的产品。实际上嵌入式系统这个概念很早以前就已经存在了。在通讯方面,嵌入式系统在1960年就被用于对电子机械电话交换的控制,当时被称为“存储式程序控制系统”(Stored Program Control)。那个时候,计算机一词却还不是很普遍,而存储式程序主要是指用于存储程序及日常讯息的内存部分。存储这些逻辑数据,而不是将其写