欢迎来到天天文库
浏览记录
ID:25740906
大小:76.00 KB
页数:10页
时间:2018-11-22
《嵌入式linux开发常识.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、嵌入式linux开发常识 (2009-07-1313:51:28)转载标签: 杂谈嵌入式linux开发常识第1章嵌入式Linux开发基础知识目前Linux已被广泛应用于信息家电、数据网络、工业控制、医疗卫生、航空航天等众多领域。在嵌入式领域,由于价格低廉、结构小巧的各种微处理器的出现为外设连接提供了稳定可靠的硬件架构,限制嵌入式系统发展的瓶颈就突出表现在软件方面。尽管从20世纪80年代末开始,陆续出现了一些嵌入式操作系统,比较著名的有VxWorks、pSOS、Neculeus和WindowsCE。但这些专用操作系统都是商
2、业化产品,其高昂的价格使许多低端产品的小公司望而却步,并且其源代码的封闭性也大大限制了开发者的积极性。结合中国实情,当前国家对自主操作系统的大力支持,为开放源码的Linux的推广提供了广阔的发展前景。对上层应用开发者而言,嵌入式系统需要的是一套高度简练、界面友善、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统。Linux对厂商不偏不倚而且成本极低,因此很快成为用于各种设备的操作系统。如今,业界已经达成共识:即嵌入式Linux是大势所趋,其巨大的市场潜力与酝酿的无限商机必然会吸引众多的厂商进入这一领域。1.1嵌
3、入式Linux简介Linux正在嵌入式开发领域稳步发展。因为Linux使用GPL,所以任何对将Linux定制于自己特定开发板或PDA、掌上机、可佩带设备感兴趣的人都可以从因特网免费下载其内核和应用程序,并开始移植或开发。许多Linux改良品种迎合了嵌入式市场。它们包括RTLinux(实时Linux)、μCLinux(用于非MMU设备的Linux)、MontavistaLinux(用于ARM、MIPS、PPC的Linux分发版)、ARM-Linux(ARM上的Linux)和其他Linux系统。嵌入式Linux的发展比较迅速
4、。NEC、索尼已经在销售个人视频录像机等基于Linux的消费类电子产品,摩托罗拉则计划在其未来的大多数手机上使用Linux,IBM也制定了在手持机上运行Linux的计划。数年来,“Linux标准库”组织一直在从事对在服务器上运行的Linux进行标准化的工作,现在,嵌入式计算领域也开始了这一工作。嵌入式Linux标准吸引了“Linux标准库”以及UNIX组织中有益的元素。在嵌入式系统中使用Linux的优点和缺点虽然大多数Linux系统运行在PC平台上,但Linux也可以作为嵌入式系统的操作系统。Linux的安装和管理比UN
5、IX更加简单灵活,这对于那些UNIX专家们来说又是一个优点,因为Linux中有许多命令和编程接口同传统的UNIX一样。但是对于习惯于Windows操作系统的人来说,需要记忆大量的命令行参数却是一个缺点。随着Linux社团的不断努力,Linux的人机界面开发环境正在不断完善。典型的Linux系统经过打包,在拥有硬盘和大容量内存的PC机上运行,而嵌入式系统不需要这么高的配置。一个功能完备的Linux内核要求大约1MB内存。而Linux微内核只占用其中很小一部分内存,包括虚拟内存和所有核心的操作系统功能在内,只需占用系统约10
6、0KB内存。只要有500KB的内存,一个有网络栈和基本实用程序的完全的Linux系统就可以在一台8位总线(SX)的Intel386微处理器上运行得很好了。由于内存要求常常是由应用的需要所决定的,例如Web服务器或者SNMP代理,Linux系统甚至可以仅使用256KBROM和512KBRAM进行工作。因此它是一个瞄准嵌入式市场的轻量级操作系统。与传统的实时操作系统(RTOS)相比,采用像嵌入式Linux这样的开放源码的操作系统的另外一个好处是Linux开发团体看来会比RTOS的供应商更快地支持新的IP协议和其他协议。例如,
7、用于Linux的设备驱动程序要比用于商业操作系统的设备驱动程序多,如网络接口卡(NIC)驱动程序以及并口、串口驱动程序。Linux操作系统本身的微内核体系结构相当简单。网络和文件系统以模块形式置于微内核的上层。驱动程序和其他部件可在运行时作为可加载模块编译到或者是添加到内核。这为构造定制的可嵌入式系统提供了高度模块化的构件方法。而在典型情况下该系统需结合定制的驱动程序和应用程序以提供附加功能。嵌入式系统也常常要求通用的功能,为了避免重复劳动,这些功能的实现运用了许多现成的程序和驱动程序,它们可以用于公共外设和应用。Lin
8、ux可以在外设范围广泛的多数微处理器上运行,并早已经具备了现成的应用库。Linux用于嵌入式的因特网设备也是很合适的,原因是它支持多处理器系统,该特性使Linux具有了伸缩性。因而设计人员可以选择在双处理器系统上运行实时应用,提高整体的处理能力。例如,可以在一个处理器运行GUI,同时在另一个处理器上运行Linux系统
此文档下载收益归作者所有