浅析Linux及嵌入式开发.doc

上传人:hs****ma 文档编号:544097775 上传时间:2023-09-21 格式:DOC 页数:5 大小:110.51KB
返回 下载 相关 举报
浅析Linux及嵌入式开发.doc_第1页
第1页 / 共5页
浅析Linux及嵌入式开发.doc_第2页
第2页 / 共5页
浅析Linux及嵌入式开发.doc_第3页
第3页 / 共5页
浅析Linux及嵌入式开发.doc_第4页
第4页 / 共5页
浅析Linux及嵌入式开发.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《浅析Linux及嵌入式开发.doc》由会员分享,可在线阅读,更多相关《浅析Linux及嵌入式开发.doc(5页珍藏版)》请在金锄头文库上搜索。

1、浅析Linux及嵌入式开发 摘 要:嵌入式 Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。关键词:linux,嵌入式,开发 一、什么是嵌入式Linux嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费;购买费用媒介成本技术支持全世界的自由软件开发者提供支持网络特性免费,而且性能优异,软件移植容易,代码开放,有许多应

2、用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,实时性能RT_Linux Hardhat Linux 等嵌入式Linux支持,实时性能稳定性好安全性好。二、嵌入式linux的发展历史嵌入式系统出现于60年代晚期,它最初被用于控制机电电话交换机,如今已被广泛的应用于工业制造、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等众多领域。计算机系统核心CPU,每年在全球范围内的产量大概在二十亿颗左右,其中超过80%应用于各类专用性很强的嵌入式系统。一般的说,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。三、inux嵌入式开发应学习的

3、内容(1)你要学会根据你硬件电路及应用的需要对内核进行裁减。(2)学会安装linux系统及为了嵌入式应用而需要的相关软件,如GCC编译器,交叉编译工具,TFTP服务器等,这些东西的操作和windows有挺大区别的。(3)找本linux C编程的书,学一下linux中C的编程以及编译的方法,其中Makefile的制作是其与其他系统区别较大的。(4)学会根据电路修改你的bootloader,现在一般是标准的硬件,往往可以省略了(5)其实内核的移植也是挺重要的,不过往往做核心板的人已经帮你做好了(6)尝试如何使用bootloader下载程序,包括串口,以太网等方式。(7)当然学习使用Qt做界面也是必

4、不可少的。四、嵌入式就业前景近几年,嵌入式系统产品日臻完善,并在全世界各行业得到广泛应用。嵌入式系统产品的研制和应用已经成为我国信息化带动工业化、工业化促进信息化发展的新的国民经济增长点。 随着消费家电的智能化,嵌入式更显重要。像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字相机(DC)、数字摄像机(DV)、U-Disk 、机顶盒(Set Top Box)、高清电视(HDTV )、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等,都是典型的嵌入式系统。据预测,随着Internet的迅速发展和廉价微处理

5、器的出现,嵌入式系统将在日常生活里形成更大的应用领域。在中国,嵌入式软件发展过程中,政府已充分认识到它的重要作用,并在政策、资金等方面给予了大力支持。 2004 年国家发改委、科技部、商务部联合颁布的当前优先发展的高技术产业化重点领域指南,把嵌入式软件产业作为国家发展的一个重要领域。 最近几年来,中国的嵌入式软件发展速度一直高于中国软件产业的发展速度和全球嵌入式软件的发展速度,在中国软件产业和全球嵌入式软件产业中所占的比重越来越大。目前,中国嵌入式软件产业在整个软件产业中的比重已经超过了三分之一强。 中国嵌入式软件产业的发展面临着良好的发展环境与机遇,这包括政府的重视与扶植、信息产业与传统产业

6、的融合机遇、垄断局面尚未形成、中国制造的良好基础、自由软件运动的兴起等等。 同时,不可否认的是长期以来,由于人才、宣传、资金等诸多问题以及嵌入式本身所特有的软硬结合特性,使嵌入式软件人才一直处于供不应求的状态。五、Liux嵌入式特点入式Linux(Embedded Linux)是指对Linux经过裁剪小型化后,可固化在存储器或单片机中,应用于特定嵌入式场合专用Linux操作系统。嵌入式Linux开发和研究已经成为目前操作系统领域一个热点。与其它嵌入式操作系统相比,Linux特点如下:第一,Linux系统是层次结构且内核完全开放。Linux是由很多体积小且性能高微内核系统组成。在内核代码完全开放

7、前提下,不同领域和不同层次用户可以根据自己应用需要方便地对内核进行改造,低成本地设计和开发出满足自己需要嵌入式系统。 第二,强大网络支持功能。Linux诞生于因特网时代并具有Unix特性,保证了它支持所有标准因特网协议,并且可以利用Linux网络协议栈将其开发成为嵌入式TCP/IP网络协议栈。 此外,Linux还支持ext2、ext3、fat16、fat32、romfs、cramfs、jffs2、yaffs2、ubifs等文件系统,为开发嵌入式系统应用打下了很好基础。 第三,Linux具备一整套工具链,容易自行建立嵌入式系统开发环境和交叉运行环境,可以跨越嵌入式系统开发中仿真工具障碍。Linu

