基于ARM9的智能家居.docx

上传人:小飞机 文档编号:1667648 上传时间:2022-12-13 格式:DOCX 页数:62 大小:1.02MB
返回 下载 相关 举报
基于ARM9的智能家居.docx_第1页
第1页 / 共62页
基于ARM9的智能家居.docx_第2页
第2页 / 共62页
基于ARM9的智能家居.docx_第3页
第3页 / 共62页
基于ARM9的智能家居.docx_第4页
第4页 / 共62页
基于ARM9的智能家居.docx_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《基于ARM9的智能家居.docx》由会员分享,可在线阅读,更多相关《基于ARM9的智能家居.docx(62页珍藏版)》请在三一办公上搜索。

1、摘 要随着科技的发展,以及嵌入式技术的应用,传统的家居生活已不能满足我们的生活,越来越多的厂家开始注重智能家居的推广和使用。智能家居以住宅为平台,由ZigBee星型家庭内网和嵌入式家庭网关两部分组成。用户访问可以通过web浏览器登录家庭网关,或本地用户直接通过家庭网关的图形用户界面,对家庭内网进行温湿度、烟雾浓度、光照强度等信息的采集和对灯光等进行控制。本课题是基于ARM9的智能家居监控模块设计与实现,采用ARM9内核的S3C2440处理器为控制芯片,将Linux系统移植到硬件平台上,最后将软件下载到硬件平台上。主要完成以下工作:(1) 进行网络的相关配置,在系统运行的时候,需要挂载根文件系统

2、,这时需要网络的连接。本次设计中网络连接用的是桥接。(2) 搭建环境,包括服务器的搭建、交叉编译器的安装、Bootloader移植、Linux内核移植、根文件系统制作,这些事系统运行阶段的基础。(3) 对嵌入式web进行研究,搭建boa服务器,了解摄像头图像采集的工作流程,搭建浏览器客户端网页,让摄像头采集的图像在网页上显示。关键词: 嵌入式;网关;web浏览器;ARM9Abstract With the development of technology, as well as the application of embedded technology, the traditional h

3、ome life can not meet our life, more and more manufacturers began to focus on the promotion and use of smart home. Smart home to residential as the platform, from the ZigBee star based home network and embedded home gateway two parts. Access to the user can through the web browser to log home gatewa

4、y, or local user directly through the graphical user interface of the home gateway, the family network for temperature and humidity, smoke concentration and light according to intensity information acquisition and lighting control.This paper is based on ARM9 intelligent home monitoring module design

5、 and implementation, using ARM9 S3C2440 processor as the control chip, the transplantation of Linux operating system to the hardware platform, at last, the software is downloaded to the hardware platform. Mainly the following several work needs to be done:(1) the network configuration, in the operat

6、ion of the system and need to mount the root , then need to network connection. The network connection in this design is bridged.(2) build environment, including the establishment of the server, the installation of cross compiler, Bootloader transplantation, Linux kernel transplantation, root produc

7、tion, these things system operation stage.(3) the embedded web research, build server boa, understand the work process of camera image acquisition, build the client browser page, let the camera to capture images displayed on a web page.Keywords: Embedded, Gateway, Web browser,ARM9目 录摘 要IAbstractII目

8、录IV第1章 绪论11.1本课题研究目的与意义11.2 国内外技术研究现状11.2.1国外研究现状11.2.2国内研究现状31.3视频监控系统的发展趋势41.4 论文的组织5第2章智能家居系统总体方案72.1需求分析72.2视频监控系统的总体设计方案9第3章 监控系统硬件环境113.1硬件平台总体结构11主控制芯片12Ov9650摄像头13硬件的连接14第4章 嵌入式环境的配置154.1 Linux操作系统简介154.2 t服务器配置194.2.1 tftp服务器的配置194.2.2 NFS服务器配置204.3 安装交叉编译器20第5章 监控系统的实现225.1 Bootloader的移植22

9、5.2 内核的移植255.3 根文件系统制作265.4 boa服务器的移植285.5基于v4l的视频采集295.6 MPEG-4编码305.7效果演示32第6章 总结和展望336.1 总结336.2展望与不足33致谢35参考文献36附件一37附件二44V山东科技大学毕业设计(论文)第1章 绪论1.1本课题研究目的与意义智能家居与普通家居相比,它不仅具有传统的居住功能,提供舒适安全、高品质的家庭生活空间。视频监控是智能家居中的一个重要模块,对家庭安全有着重要的作用,而且,视频监控在其他方面也得到了广泛应用,如:交通、银行和安全部门。视频监控系统从第一代基于模拟摄像机的模拟监控系统,到第二代基于计

