《嵌入式系统课程设计讲义完成稿.doc》由会员分享,可在线阅读,更多相关《嵌入式系统课程设计讲义完成稿.doc(140页珍藏版)》请在金锄头文库上搜索。
1、目 录第一章 概述.1第二章 嵌入式系统的基本概念4第三章 Red Hat linux 安装与常用命令的使用 .10第四章 TCP/IP 联网.31第五章 网络文件系统.33第六章 Linux 上的 C/C+ 编译器和调试器 39第七章 GNU make 和 makefile的概念 .42第八章 Linux多进程编程 46第九章 嵌入式系统开发过程69第十章 嵌入式Linux操作系统下的硬件开发 .83第十一章 嵌入式Linux操作系统下的软件开发 . 99第十二章 嵌入式Linux 下串口编程 104第十三章 嵌入式Linux 网络编程 .113第十四章 嵌入式WebServer应用.132
2、附录 有关嵌入式系统的网站 139第一章 概 述在过去的十年里,PC产品的核心技术有了突破性的进展,使其在功能和应用技术上产生了质的飞跃。然而,如今的人们面对PC核心技术的不断提高,再也没有以往的那种欣喜之情了,因为信息产品的发展正在逐步取代PC核心的地位,而成为后PC时代发展的核心动力。不久,整个高科技的浪潮便会席卷世界的各个角落,我们的通信产品和日用商品如手机、掌上电脑、电视机、电冰箱等各种物品都将与互联网接轨,我们将进入后PC时代-嵌入式计算机时代。从使用角度来说,计算机可分为两类:一类是独立使用的计算机系统,如个人计算机(PC)、工作站等;一类是嵌入式计算机系统,它是作为其他系统的组成
3、部分而嵌入在系统内部使用。PC因为其强大的多功能而得到世人的宠爱,它可以把电视、音响、VCD/DVD、电话、传真、游戏机等等电器皆囊括,但都不如独立的电器方便、效果好。正是它的多功能, 真正使用PC的人将会越来越少,因为几乎没有人需要它所有的功能,在不久的将来PC甚至会只成了fans的宠物。PC消亡了,键盘和鼠标进入博物馆。而嵌入式计算机与PC刚好相反,它嵌入于设备的内部,专注完成某个特定的功能,由于其功能单一,所以它可以做到尺寸小、功耗低、速度快且成本低。正是由于嵌入式系统的这些特点,使得它能方便地运用于机顶盒、IA设备、PDA、掌上电脑、WAP手机、寻呼机、车载电台以及工业控制等智能信息产
4、品中。与PC相比,手持设备、IA设备以及信息家电的市场容量要高得多。在IT行业,伴随着中国工业智能化、信息化改造的逐步深入,嵌入式设备将在工业控制领域得到广泛应用。各类尖端的智能控制设备、智能仪表、自动控制设备都要求高可靠、高实时、网络功能强大的嵌入式操作系统。嵌入式计算机以其小尺寸、微功耗、专用性强和低成本等特点已经成为当前IT应用最激动人心的领域之一。在家电行业,由嵌入式计算机组建的家庭网络给我们的生活带来了极大的便利,让我们来畅想我们未来的生活:在你还没到家之前,家里得空调自动打开,在你到家的那一刻为你调到最适合的温度,家里的门把手嵌入了微处理器与网络相联。当你走进家门,电灯自动打开,所
5、有家电开始运作,客厅成为家庭视讯中心,电视不再只是一只黑盒子,银幕上出现远在国外的亲友向你问好,穿上含有晶片与内建麦克风的智慧型围裙,围裙上的小通话器让你和家人无线通话,随时控制各种家电用品,甚至遥控餐桌上的餐具,利用厨房的互动银幕,联网下在新食谱,或向当地超市订货。嵌入芯片的电子标签管理着你的所有财产,其中带有电子标签的衣服可“告诉”智能洗衣机如何洗涤;智能冰箱能够“解读”食品上的标签,提醒主人及时添置食品,仓库里库存的物品标签告诉你现在它的位置、性能状态、剩余量等。甚至在人体内部嵌入处理器,植入你的信息和银行账号,这样你可以不用带着信用卡和大量现金就可以遨游世界。银行通过消费场所感应器扫描
6、你身上的id,自动在你的账户上扣除相应的款额。以信息家电为代表的互联网时代嵌入式产品,不仅为我们美好未来描绘出一幅宏伟的蓝图,同时也极大的推动着嵌入式的发展,为嵌入式系统市场展现了美好前景,注入了新的生命。正是这无处不在的计算机,无处不在的网络,他们在默默地为你高效地服务,你却不需要对他们有半点了解。这就是嵌入式计算机的魅力。嵌入式计算机主要有两部分组成:CPU和嵌入式操作系统。那么现在炙手可热的嵌入式系统在我国到底发展到什么地步了呢?让我们分别从硬件和软件分别来看看中国嵌入式系统发展的现状:CPU是嵌入式系统的核心部分,也是决定嵌入式系统性能的最根本因素,现在芯片的设计大多在美国日本韩国等发
7、达国家,由台湾和中国等劳动力廉价的地区生产,这里有一个令人不敢想象的比喻,却又非常形象的表现了我国的芯片危机:一个人胸腔里跳动着另一个人的心脏,后者只要轻轻按一下开关,就可以使前者胸腔中的心脏停止跳动!这种“恐怖”的事实,就存在于我们的现实之中:从上世纪90年代后期开始,中国每年芯片使用量超过100亿块,其中绝大部分为进口产品;中国能够自行开发的芯片只有300多种,而所需芯片种类却达1万多种。据统计,目前中国国内集成电路生产线上的产品大多来自国外的设计与订单,80%用于出口,而国内半导体市场需求量的80%又要依靠进口。这一进一出的80%,使半导体产业的利润外流,国内工厂只能赚取少量加工费。根据
8、国外的统计,1元集成电路的产值将带动10元左右的电子产品产值和100元国民经济的增长。一个长期“无芯”的国家,不仅其国民经济的的发展受到严重的阻碍,只有被动地选择全球产业链的下层位置,并且对一个国家的国防事业也造成极大的困难。令人欣喜的是,随着国内第一个0.25微米、32位的嵌入式CPU“方舟1号”,目前还没有跨国公司涉入的数码摄像芯片“星光1号”,国内第一款完全拥有自主知识产权的高性能通用CPU“龙芯1号”等振奋人心的名字不断涌现,中国的信息产业正在结束“芯痛”的历史。当嵌入式系统的硬件选定后,系统性能的上限就基本上确定下来了,能否达到系统最佳性能,另外一个关键因素就是操作系统。没有操作系统
9、的支持,嵌入式系统就无法体现其优越性。由于嵌入式Linux具有天生秉承的优势:开放的源码,丰富的软件资源,功能强大的内核,完善的网络通讯、图形、文件管理机制,越来越多的企业和科研机构已经把目光转向了嵌入式Linux的开发和应用上。近日,Evans调研公司通过对500名嵌入系统开发人员进行调查后预测,使用Linux进行开发的嵌入式系统的比例将由今年的11.2%上升到明年的27%。Linux不久之后就会超过专有操作系统和内部开发的操作系统,成为开发人员最喜欢的操作系统。然而在中国,linux人才还是非常紧缺,也没有形成一个好的自由讨论的氛围。毕竟它是免费的,不能为我们带来直接的经济效益。 嵌入式计
10、算机时代的到来和pc的消亡一样是不可阻挡,那么我们该怎么迎接她的到来呢?怎样才能不像pc时代一样被世界列强甩在后头呢?这是个值得关注的问题,要做到这一点,我们就必须保证:有自己国产的嵌入式芯片和操作系统。中国的嵌入式计算机的开发还处在起步阶段,我们的“龙芯”刚刚研制出来不久,它的主要应用领域就是嵌入式的应用。作为我们民族第一个具有自主产权的芯片,面对它的应用还很馈乏,这对于我们既是机遇又是挑战,我们须尽我们最大的努力为龙芯的成长营造一个适宜的环境。由于嵌入式linux的开放源代码和广阔发展前景,我们可以修改linux的源代码,开发出有自己特色的嵌入式操作系统,当然这要建立在国内已经形成了一个很
11、好的linux成长环境的基础上。只有在我们有自己的处理器和操作系统的情况下,我们才能在即将到来的嵌入式计算机时代有所作为,才能真正的实现强国之梦。第二章 嵌入式系统的基本概念21 嵌入式系统概念及特点嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应于特定应用系统,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由微处理器、外围硬件设备、嵌入式操作系统和特定的用户应用程序等四个部分组成,用以实现对其他设备的控制(Control)、监视(Monitor)或管理(Management)等功能。嵌入式系统区别于通用计算机系统的最大之处在于它是面向特定应用的,或者说是与
12、应用紧密结合的,因而它对硬件和软件有着特殊的要求。硬件方面,嵌入式系统要求具有体积小、重量轻、成本低、可靠性高等特点,所以其CPU一般使用专用的嵌入式CPU(又称嵌入式微处理器或嵌入式微控制器)。嵌入式微控制器一般以某一种通用微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、Flash、EEPROM等各种必要功能和外设,形成一个完整的小型计算机系统。为适应不同的应用需求,一般一个系列的嵌入式CPU具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装,这样可以
13、使嵌入式CPU最大限度地与应用需求相匹配,从而减少功耗和成本。本文使用的MPC823集成了多种通信协议接口控制器,是一款性能优越的适合通信领域的嵌入式CPU。软件上,嵌入式系统一般要求响应速度快,并具有处理异步并发事件的能力,相当一部分系统还要求具有实时处理的能力。由于嵌入式设备硬件资源有限,因此编写的软件还需具有体积小、代码效率高等特点。在我国,单片机的开发使用形成了最初的嵌入式系统应用研究。我国的单片机及嵌入式系统开发走过了约15年的历程,从事开发应用的工程师超过10万名,但有资料表明95%以上是35个人的小组以孤军奋战的封闭方式采用传统的汇编语言进行线性编程,开发几乎不可重用的软件。而现
14、代信息社会的高效性、协同性客观上要求软件的编写便于多人分工合作、编写的软件具有可重用性。另一方面,嵌入式应用软件则日趋复杂。所有这些迫切需要有一个屏蔽底层硬件的、功能强大的操作系统来支持。作者认为嵌入式软件的核心在于嵌入式实时多任务操作系统(RTOS)。有了RTOS,快速反应要求,并行事件处理要求都可以交给操作系统完成,用户只需要把以前复杂的线性程序分解为多个子任务交给多人完成,人员之间任务的协同由操作系统提供的标准任务通信机制完成。因此RTOS 是嵌入式软件的编写从“小生产方式”进入“大生产方式”的必然产物。22 嵌入式系统的发展趋势1. 嵌入式应用软件的开发需要强大的开发工具和操作系统的支
15、持 随着因特网技术的成熟、带宽的提高,ICP和ASP在网上提供的信息内容日趋丰富、应用项目多种多样,像电话手机、电话座机及电冰箱、微波炉等嵌入式电子设备的功能不再单一,电气结构也更为复杂。为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力;同时还采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。 目前,国外商品化的嵌入式实时操作系统,已进入我国市场的有WindRiver、Microsoft、QNX和Nuclear等产品。我国自主开发的嵌入式系统软件产品如科银(CoreTek)公司的嵌入式软件开发平台DeltaSystem,它不仅包括DeltaCore嵌