8、x也符合IEEE POSIX标准,使应用程序具有较好的可移植性。 第四,Linux具有广泛硬件支持特性。无论是RISC还是CISC、32位还是64位等各种处理器,Linux都能运行。Linux通常使用微处理器是Intel x86芯片家族,但它同样能运行于ARM、MIPS、XScale、PowerPC、68K/ColdFire等架构的处理器上。Linux支持各种主流硬件设备和最新硬件技术,甚至可以在没有存储管理单元(MMU)处理器上运行。这意味着嵌入式Linux将具有更广泛应用前景。六、嵌入式Linux开发知识点交叉编译:简单说就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓

9、平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。一个经常会被问到的问题就是:“既然我们已经有了主机编译器,那为什么还要交叉编译呢?”其实答案很简单,没办法啊!有时是因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器;有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。GNU C的特点:1.允许零长度数组:在定义变长对象的头结构时,这

10、个特性非常有用。2、case范围:支持case x.y 这样的语法,区间x,y的数都会满足这个case的条件。3、语句表达式:把包含在括号里的复合语句看做是一个表达式,称为语句表达式,它可以出现在任何允许表达式的地方。4、typeof关键字:typeof(x)语句可以获得x的类型。5、可变参数的宏:标准C只支持可变参数的函数,而在GNU C中,宏也可以接受可变数目的参数,例如:#define pr_debug(fmt,arg.) printk(fmt,#arg)。这里arg表示其余的参数可以是零个或多个,这些参数以及参数之间的逗号构成arg的值。6.标号元素:标准c要求数组或结构体的初始化值必

11、须以固定的顺序出现,在GNU C中,通过指定索引或结构体成员名,允许初始化值得以任意顺序出现。7.当前函数名:预定义了两个标识符保存当前的函数名,_FUNCTION_保存函数在源码中的名字,_PRETTY_FUNCTION_保存带语言特色的名字。在c函数中,这两个名字是相同的。8、特殊属性声明:GNU C允许声明函数、变量和类型的特殊属性,以便进行手工的代码优化和定制代码检查的方法。指定一个声明的属性,只需要在申明后添加_attribute_(ATTRIBUTE),其中ATTRIBUTE为属性说明,如果存在多个属性,则以逗号分隔。GNU C支持noreturn format section a

12、ligned packed等十多个属性noreturn属性作用于函数,表示该函数从不返回。这会让编译器优化代码,并消除不必要的的警告信息。9、内建函数:除了标准 C 库的函数,GNU C还提供了大量的内建函数,内建函数的名字通常以 _builtin 开始。Linux2.6内核相对2.4内核的改进:支持更多处理器,比如AMD64、一些大型机及嵌入式(包括no MMU)等,同时改进了对已有处理器的支持。 采用抢占式内核,使交互式操作的响应速度大大提高。 修改了I/O子系统部分,保证在各种工作负荷下I/O都有很好的响应速度。 更新了IDE/ATA、SCSI等存储总线,解决和改善了以前的一些问题,比如

13、2.6版内核可以直接通过IDE驱动程序来支持IDE CD/RW设备,而不必像以前一样要使用一个特别的SCSI模拟驱动程序。 大量改进文件系统,比如支持Windows的逻辑卷管理器、重写对NTFS文件系统的支持、改进HPFS等。 改进和部分重写了Modules功能,使之更稳定。 改进对USB的支持,使之能够支持当前多数主流的USB设备。 加强对无线设备的支持。 增加了ALSA(Advanced Linux Sound Architecture)。ALSA是有希望取代旧式OSS(Open Sound System)的另一种声音系统,能支持全杜比录音及回放、无缝混音、支持声音合成设备、USB声卡等。

14、 支持更多种类和型号的多媒体设备。 网络功能新增了对IPSec协议的支持,改进了对IPv6的支持。 编译系统的改进。 七、结束语: 在嵌入式系统中使用 Linux 的优点和缺点:与传统的实时操作系统相比(RTOS),采用象嵌入式 Linux 这样的开放源码的操作系统的另外一个好处是 Linux 开发团体看来会比 RTOS 的供应商更快地支持新的 IP 协议和其它协议。例如,用于 Linux 的设备驱动程序要比用于商业操作系统的设备驱动程序多,如网络接口卡(NIC)驱动程序以及并口和串口驱动程序。Linux 用于嵌入式的因特网设备也是很合适的,原因是它支持多处理器系统,该特性使 Linux 具有

15、了伸缩性。因而设计人员可以选择在双处理器系统上运行实时应用,提高整体的处理能力。例如,您可以在一个处理器运行 GUI,同时在另一个处理器上运行 Linux 系统。在嵌入式系统上运行 Linux 的一个缺点是 Linux 体系提供实时性能需要添加实时软件模块。而这些模块运行的内核空间正是操作系统实现调度策略、硬件中断异常和执行程序的部分。由于这些实时软件模块是在内核空间运行的,因此代码错误可能会破坏操作系统从而影响整个系统的可靠性,这对于实时应用将是一个非常严重的弱点。:参考文献:(1)(美国)ChristopherHallinan 嵌入式Linux开发 出版社:人民邮电出版社 出版时间: 2008。(2)奥莱理软件台湾公司 改编:韩存兵 构建嵌入式LINUX系统 出版社:中国电力出版社 出版时间:2004。(3)河秦 王洪涛 Linux 2.6内核标准教程出版:人民邮电出版社 出版日期:2008-11

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号