10、算机的数字监控系统,再到第三代基于嵌入式的网络数字监控系统,视频监控已经经历了三个发展阶段。目前的第三代视频监控系统是具有集前端一体化、图像数字化、监控网络化、系统集成化等特性于一身的嵌入式web技术的远程网络视频监控系统。嵌入式视频web服务器的主要原理是视频服务器内置一个boa服务器,采用嵌入式操作系统。前端摄像机送来的视频图像通过内部总线送到服务器,将采集到的原始图像经过编码压缩、打包等过程变成基于网络协议的数据流,数据流通过网络进行传输,发送到终端用户。网络终端用户可以直接用浏览器观看web服务器上的摄像机图像,授权用户可以通过专用的客户端软件进行显示和各种操作。1.2 国内外技术研究

11、现状1.2.1国外研究现状1984年美国联合科技公司将建筑设备信息化、整合化概念应用于美国康乃迪克州哈特佛市的CityPlaceBuilding,标志着首栋“智能型建筑”的诞生,虽然当时只是对一栋破旧的大楼进行了改造,但是是采用先进的计算机技术对都市大厦内部的电梯照明、空调等设备进行监控,并且还可以提供情报资料、电邮、语音通信等信息的服务。自此以后美国、加拿大、欧洲、澳大利亚和东南亚等经济比较发达的国家先后提出了各种智能家居的方案,而且都从国家战略的高度大力推广智能家居控制系统。智能家居在美国、德国、新加坡、日本等国家都有广泛的应用。20世纪80年代初,随着大量采用电子技术的家用电器面市,开始

12、出现了住宅电子化(HE,HomeElectronics)的概念。80年代中期,将家用电器、通讯设备与安防设备的功能综合为一体,形成了家居自动化概念(HA,HomeAutomation)。80年代末,由于通信与信息技术的发展,出现了对住宅中各种通信、家电、安防设备通过总线技术进行连接、控制与管理的商用系统,这在美国称为智慧屋(WH,WiseHome),在欧洲称为时髦屋(SH,SmartHome)。当时日本正处于房产市场低迷时期,日本建设省在推进智能建筑概念时,抓住用于住宅总线技术的契机,提出了家庭总线系统概念(HBS,HomeBusSystem)。而随着技术的继续发展和生物识别技术的实用化普及,

13、智能家居的概念才真正体现了其本意,在好莱坞科幻电影中看到的那种高度智能化的家居系统正在走进我们的生活。日本松下公司正在把“数码家庭”的概念应用到养老院,养老院的所有房间都装有多种测量仪器、触摸式显示屏、数码摄像机等,并与局域网相连,这样每个居住者的体温、血压等多项数据可以传送到护理中心,实现远程医疗护理。美国麻省理工学院的实验室正在研究“智能房间”,通过生物传感器探测人的行为来自动控制和调节居住系统。日本大型住宅公司MISAWAHOME为解决购房者对房屋防盗系统的不满意,新近推出“保全住宅”该住宅内部采用指纹辩识门禁系统,另设有隐藏式防盗室,当遇到小偷闯入时屋主可躲进去紧急避难,防盗室设有两道

14、厚重的门,其中内门只要从里面上锁后,外部无法靠人力打开。防盗室内装设电话专线,电话线埋在地下,另外还可在屋内放置一个机器人,亩以依歹徒恐吓的声音来反应,并出声求救,发挥报警求救功能。1.2.2国内研究现状伴随着国内房地产市场的繁荣,近年来智能家居从概念引进到研究开发经历了迅速的发展。调查发现,目前国内市场中常见的智能家居子系统基本上由原来的照明、安防和门禁对讲系统生产厂家提供的,这些系统大都没有脱离原有产品的形态,属于“嫁接智能”范畴。由于这些产品的技术路线多种多样,一些大公司在整合他们的时候标准也就很难规范统一。在我国,智能化住宅和智能化家居虽然起步比较晚,但发展速度很快。80年代,我国居住

