《毕业设计-基于Linux的嵌入式操作系统研究》由会员分享,可在线阅读,更多相关《毕业设计-基于Linux的嵌入式操作系统研究(39页珍藏版)》请在金锄头文库上搜索。
1、标题: 浙大毕业论文:基于 Linux 的嵌入式操作系统研究摘 要 在以计算机技术、通讯技术相结合的信息时代的快速发展和互联网的广泛应用的形势下,3C(Computer、Communication、Consumer)合一的趋势已经形成,其结果必然就是将计算机工业的中心从计算产品转移到信息产品,从而出现信息电器的概念。在信息电器的应用开发领域,由于需要的功能不断的增加,嵌入式系统也就将成为软件业的新宠儿。同时在计算机本身的领域里面,微型化和专业化成为了发展的新趋势,同样也需要嵌入式系统的支持。因此,研究与嵌入式系统有关的关键技术嵌入式操作系统有着相当重要的实际意义。 本论文详细论述了作者在学士学
2、位论文工作期间在基于 Linux 的嵌入式操作系统研究工作领域里所做的研究和实践,主要围绕着论证使用 Linux 改造成符合嵌入式操作系统条件的几点要求展开讨论。首先,我对嵌入式系统的概念和信息电器的概念做出表述,并且说明 Linux 的特点、发展状况河开发环境。紧接着,分三个方面论述使用 Linux 进行嵌入式系统开发的便利,包括Linux 的实时变种RTLinux 的原理、实现方案和编程方法; Linux 网络设备驱动程序的分析和利用到嵌入式系统中的方案;实现 Linux 和 RT Linux 的内核在线调试环境的途径。其中还讲到了如何利用现有的工作设计出一个嵌入式 Linux 系统。最后
3、,针对现有的工作,提出进一步开发出完整的、具有市场竞争力的产品提出开发展望。 关键词:嵌入式系统,Linux,信息电器,RTOS ,RT Linux,Linux 网络驱动程序,在线调试环境 Abstract With 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
4、 converge in the near future which will 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 Sof
5、tware Development field. At the same time, 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 mos
6、t important thing. This thesis presents 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 Applianc
7、e, and presents the characteristic and 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 co
8、ding in Linux kernel and the analysis of 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 sugg
9、estions and prospect of the development 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 目 录 摘
10、要 1 Abstract 2 目 录 3 第一章 绪论 6 1.1 嵌入式系统的历史、现在和未来 6 1.2 信息电器的概念 7 1.3 国内外嵌入式系统的相关产品、水平、现状和技术发展趋势 8 1.3.1 国际上相关产品、水平、现状和技术发展趋势。 8 1.3.2 国内相关产品、水平、现状和技术发展趋势。 10 1.4 Linux 的历史和现状 12 1.5 论文的组织介绍 14 第二章 嵌入式系统的特点 16 2.1 嵌入式处理器的要求 16 2.2 RTOS 的要求 17 2.2.1 RTOS 的概念 17 2.2.2 RTOS 的分类方法 18 2.2.3 RTOS 的体系结构 18
11、2.2.4 RTOS 的衡量标准 20 2.3 网络要求 20 2.4 用户交互环境界面 20 2.5 小结 21 第三章 采用 Linux 作为嵌入式系统开发的原因 22 3.1 嵌入式处理器支持 22 3.2 实时支持 22 3.3 网络支持 23 3.4 GUI 开发支持 24 3.4.1 利用 X Windows 的便利 24 3.4.2 利用 SVGALib 和 pThread 函数库 25 3.5 小结 26 第四章 实时 Linux 27 4.1 实时 Linux(RTLinux)介绍 27 4.2 RTLinux 特征 28 4.2.1 小而精巧的实时内核 28 4.2.2 模
12、块化的设计方案 28 4.2.3 和 Linux 内核的结合 29 4.2.3.1 利用 Linux 内核的好处 29 4.2.3.2 和 Linux 进行通信的方法 29 4.3 RTLinux 的实现机理 30 4.4 RTLinux 的编程接口(API) 31 4.5 RTLinux 的编程方法示例 32 4.5.1 需要用到的 API 函数: 32 4.5.1.1 任务生成和调度函数 32 4.5.1.2 时间控制函数 33 4.5.1.3 FIFO 控制函数 33 4.5.2 程序原理 34 4.5.3 程序实现 34 4.5.3.1 实时部分代码 34 4.5.3.2 非实时部分
13、38 4.5.3.3 公用头文件 39 4.5.4 程序执行结果 39 4.6 嵌入式 RTLinux 的设计 40 4.6.1 将 RTLinux 嵌入 EPROM 中。 40 4.6.2 通过网络启动的方法设计嵌入式 RTLinux。 42 4.7 小结 42 第五章 Linux 对 TCP/IP 网络支持 43 5.1 Linux 网络概述 43 5.2 Linux 网络设备驱动程序的分析 44 5.2.1 Linux 中网络驱动程序介绍 45 5.2.2 网络驱动程序中需要用到的重要的数据结构 46 5.2.2.1 struct device 46 5.2.3 重要的驱动过程 46 5
14、.2.3.1 模块驱动方法 47 5.2.3.2 内核启动的驱动方法 47 5.2.3.3 网卡初始化函数分析 49 5.3 在嵌入式系统中实现网络协议栈 51 5.3.1 重用 Linux 网络协议栈代码 52 5.3.2 重写网络协议栈 52 5.3.3 网络驱动程序的编写 52 5.4 小结 53 第六章 调试环境的搭建和定制 54 6.1 远程调试环境的搭建原理 55 6.1.1 GDB 介绍 55 6.1.2 GDB 远程调试功能介绍 55 6.1.3 GDB 远程调试建立的条件 56 6.1.3.1 远程主机上 stub 要实现的函数接口 56 6.1.3.2 调试双方数据包的传送
15、格式 57 6.1.3.3 调试步骤的介绍 58 6.2 Linux 的内核调试环境的搭建 58 6.2.1 串口驱动程序模块和数据包传送函数 59 6.2.2 stub 程序的函数接口 60 6.2.3 内核进入调试状态的路径 61 6.2.3.1 系统启动的时候向内核传递参数 61 6.2.3.2 使用 gdbstart 将系统控制权交出 63 6.2.4 Linux 内核调试过程示例 64 6.3 RTLinux 的调试环境的开发设想 65 6.4 小结 66 第七章 总结与展望 67 参考文献 69 第一章 绪论 1.1 嵌入式系统的历史、现在和未来 在当前的数字信息技术和网络技术高速
16、发展的后 PC(Post-PC)时代,嵌入式系统已经广泛的渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术、娱乐业以及人们的日常生活等方方面面中。随着国内外嵌入式产品如车载电脑、机顶盒等等的进一步开发和推广,嵌入式技术越来越和人们的生活紧密结合。在 PC 时代,可能有人从来没有接触过计算机;但是在Post-PC 时代,他就不可能会接触不到嵌入式系统,因为嵌入式系统可能存在于生活的方方面面中,从家里的洗衣机、电冰箱,到作为交通工具的自行车、小汽车,到办公室里的远程会议系统等等,都属于可以使用嵌入式技术开发和改造的产品。 实际上嵌入式系统这个概念很早以前就已经存在了。在通讯方面,嵌入式系统在 1960 年就被用于对电子机械电话交换的控制,当时被称为“存储式程序控制系统”(Stored Program Control)。那个时候,计算机一词却还不是很普遍,而存储式程序主要是指用于存储程序及日常讯息的内存部分。存储这些逻辑数据,而不是将其写入硬盘,这个概念的确具有突破性的意义。 这个时候还没有出现操作系统的概念,对每一