15、条件非常困难,根本谈不上智能化的问题。80年代初所建成的住宅,其电器设计内容仅在以下方面:楼房照明系统、高层供水泵控制系统和消防泵控制系统。用户电量的计量和收费,采用房管部门或住户轮流抄表收费的方式。生活用水的计量则主要是按户或按人口数收费。弱电系统也是从80年代开始才陆续设置电话配线和公用电视天线系统。80年代末90年代初,我国家庭基本实现电器化,住宅内的弱电系统有所增加,如对讲系统等。到了90年代末,电脑、有线电视、机顶盒、移动通信等数字化通信产品开始走进家庭。2000年9月7-8日,由信息产业部组织,在四川省绵阳市召开了国家经贸委2000年国家技术创新重点专项计划“家庭信息化网络技术研究

16、及产品开发”项目工作会议。2002年由建设部住宅产业化促进中心和中国建筑科学研究院主编的居住区智能化系统配置与技术要求(审查稿)己送审,等待批准。建设部住宅产业化促进中心正在牵头编制行业标准“居住区智能化产品应用技术要求”。2002年建设部科学技术委员会智能建筑技术开发推广中心组织编制了建设行业智能建筑试点项目住宅小区智能化系统工程验收评估标准作为建设行业智能建筑试点项目住宅小区智能化系统工程验收评估标准。西南交通大学科技公司开发了网络智能控制数据终端(IntelligentControlNetworkDataTerminal,简称NDT)系统,是一个基于计算机网络的智能住宅控制系统,可以稳定

17、运行在多种宽带网络平台上。它包括住宅楼宇防盗报警、贵重物品防盗报警、多重判断防误报功能、火灾报警、煤气泄露报警、紧急求助、防胁持秘密报警、小区电子公告、远程家用电器控制、电话自动报警功能、Internet电子短信、家用设备报警、水电气多表自动抄收等功能,通过计算机网络构成整个住宅小区的集中管理控制系统。1.3视频监控系统的发展趋势将嵌入式系统技术、无线通信技术和基于TCP/IP的Internet技术结合在一起的视频监控系统将成为监控系统的未来发展方向。利用嵌入式技术采集并对现场信息进行相应处理,在通过无线通信方式传输到Internet上,用户通过Internet来管理和使用信息。当前,视频监控

18、系统的发展趋势可以概括为:(1) 视频监控数字化视频监控发展经历了模拟视频监控、半数字监控、数字监控三个阶段。数字化是21世纪的时代特征,视频监控的数字化是监控技术的必然趋势。(2) 视频监控智能化智能化是视频监控技术发展比较高的层次。智能化监控能把视频监控从静态的、事后取证变成动态的、实时预防和告警对用户来说明显更加重要。实际上现有的大型监控系统都配置自动位移侦测、昼夜自适应切换存储、预警设置等一些基本的智能化功能。(3) 视频监控IP化视频网络、IPTV等都是网络快速发展的重要应用。随着Internet技术的发展,基于IP的视频监控风能为人们所接受,网络摄像机吧压缩的视频信息通过TCP/I

19、P协议。采用流媒体技术实现视频在网上的多路复用传输,拥有授权的用户可以随时访问互联网,实现对真个监控系统的指挥、调度、存储、授权控制等功能。(4) 视频监控无线化随着无线宽带网络的发展,基于3G的无线视频应用备受关注。当监控点分散且与监控中心距离较远,或被监控对象不固定时,利用传统有线网络的视频监控旺旺成本高且难以实现,为基于多种无线传输手段的移动视频监控具有不可替代的优势。1.4 论文的组织第一章:对监控系统的研究意义、国内外的研究状况以及发展趋势做了简单概述。第二章:分析了监控系统的需求,以及需要何种网络结构,并简单介绍了硬件的组成。第三章:对硬件平台的总体结构、主控制芯片和摄像头做了简单

20、介绍。第四章:对嵌入式系统做简单的介绍,并进行了服务器搭建和交叉编译器的安装等工作,为以后的工作做好基础。第五章:本章讲述了监控系统的实现,主要有Bootloader的移植、Linux内核的移植、根文件系统的制作、boa服务器的移植,及摄像头工作流程。第六章:对各个部分的工作做了总结,提出了整个工作的不足之处并对进一步的研究方向以及相关的问题做了叙述。第2章智能家居系统总体方案随着计算机网络技术和嵌入式系统的发展以及芯片成本的下降,嵌入式视频服务器为核心的视频监控系统在市场上发展起来。通用的web服务器通常用于大量用户并发访问的普通网站,以强有力的数据库为用户提供商业服务,而嵌入式处理器能力和

21、存储容量有限,通用大型服务器无法在嵌入式设备上运行。因此,采用功能相对简单、体积更小、消耗资源更少的嵌入式web服务器,是近年来出现的一种较为先进的方案。目前,嵌入式web服务器的实现方法可分成自助实现和修改移植。2.1需求分析分析国内智能家居市场可知消费者对家电控制、视频网络监控、家居环境监测等情有独钟,视频网络监控也成为了生活中不可或缺的智能产品。智能家居行业技术按照系统核心技术可分为PC架构、单片机架构及嵌入式架构三个层次。三种技术方案代表着智能家居行业不同时期的技术特点。(1)PC架构的智能控制系统出现于中国智能家居的萌芽阶段,基本停留在向使用者展示智能家居的概念,实用性不强,属于第一

22、代。(2)目前很多中国智能家居厂商研制的基于单片机架构的智能控制系统,在实用性、易用性和专业性方面有了很大程度上的提高属于第二代。(3)而基于嵌入式系统的家庭智能系统在国内才刚刚出现,随着嵌入式技术更加广泛的应用及成本的之间降低,中国的智能家居核心最终将走向嵌入式。目前人类已进入基于Internet的后PC时代,其主要特征为计算机作为组成部分紧密融于消费品和工业品中。后PC时代的到来依赖于嵌入式技术的诞生与发展。嵌入式系统在通信产品、家用电器、医疗器械、汽车制造、航空航天等领域的应用,已成为促进信息产业发展、加速传统产业改造的最为实用的高新技术。随着嵌入式处理器的性能得到了显著的提高,嵌入式技

23、术的应用在最近几年得到了广阔的发展。对于嵌入式系统,电器工程师协会的定义为:嵌入式系统是用来监控设备、机器、装置及工厂生产线等大规模系统的设备。通常嵌入式定义为:嵌入式系统是以应用为核心,以计算机技术为基础,并且软/硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗等有严格要求的专用卫星化计算机系统。嵌入式系统一般应用嵌入式系统的微处理器、外围硬件设备(可随意定制)、嵌入式操作系统(可裁剪)以及用户的应用程序四个部分组成,用于实现对其他现场设备的控制、监视或管理等功能。嵌入式技术为智能家居客户端的实现和发展提供了强大的基础。使用嵌入式系统来完成智能家居系统的设计具有以下优势:(1) 嵌

24、入式系统具有功耗低、体积小、专用性强等功能。(2) PC架构的智能控制系统出现于中国智能家居的萌芽阶段,基本 停留在向使用者展示智能家居的概念,实用性不强,属于第一代。(3) 根据系统定制的实时操作系统,不仅可以最大限度地利用硬件资源,并且避免了庞大系统的系统冗余。(4) 嵌入式技术伴随Internet而生,因此具有更加卓越的网络性能,可以增加更多的网络应用。(5) 软件采用分层设计,方便维护和升级,大大提高了代码利用率,缩短开发周期。嵌入式网络监控系统3是以嵌入式设备作为web服务器接入Internet网络的。嵌入式设备连接到网络后,以何种网络结构构成系统,就涉及到了网络体系结构的选择问题。

25、网络体系结构对整个网络监控系统来说是处于基础地位的,合理选择网络体系结构对系统运行效率、系统性用的广泛性和可维护性都有至关重要的作用。C/S和B/S结构是当今世界开发模式技术架构的两大主流技术。C/S结构即客户机和服务器结构。它是软件系统体系结构,C/S结构充分利用两端硬件环境的优势,将任务合理的分配到client和server端,降低了系统的通讯开销。目前大多数应用软件都是client/server形式两层结构,由于现在的软件应用系统正在向分布式的web应用发展,web和client/server应用都可进行同样的业务处理,应用不同的模块共享逻辑组件。因此,内部的和外部的用户都可以访问新的和

26、现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。B/S结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过www浏览器端实现,极少不烦事务逻辑在客户端实现,但是主要事务逻辑在服务器端实现,形成三层3-tier结构。这样可以大大简化客户端电脑载荷,减轻系统维护与升级的成本和工作量。2.2视频监控系统的总体设计方案智能家居监控系统主要由硬件和软件两部分组成。硬件部分是有CMOS摄像头和ARM9开发板;软件部分由系统软件(包括Bootloader、嵌入式Linux操作系统和驱动程序)和应用软件(包括web

27、服务器、CGI程序、视频采集等)。网线串口线本次设计有三个部分组成,前端是用于视频采集的CMOS摄像头,中间部分是移植了嵌入式Linux操作系统的ARM9开发板,它的作用是对采集来的图像进行处理,并内建嵌入式web服务器和视频流媒体服务器,从而将视频传递给远端用户。第三个部分是监控端,由带有浏览器的PC机组成,用来浏览远端的视频,同时也可以通过网络对系统平台进行控制。如图2.1所示。 监控端ARM9开发板CMOS摄像头嵌入式Web服务器器是指将Web服务器引入到嵌入式系统中,在相应的硬件平台和软件系统的支持下,根据应用的需要实现通用的Web服务器的全部或者部分功能。嵌入式Web服务器仍然以TC

28、P/IP协议为底层,在该Web中使用的应用层的通信协议是HTTP协议,通过HTTP协议实现客户端(一般为浏览器)和嵌入式Web服务器的信息交换4。 在嵌入式领域,常用的Web服务器有thttpd和boa,boa目前用的最多。boa是一个非常小巧的Web服务器,可执行代码只有约60 KB,占用系统资源少,而且速度快、安全性好5。目前使用的Linux2.6内核还没有包含boa代码,因此需要移植到本系统中。首先从下载boa源代码(目前最新版本boa-0.94.13),解压到Linux系统目录下,用交叉编译器编译。这样在boa-0.94.13/src目录下生成boa应用程序,把生成的boa应用程序下载

29、到开发板上Linux系统中的/bin目录下,让boa在系统启动时自动运行,这样在开发板上就移植了boa服务器。第3章 监控系统硬件环境智能家居监控系统采用TQ2440开发板,是一个有高性能、高集成度及强扩展功能的一体化开发板。TQ2440由底板和核心板组成。核心板采用的是S3C2440嵌入式处理器芯片1,是三星公司研制的一款处理器。摄像头采用的是ov9650图像传感器2。3.1硬件平台总体结构本系统的硬件平台总体结构如图3.1所示。该设计将硬件系统分成两部分:核心板和外围电路。核心板主要由S3C2440A微处理器、64MB NAND Flash、64MB SDRAM、晶振、3.3V转1.33V

30、电压转换芯片组成。外围电路则主要为图3.1核心板以外的相关模块。ov9650摄像头接口电路LCD显示模块电源模块移动控制模块ARM920T核心板存储模块DM9000网卡及网络接口USB从接口USB主接口图3.1 系统硬件平台结构图主控制芯片本次设计采用Samsung公司生产的S3C2440A微处理器作为主控制芯片。它是Samsung公司基于ARM920T核,采用0.13umCMOS工艺生产的16/32位RISC微处理器。是一款专为手持设备及低功耗、小尺寸、高性能微控制器解决方案的微处理器。内部主要含以下模块:(1) 1.2V内核,1.8V/2.5V/3.3V存储器,3.3V扩展I/O16kB指

31、令(2) cache(Ichche)/16kB数据cache(Dchche)(3) 外部存储控制器(SDRAM控制盒片选逻辑)(4) 集成LCD专用DMA的LCD控制器(支持最大4k色STN256KTFT)4路拥有外部请求引脚的DMA控制器(5) 3路URAT5)2路SPI(6) IIC总线接口(多主支持)(7) IIS音频编码接口(8) AC97编解码器接口 (9) 1.0版SD主接口,兼容2.11版MMC接口(10) 2路USB主机控制/1路USB期间控制(ver1.1)(11) 4路PWM定时器/1路内部定时器/看门狗定时器(12) 8路10位ADC和触摸屏接口(13) 具有日历功能的R

32、TC(14) 摄像头接口(15) 130个通用I/O,24个外部中断源(16) 电源控制:正常,慢速,空闲,睡眠模式 带PLL片上时钟发生器Ov9650摄像头s3c2440仅仅提供了一个摄像接口,因此要实现其功能,还需要摄像头。在这里,我们使用OV9650。OV9650内部有大量的寄存器需要配置,这就需要另外的数据接口。OV9650的数据接口称为SCCB(串行摄像控制总线),它由两条数据线组成:一个是用于传输时钟信号的SIO_C,另一个是用于传输数据信号的SIO_D。SCCB的传输协议与IIC的极其相似,只不过IIC在每传输完一个字节后,接收数据的一方要发送一位的确认数据,而SCCB一次要传输

33、9位数据,前8位为有用数据,而第9位数据在写周期中是Dont-Care位(即不必关心位),在读周期中是NA位。SCCB定义数据传输的基本单元为相(phase),即一个相传输一个字节数据。SCCB只包括三种传输周期,即3相写传输周期(三个相依次为设备从地址,内存地址,所写数据),2相写传输周期(两个相依次为设备从地址,内存地址)和2相读传输周期(两个相依次为设备从地址,所读数据)。当需要写操作时,应用3相写传输周期,当需要读操作时,依次应用2相写传输周期和2相读传输周期。因此SCCB一次只能读或写一个字节。下面我们就用s3c2440的IIC总线接口分别与OV9650的SIO_C和SIO_D相连接

34、来实现SCCB的功能。硬件的连接第4章 嵌入式环境的配置4.1 嵌入式操作系统简介4.1.1 嵌入式操作系统的概念嵌入式系统(Embedded system),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电气工程师协会( U.K. Institution of Electrical Engineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。嵌入式系统通常进行大量生产,所

35、以单个的成本节约,能够随着产量进行成百上千的放大。嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设备的系统。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。嵌入式系统的核心是由一个或几个预先编程好以用来执行少数几项任务的微处理器或者单片机组成。与通用计算机能够运

36、行用户选择的软件不同,嵌入式系统上的软件通常是暂时不变的;所以经常称为“固件”。4.1.2 嵌入式操作系统的分类(1)VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种实时操作系统。VxWorks拥有良好的持续发展能力、高性能的内核以及良好的用户开发环境,在实时操作系统领域内占据一席之地。它是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。它支持多种处理器,如x86,i960,SunSparc,Moto-rolaMC68xxx,MIPSRX000,PowerPC,ARM,StrongARM等。大多数的VxW-orksAPI是专有的。(2)QNXQN

37、X是一个实时的、可扩充的操作系统;它部分遵循POSIX相关标准,如POSIX.1b实时扩展;它提供了一个很小的微内核以及一些可选的配合进程。其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间中运行。所有其他操作系统服务都实现为协作的用户进程,因此QNX内核非常小巧(QNX4x大约为12KB),而且运行速度极快。这个灵活的结构可以使用户根据实际的需求,将系统配置成微小的嵌入式操作系统或包括几百个处理器的超级虚拟机操作系统。 (3)PalmOS3Com公司的PalmOS在掌上电脑和PDA市场上占有很大的市场份额。它有开放的操作系统应用程序接口(API),开发

38、商可以根据需要自行开发所需的应用程序。 (4)WindowsCEMicrosoftWindowsCE是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核至少需要200KB的ROM。(5)LynxOSLynxReal-timeSystems的LynxOS是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循POSIX.1a,POSIX.1b和POSIX.1c标准。LynxOS支持线程概念,提供256个全局用户线程优先级;提供一些传统的、非实时系统的服务特征,包括基于调用需求的虚拟内存,一

39、个基于Motif的用户图形界面,与工业标准兼容的网络系统以及应用开发工具。Motif是开放软件基金(OSF)于1989年推出的一个图形用户界面系统。(6)嵌入式Linux随着Linux的迅速发展,嵌入式Linux现在已经有许多的版本,包括强实时的嵌入式Linux(如新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux)和一般的嵌入式Linux版本(如uClinux和PocketLinux等)。其中,RT-Linux通过把通常的Linux任务优先级设为最低,而所有的实时任务的优先级都高于它,以达到既兼容通常的Linux任务又保证强实时性能的目的。由于嵌入式系统越来越追求数字化、网络

40、化和智能化,因此原来在某些设备或领域中占主导地位的软件系统越来越难以为继,因为要达到上述要求,整个系统必须是开放的、提供标准的API,并且能够方便地与众多第三方的软硬件沟通。(7)uC/OSuC/OS是源码公开的实时嵌入式操作系统。4.1.3 嵌入式Linux的简介Linux是1991年由芬兰人Linus Torvalds发明的,一套免费使用和自由传播的类Unix操作系统,是个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 操作系统:Linux不仅支持x86芯片,它可以支持20-30中CPU;Linux是开放源代码的,不存在黑箱技术,遍布全球的众多爱好者都是Linux开发者的

41、强大技术支持者,Linux的源代码随处可得,注释丰富,文档齐全,易于解决各种问题;Linux在内核结构的设计中考虑适应系统的可裁剪性的要求。Linux主要特点如下:(1) Linux是开放源码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发的强大技术后盾。(2) Linux的内核小、功能强大、运行稳定、系统健壮、效率高。(3) Linux易于定制裁剪,在价格上极具竞争力。(4) Linux不仅支持x86CPU,还可以支持其他数十种CPU芯片。(5) 有大量的且不断增加的开发工具,这些工具为嵌入式系统的开发提供了良好的开发环境。(6) Linux沿用了Unix的发展方式,遵循

42、国际标准,可以方便地获得众多第三方软硬件厂商的支持。(7) Linux内核的结构在网络方面是非常完整的,它提供了对十兆/百兆/千兆以太网、无线网络、令牌网、光纤网、卫星网等多种联网方式的全面支持。(8) 在图像处理、文件管理及多任务支持等诸多方面,Linux的表现也都非常出色,不仅可以充当嵌入式系统的开发平台,本身也是嵌入式系统应用开发的好工具。综上所述,正是由于嵌入式Linux具有源码开放、移植简易、资源内容丰富、免费等优点,使它在嵌入式控制领域越来越流行。更重要的是,由于嵌入式Linux与PC机的Linux源于同一套内核代码。只是裁剪的程度不同,这使得很多为PC机的开发的软件经过了再次的编

43、译后,也可以直接在嵌入式控制设备上工作,这使得它的软件资源极大的丰富。4.2 t服务器配置嵌入式系统开发多采用交叉开发模式,其中产生嵌入式软件的平台称为宿主机,通常为PC电脑,运行嵌入式软件的平台称为目标机。宿主机一般通过网络,USB,JTAG等方式将软件下载到目标机。4.2.1 tftp服务器的配置T Protocol,简单文件传输协议)是TCP/IP协议族中的用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。 TFTP这种简单的基于UDP的文件传输协议,通常只能用于小文件的传输。并且它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列

44、出目录,也不能进行认证。在嵌入式开发中,tftp服务常用于通过从PC机服务端的tftp目录中下载镜像文件到目标开发板中,以待烧写或运行。使用这种方式下载文件,操作方便、并且速度也挺快。4.2.2 NFS服务器配置NFS(网络文件系统)为两台Linux主机之间的通讯提供了类似于Windows上共享目录一样的服务,在嵌入式Linux开发中,Linux目标机经常通过NFS方式访问Linux宿主机上的文件,为了实现这种访问,首先需要在Linux搭建NFS服务器。配置NFS服务器:vi /etc/exports,在打开的文件中添加如下一行:/home/S5-driver/lesson8/rootfs *

45、(rw,sync,no_root_squash)。此配置是为了让目标板在完成挂载,进行相关测试。下面是对这一行代码的解释。/home/S5-driver/lesson8/rootfs:共享的目录*:允许访问共享目录的主机IP(rw,sync,no_root_squash):访问权限4.3 安装交叉编译器交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平

46、台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。交叉编译出来的程序,所要运行的目标环境中,各种资源,都相对有限,所以很难进行直接的本地编译最常见的情况是:在进行嵌入式开发时,目标平台,即嵌入式开发板,比如是最大主频200MHz的ARM的CPU,加上32M的RAM,加上1G的Nand Flash等等。在如此相对比较紧张的硬件资源的前提下,在已经运行了嵌入式Linux的前提下,是没法很方便的,直接在嵌入式Linux下,去本地编译,去在ARM的CPU下,编译出来,供ARM的CPU可以运行的程序的。因为编译,开发,都需要相对比较多的CPU,内存,硬盘等资源,而

47、嵌入式开发上的那点资源,只够嵌入式(Linux)系统运行的,没太多剩余的资源,供你本地编译。本设计采用的S3C2440是ARM体系的架构,而Linux属于X86的架构,因此,需要用交叉编译器将程序进行编译,移植到ARM9上才能正常运行。第5章 监控系统的实现5.1 Bootloader的移植1. Bootloader简介Bootloader是严重依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的Bootloader几乎是不可能的。尽管如此,我们仍可以对Bootloader归纳出一些通用的概念,以指导用户特定的Bootloader设计与实现。简单地说,Bootloader就是在操作系统内核运行之前的一段小程序,通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序,因此整个系统的家在启动任务就完全由Bootloader来完成。在专用的嵌入式板子运行GNU/Linux系统已经变得越来越流行。一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:(1) Bootloader用来加载内核。(2) Kernel为特定嵌入式开发

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号