




已阅读5页,还剩62页未读, 继续免费阅读
(电路与系统专业论文)基于嵌入式linux的智能家居系统的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉科技大学 研究生学位论文创新性声明 本人郑重声明:所呈交的学位论文是本人在导师指导下,独立进行研 究所取得的成果。除了文中已经注明引用的内容或属合作研究共同完成的 工作外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 论文作者签名:! 塑墼垂日期:垫! ! 至兰旦型璺 研究生学位论文版权使用授权声明 本论文的研究成果归武汉科技大学所有,其研究内容不得以其它单位 的名义发表。本人完全了解武汉科技大学有关保留、使用学位论文的规定, 同意学校保留并向有关部门( 按照武汉科技大学关于研究生学位论文收录 工作的规定执行) 送交论文的复印件和电子版本,允许论文被查阅和借阅, 同意学校将本论文的全部或部分内容编入学校认可的国家相关数据库进行 检索和对外服务。 论文作者签名:! 塑壑查 指导教师签名: :辛垒 日 武汉科技大学硕士学位论文第1 页 摘要 本文对智能家居系统中所需的g p r s 通信模块和远程视频监控模块的实现进行了深入 的研究,阐述了系统开发的基本原理和开发流程。智能家居系统的功能实现是建立在嵌入 式l i n u x 环境下。在硬件方面,系统采用p x a 2 7 0 作为主控芯片,并使用了s i m 3 0 0 一g p r s 模块。在操作系统方面,采用最流行的开源且免费的l i n u x 操作系统。l i n u x 以其体积小、 可裁剪性和可移植性等特点被广泛地应用在嵌入式领域;在软件方面,根据硬件的实际情 况,完成软件的设计,制作相应的b o o t l o a d e r ,并根据系统的功能需求裁剪内核并制作文 件系统。 论文以软件设计为主,着重叙述环境搭建完成后功能模块的软件开发,主要包括短信 的操作,u s b 摄像头的数据采集和远程视频的访问。短信的操作借助串口通信技术发送a t 指令来实现各种功能。为了实现远程视频监控,采用v 4 l 接口技术获取摄像头采集的视 频数据,再利用f r a m e b u f f e r 技术进行本地显示。然后搭建嵌入式w e b 服务器,以实 现视频的远程访问。最后进行简单的g u i 界面开发,以实现人机交互。 关键词:智能家居;嵌入式l i n u x , g p r s ;远程视频监控 第1 i 页武汉科技大学硕士学位论文 a b s t r a c t i nt h i sp a p e r , t h em o d u l eo fg p r sc o m m u n i c a t i o na n dr e m o t ev e d i om o n i t o r i n gt h a tn e e d e d i ns m a r th o m es y s t e mh a v e b e e ns t u d yi nd e p t h a n dt h eb a s i cp r i n c i p l e so fs y s t e m sd e v e l o p m e n t a n dd e v e l o p m e n tp r o c e s sa r ed e s c r i b e d f u n c t i o no ft h es m a r th o m es y s t e mi m p l e m e n t a t i o ni s b a s e do ne m b e d d e dl i n u x i nt e r m so fh a r d w a r e ,t h es y s t e mu s e sp x a 2 7 0a st h em a i nc h i p ,a n d b s et h es i m 3 0 0 一g p r sm o d u l e i nt h eo p e r a t i n gs y s t e m ,l i n u xo p e r a t i n gs y s t e mw h i c hi so n eo f t h em o s t p o p u l a ro p e ns o u r c ea n df r e eo si sa d o p t e d l i n u xi sw i d e l yu s e di ne m b e d d e df i e l df o r i t ss m a l ls i z ea n dp o r t a b i l i t yc a nb ec u t i nt e r m so fs 0 1 a r e ,a c c o r d i n gt ot h ea c t u a ls i t u a t i o no f t h e h a r d w a r e ,c o m p l e t es o f t w a r ed e s i g n , m a k et h ec o r r e s p o n d i n gb o o t l o a d e r , t h e n a c c o r d i n gt o t h es y s t e m sr e q u i r e m e n t s ,o sk e r n e l 咖b em a d ea n dt h ef i l es y s t e mw i l lb e c r e a t e d t h ep a p e rm a i n l yf o c u s e so ns o f t w a r ed e s i g na n dg i v e sa l la c c o u n to fs o f t w a r ed e v e l o p m e n t f o rm o d u l e sa r e re n v i r o n m e n th a sb e e nb u i l t ,i n c l u d i n gm e s s a g i n go p e r a t i o n s ,a c q u i s i t i o nb y u s bc a m e r aa n dr e m o t ev i d e oa c c e s s w i t ht h es e r i a lc o m m u n i c a t i o nt e c h n o l o g y , a tc o m m a n d s c a nb es e n db ys e r i a lt oa c h i e v ef u n c t i o no fm e s s a gs e n d i n g i no r d e rt or e a l i z et h er e m o t ev i d e o m o n i t o r i n g ,v i d e od a t af r o mc a m _ e r a sc a nb ec a p t u r e dt h r o u g hv 4 l ,a n dc h i e v el o c a ld i s p l a y b a s e do nf r a m e b u f f e rt e c h n o l o g y t oa c h i e v er e m o t ea c c e s st ov i d e o ,e m b e d d e dw e bs e r v e r s h o u l db es e tu p f i n a l l y , as i m p l eg u ii n t e r f a c ed e v e l o p m e n th a sb e e nd o n et oa c h i e v e h u m a n - c o m p u t e ri n t e r a c t i o n k e yw o r d s :s m a r th o m e ;e m b e d d e dl i n u x ;g p r s ;r e m o t ev i d e om o n i t o r i n g 武汉科技大学硕士学位论文第1 i i 页 摘要 a b s t r a c t 第一章绪论 目录 1 i l l 1 1 研究内容和意义l 1 2 行业发展现状和前景l 第二章嵌入式系统及开发 2 1 嵌入式系统介绍3 2 1 1 硬件体系结构3 2 1 2 嵌入式操作系统4 2 2 嵌入式l i n u x 系统开发5 2 2 1 嵌入式l i n u x 介绍5 2 2 2 开发流程5 第三章智能家居系统的硬件设计 3 1 系统的硬件结构7 3 2g p r s 功能模块的设计8 3 2 1g p r s 技术简介8 3 2 2g p r s 模块介绍8 3 3 视频监控模块的设计9 第四章智能家居系统软件环境搭建 4 1b o o t l o a d e r 的移植l o 4 1 1b o o t l o a d e r 介绍1 0 4 1 2u b o o t 移植1 l 4 2l i n u x 内核的移植2 7 4 2 1l i n u x 内核介绍。2 7 4 2 2 嵌入式l i n u x 内核的移植方法2 9 第五章智能家居系统的应用软件设计。 4 0 5 1 系统软件的构成4 0 5 2g p r s 模块功能的实现4 0 5 2 1a t 指令集的介绍4 0 5 2 2 短消息的发送4 2 5 3 远程视频监控功能的实现4 5 5 3 1 设备驱动4 5 5 3 2 视频采集4 6 5 3 3 本地视频显示4 8 第1 v 页武汉科技大学硕士学位论文 5 3 4 嵌入式w e b 服务器的搭建5 l 5 3 5 远程视频访问5 2 5 4g u i 界面的开发5 3 第六章总结 参考文献 5 6 5 7 致谢5 9 武汉科技大学硕士学位论文第l 页 1 1 研究内容和意义 第一章绪论 随着信息化和网络化的迅猛发展,智能化已经成为了不可抵挡的趋势。智能家居最早 出现在美国,以住宅为主要应用平台,兼备网络通信、家电控制、信息娱乐等功能。通过 智能家居,人们可以更加有效的分配个人时间,使生活更加高效率化。例如通过视频监控 系统,可以很大程度上增加家居生活的安全性。另外,通过远程家电控制,可以很大程度 的方便人们的生活,并能在一定程度上节约能源。智能控制系统还可以用来调节室内的温 度、湿度并检测空气,以此提高空气质量,并提供现代化的通信手段和信息服务。 智能家居控制系统在为人们提供更加安全的居住环境的同时,也带来了更加舒适的居 住环境。现在,随着人们生活水平的不断提高,人们对居住环境也随之提出了更高的要求。 人们越来越注重家庭生活的舒适度、安全性与便利程度。因此从市场需求的角度看,智能 家居必然前景广阔。 1 2 行业发展现状和前景 现今,很多所谓的“智能家居”并不是完整意义上的智能家居。虽然现有的很多系统 也具很多功能,例如视频监控等。但是各个功能模块都是独立存在,且功能单一,还不能 实现“以人为本 的理念。 智能家居行业最近几年得到了比较快速发展,这是行业发展必然的趋势。在未来的几 年里,不同的智能家居产品将相继出现。因为目前的智能家居还停留在家居的智能化应用 上。而事实是智能家居产品可以有更广泛的应用,比如商业场所的智能化( 例如:酒店、 会所、餐厅等商业场所的智能化控制功能) ,办公场所的智能化( 例如:办公场所,会议 室、电教室等办公、教学等工作空间的智能化等) 。目前,国内智能家居市场内的这一种 市场细分化产品还是特别多,细分不是特别明确,很明确的根据不同细分市场专业设计的 细分化智能家居产品还是相对比较少,所以,未来会有更多的智能家居产品的厂家参与不 同细分市场的竞争,而不只是住宅领域方面。 另外,整体智能家居系统功能将是未来的必然趋势。所谓整体智能家居系统,就是实 现更多智能家居子功能,并采用统一的协议标准,使用统一的控制、管理、联动。从实用 的角度来讲,就是使用一个遥控器,或者电脑统一控制任何一个智能家居子功能,并能实 现各子功能之间的相互功能联动、互动,而不是像现在的智能家居系统方案,都是采用系 统集成的方式。系统集成商需要集成很多智能家居生产商的智能家居子功能产品,例如: 一个用户要实现最基本的综合布线、以及灯光、电器、窗帘、安防监控,背景音乐及视频 共享等功能,要分别集成灯光、电器、窗帘控制的生产厂商、背景音乐及视频共享生产厂 第2 页武汉科技大学硕士学位论文 家、安防的生产厂家,弱电综合布线的生产厂家的相关产品,但问题的关键是每一家生产 厂家之间的技术与协议不一样,这样,遇到一个最现实的问题是用户需要配置多个遥控器, 才能实现对整个智能家居系统的自由控制。 随着智能化的发展和嵌入式技术在智能家居中的深度应用,智能家居控制系统的功能 也将越来越强大。其功能将越来越齐全,操作会越来越简单,体积也会越来越小。 武汉科技大学硕士学位论文第3 页 2 1 嵌入式系统介绍 第二章嵌入式系统及开发 嵌入式系统是以应用为中心,以微电子技术、控制技术、计算机技术和通信技术为基 础,强调硬件和软件的协同性及整合性,软硬件可裁剪,对功能、可靠性、成本、体积和 功耗等严格要求的专用计算机系统。 最简单的嵌入式系统可以仅有单一功能的控制能力,无微型操作系统。而复杂的嵌入 式系统,几乎具有与p c 机一样的功能,例如个人数字助理( p d a ) 、上网本等。实质上与 p c 的区别仅仅是将微型操作系统与应用软件嵌入在r o m 或f l a s h 存储器中,而不是存储 于磁盘等载体中。另外,若干个小型的嵌入式系统还可以组成一个复杂的嵌入式系统。 一般情况下,嵌入式系统包括嵌入式微处理器、外围硬件设备、嵌入式操作系统和应 用程序4 个部分。随着嵌入式技术的发展,在嵌入式领域已经有相当丰富的软硬件资源可 以选择,并涵盖了通信、网络、工业控制、消费电子等各种行业。 由于各个行业发展的需求,使得嵌入式系统开始广泛应用到很多非计算机领域。也正 因为嵌入式系统的广泛应用,使得嵌入式系统的开发成为了各个学科的知识相互融合和利 用的过程。其技术含量也将随着信息产业的发展逐渐提高,嵌入式技术也将趋于成熟。现 在,嵌入式系统正处于高速发展的阶段【l 】。 2 1 1 硬件体系结构 嵌入式系统的硬件一般包括处理器,存储器、外设器件和电源等。整个系统的核心部 件是处理器。现在市场上流行着各种各样的嵌入式处理器。根据目前的情况,嵌入式处理 器可以分为以下几类。 1 嵌入式微处理器( e m b e d d e dm ic r o p r o c e s s o ru n it ,e m p u ) 嵌入式微处理器是建立在通用计算机中的c p u 基础之上的。在应用中,只保留与嵌入 式应用有关的功能,从而大幅度减小系统的体积和功耗。为了满足嵌入式应用的特殊要求, 嵌入式微处理器在工作温度、抗电磁干扰、可靠性等方面一般都做了增强。与工业控制计 算机相比,嵌入式微处理器具有体积小、重量轻、成本低和可靠性高的优点,但是在电路 板上必须包括r o m 、r a m 、总线接口和各种外设等器件。 目前,主要的嵌入式微处理器有p o w e rp c 、m i p s 、x s c a l e 、a r m 系列等。 2 嵌入式微控制器( m ic r o c o n t r 0 1l e ru n it 。m c u ) 嵌入式微控制器的典型代表是单片机。单片机集成了各种必要的功能,适用于控制领 域,故被称为微控制器。与e m p u 处理器相比,m c u 最大特点是单片化,体积大大减小,从 第4 页武汉科技大学硕士学位论文 而减小了功耗和成本,提高了可靠性。目前,m p u 是嵌入式系统工业的主流。 3 嵌入式d s p 处理器( e m b e d d e dd i g i t a ls i g n a lp r o c e s s o r ,e d s p ) d s p 处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了 特殊设计,具有很高的编译效率和指令的执行速度。在数字滤波、f f t 、谱分析等各种仪 器上d s p 获得了大规模的应用。 目前,应用最为广泛的是t i 的t m s 3 2 0 c 2 0 0 0 c 5 0 0 0 系列,另外如i n t e l 的m c s 一2 9 6 和s i e m e n s 的t r i c o r e 也有各自的应用范围。 4 嵌入式片上系统( s y s t e mo nc h i p ) s o c 最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代 码模块。而且s o c 具有极高的综合性,在一个硅片内部运用v h d l 等硬件描述语言,实现 一个复杂的系统。用户不需要再像传统的系统设计一样,绘制庞大复杂的电路板,一点点 的连接焊制,只需要使用精确的语言,综合时序设计直接在器件库中调用各种通用处理器 的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。由于绝大部分系统构件都 是在系统内部,整个系统就特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的 武汉科技大学硕士学位论文第5 页 开发项目是很有吸引力的。l i n u x 采用一个统一的框架对硬件进行管理,同时对一个 硬件平台到另一个硬件平台的改动与上层应用无关。从现状来看,在所有的操作系统 当中,l i n u x 是一个发展最快、应用最为广泛的操作系统。 2u c o s u c o s 是一个典型的实时操作系统。u c o s 的源码公开,代码结构清晰,注释详 尽,可移植性好,而且可裁剪,可固化。系统短小精悍,是研究和学习实时操作系统 的首选。 3w i n d o w sc e w i n d o w sc e 是微软的产品,从整体上是为资源有限的平台设计的多线程、多任 务的操作系统。w i n d o w sc e 采用模块化设计,基本内核需要至少2 0 0 k b 的r o m 。这款 操作系统是微软面对嵌入式操作系统日益盛行,不得不应对来自l i n u x 等免费系统的 冲击而开发的操作系统。 4v x w o r k s v x w o r k s 是w i n d r i v e r 公司专门为实时嵌入式系统设计开发的操作系统软件,为 程序员提供高效的实时任务调度、中断管理,实时的系统资源以及实时的任务间通信。 应用程序员可以将尽可能多的精力放在应用程序本身,而不必去关心系统资源的管 理。该系统主要应用在单板机、网络和通信等方面。 2 2 嵌入式l i n u x 系统开发 2 2 1 嵌入式l i n u x 介绍 嵌入式l i n u x 开发需基于目标平台上构建一个l i n u x 系统。嵌入式l i n u x 系统主要包 含b o o t l o a d e r ,内核和文件系统3 部分。对于嵌入式l i n u x 系统而言,这三个部分是缺一 不可的。 通俗地讲,嵌入式l i n u x 就是根据所要开发系统的功能要求,而制定得合适l i n u x 操 作系统。l i n u x 的好处在于可以定制。因为l i n u x 是可裁剪的,所以可以根据需要添加或 删除相应的功能模块。例如,在智能家居系统中,可以根据客户需要增减模块。如果用户 希望智能家居能支持蓝牙传输功能,则开发人员只需要将蓝牙设备的驱动加载或编译进内 核,系统就可以支持蓝牙设备了。相反,如何从系统删掉此功能,则只需卸载驱动即可。 2 2 2 开发流程 在开始个嵌入式l i n u x 系统项目之前,设计者需要仔细考虑很多问题,这些问题将 影响整个系统的性价比。 首先,应该进行需求分析,分析系统的工作原理,再选择相应的硬件参考平台,然后 第6 页武汉科技大学硕士学位论文 选择合适的操作系统和软件工具。一般在搭建好硬件平台后,首先需要选择嵌入式l i n u x 发行版。商业发行版是作为产品开发的基本模型,经过严格的测试验证,得到厂家的技术 支持。并且为开发者提供了可靠的软件和完整的开发工具包。一般,整个开发流程如图2 1 所示。 系统硬件设计 搭建系统软件平台 应用程序开发 2 1 系统开发流程图 武汉科技大学硕士学位论文第7 页 3 1 系统的硬件结构 第三章智能家居系统的硬件设计 本系统的设计宗旨是建立一个嵌入式智能家居开发平台。在此平台上,设计者可以很 方便且轻松地进行功能的删减。为了达成此目的,首先需要挑选一款合适的c p u 作为主控 芯片,并进行基本的外围接口设计,以便进行调试和扩展。在完成硬件电路设计之后,还 需要选择所需移植的操作系统类别。显然,嵌入式操作系统更适合本系统的设计宗旨。在 搭建完成整个嵌入式开发平台之后,主要工作是完成相关功能模块的实现。在系统设计的 整个过程中,除了要注意系统的整体性能,还需要考虑到系统的开发成本。 本系统采用基于i n t e lx s c a l e 架构最新的p x a 2 7 0 嵌入式微处理器,该芯片本身集成了 包括存储器接口、通信接口( u s b ,r s2 3 2 ) ,a d ,j t a g 等在内的丰富的硬件资源,可简化 外围设备与微处理器的硬件连接程度,提高系统的稳定性、可靠性。根据系统的需求,本 系统的硬件结构如图3 1 所示。 电源管理系统b 。e g p r s 模块 复位电路b 苦= 纠l c 。显示器 s 。黜蛳b 。p x a 2 7 0 牟剖 触摸屏 h 障 e 纠 网卡 j t a g 和u a r t b 。 刮 u s b 加 图3 1 智能家居系统硬件结构图 另外,由于p x a 2 7 0 的存储控制器提供了外部存储器访问所需要的控制信号,用户只需 要选择合适的外部f l a s h 和s d r a m 与其相连,即可实现系统的存储功能。本系统选用s a m s u ng 公司的具有5 1 2 m b 容量的k 9 f 1 2 0 8 作为系统外部的n a n df l a s h 存储器,用于存放程序代码、 常量表以及一些在系统掉电后需要保存的用户数据等h 】。 由于p x a 2 7 0 本身没有集成以太网控制模块,所以需要一个与之相匹配的控制芯片来实 现以太网扩展接口。在本系统中,网络控制器选用d a v i c o m 公司的d m 9 0 0 0 快速以太网控 第8 页武汉科技大学硕士学位论文 制处理器。该处理器配备有标准i o m i o o m 自适应,1 6 k 大容量的f i f o ,4 路多功能g p i o , 全双工工作等功能。d m 9 0 0 0 还集成有接收缓冲区,以便在接收到数据时能把数据放在此缓 冲区中,然后由数据链路层直接从该缓冲区里取走数据。链路层通常包括操作系统中的设 备驱动程序和计算机中对应的网络接口卡,它的缓冲区可用来暂时存储要发送或接收的 帧。 3 2g p r s 功能模块的设计 3 2 1g p r s 技术简介 g p r s ( g e n e r a lp a c k e tr a d i os e r v i c e ) ,即通用分组无线业务,以分组交换技术为 基础。采用i p 数据网络协议,使现有g s m 网的数据业务突破最高速率9 1 6k b s 的限制, 最高数据速率可达1 7 11 2k b s 。g p r s 具有永远在线、高速传输、按流量计费、减少无线 资源浪费及通信成本低等优点。 3 2 2g p r s 模块介绍 本系统采用型号为s i m 3 0 0 一e 的g p r s 模块。这款g p r s 模块是s i m c o m 公司推出的 g s m g p r s 双频模块,其只要功能为语音传输、短消息和数据业务提供无线接口。s i m 3 0 0 集成了完整的射频电路和g s m 的基带处理器,适合于开发一些g s m g p r s 的无线应用产品, 如移动电话、p c m c i a 无线m o d e m 卡、无线p o s 机、无线抄表系统以及无线数据传输业务, 应用范围十分广泛。 s i m 3 0 0 模块提供标准的r s 一2 3 2 串行接口,用户可以通过串行口使用a t 命令完成对模 块的操作。串行口支持以下通信速率: 3 0 0 ,1 2 0 0 ,2 4 0 0 ,4 8 0 0 ,9 6 0 0 ,1 9 2 0 0 ,3 8 4 0 0 ,5 7 6 0 0 ,1 1 5 2 0 0 ( 起始默认) 当模块上电启动后,用户才可以和模块进行通信,用户可使用模块默认通信速率 l1 5 2 0 0 与模块通信,并可通过a t + i p r = 命令自由切换至其它通信速率。在应用设计 中,当m c u 需要通过串口与模块进行通讯时,可以只用三个引脚:t x d ,r x d 和g n d 。其他 引脚悬空,建议r t s 和d t r 置低。该模块采用m a x 3 2 3 2 芯片完成g p r s 模块的t t l 电平到 r s 2 3 2 电平的转换,以便和智能家居平台的r s 2 3 2 串口连接。 g p r s 模块的射频部分支持g s m 9 0 0 d c s l 8 0 0 双频,为了尽量减少射频信号在射频连接 线上的损耗,必须谨慎选择射频连线。应采用g s m 9 0 0 d c s l 8 0 0 双频段天线,天线应满足 阻抗5 0 欧姆和收发驻波比小于2 的要求。为了避免过大的射频功率导致g p r s 模块的损坏, 在模块上电前请确保天线已正确连接1 。 模块支持外部s i m 卡,可以直接与3 o vs i m 卡或者1 8 vs i m 卡连接。模块自动监测 和适应s i m 卡类型。对用户来说,g p r s 模块实现的就是一个移动电话的基本功能,该模块 正常的工作是需要电信网络支持的,需要配备一个可用的s i m 卡,在网络服务计费方面和 武汉科技大学硕士学位论文第9 页 普通手机类似吲。 通过在智能家居中使用g p r s 功能模块,可以实现家居安防报警。此功能可通过燃气警 报模块和入侵警报模块实现。用户的家居一旦出现有人强行入侵、燃气泄漏等险情时,系 统可以迅速地向用户、小区防卫以及消防等安全职能部门发送警报信号,并且可以向预先 设定好的几组电话号码发送警报信号,警报信号以手机短消息的形式发送。另外,用户也 可发送短消息访问家居控制器,再由家居控制器读取短消息调用指令发送给家电控制模 块,家电控制模块再根据指令遥控家用电器。不过这些功能的完全实现还必须依靠相关模 块的辅助和支持。 3 3 视频监控模块的设计 在本智能家居系统中,远程监控功能实现的基本设计思想是利用u s b 网络摄像头采集 视频数据后,实时显示在l c d 上,并能通过网络访问固定i p 地址查看视频监控。 通过视频监控,家居状况可实时远程监控。系统利用安装的摄像头完成对家居相关状 况的图像采集,当用户通过手机发送预先设定的短消息指令访问家居控制器,家居控制器 执行相应的指令控制摄像头进行家居状况的图像采集,然后将采集的家居状况反馈给用 户,用户就可以很清楚的了解家居当前的状况,从而实现家居状况的实时监测n 1 。 第1 0 页武汉科技大学硕士学位论文 第四章智能家居系统软件环境搭建 从事基于a r m 的嵌入式l i n u x 系统开发,通常会采用硬件设计和软件系统设计同步进 行的方式。在p c b 板完成之后,首先要做的工作就是将b o o t l o a d e r 、l i n u x 内核、文件系 统移植到板子上。下面将着重介绍各部分的移植。 4 1b o o t l o a d e r 的移植 b o o t l o a d e r 移植是嵌入式系统软件开发的第一个环节,也是嵌入式系统开发过程中的 第一个难点。应用程序运行环境能否正确构建,内核能否成功启动,都取决于b o o t l o a d e r 是否可以正确运行。 4 1 1b o o t l o a d e r 介绍 b o o t l o a d e r 是系统加电后运行的第一段代码,也是操作系统启动之前执行的一段小程 序。b o o t l o a d e r 要完成的主要工作是初始化硬件设备,建立内存空间的映射表,建立适当 的系统软硬件环境,为最终调用操作系统内核做好准备。 b o o t l o a d e r 引导系统启动的功能是基于具体的硬件平台实现的。对于嵌入式系统而 言,采用不同的处理器架构就有不同的b o o t l o a d e r ,甚至对于同一款处理器,不同平台的 b o o t l o a d e r 也需要对硬件的不同做相应修改,比如处理器是否有m m u 等。但是大部分 b o o t l o a d e r 具有很多相似之处,比如c p u 状态的初始化、内存接口的初始化、内存地址的 分配、系统设备的挂载等。 b o o t l o a d e r 大多包含两种操作模式,即启动加载和下载模式。启动加载模式也称为“自 主”模式。具体地讲,b o o t l o a d e r 从目标板上的某个固态存储设备上将操作系统加载到 r a m 中运行,整个过程并没有用户的介入。这种模式是b o o t l o a d e r 的正常工作模式。在嵌 入式产品发布时,b o o t l o a d e r 必须工作在启动加载模式。而下载模式是指通过串口或者网 络等方式从主机下载文件到目标板上,比如下载内核映像和根文件系统映像等文件。这些 下载的文件通常先被b o o t l o a d e r 保存在目标板的r a m 中,然后再被b o o t l o a d e r 写到目标 板上的f l a s h 中。通常,这种模式在第一次安装系统或更新系统时使用。而且此模式只对 开发人员有意义瞪儿驯。 在开发时,使用最多的就是下载模式。此时,一般会将串口作为控制台。将调试信息 输出到串口控制台,并且可以使用串口发送控制命令。但是由于串口的传输速率比较低, 所以在传输文件时,一般不使用串口,而是使用网口。本系统配置了i o m i o o m 的网卡 d m 9 0 0 0 a 。b o o t l o a d e r 利用网口下载文件一般使用t f t p 网络协议,还可以通过d h c p 的方 武汉科技大学硕士学位论文第1 1 页 式动态配置i p 地址。t f t p 服务提供文件下载功能,把内核映像文件和其他文件放在p c 机 的t f t p b o o t 目录下。这样b o o t l o a d e r 可以通过简单的t f t p 协议远程下载内核映像或文 件映像到内存中。然后,再将内存中的文件写到f l a s h 中进行固化。并设置b o o t l o a d e r 的自动启动参数,再重新启动,此时系统就会自动加载内核并启动。这也是产品在出厂时 所要求的。b o o t l o a d e r 的启动方式有网络启动、磁盘启动和f l a s h 启动。n o rf l a s h 可以 随机访问,所以代码是可以直接在f l a s h 上执行的。b o o t l o a d e r 一般是存储在f l a s h 芯片 上。另外,内核映像和文件系统映像也可以存储在f l a s h 上。通常,在使用的过程中会 将f l a s h 分为4 个区,每个区的大小应该是f l a s h 檫除块大小的整数倍。这四个分区分 别是u - b o o t 区、内核区、文件系统区和应用区呻驰。 4 1 2u - b o o t 移植 在本系统中,采用了通用性很强的u - b o o t 作为b o o t l o a d e r 。u - b o o t 作为功能最多、 灵活性最强并且开发最积极的开放源码b o o t l o a d e r ,可以很方便地移植到目标平台。现在 u - b o o t 已经可以同时支持x 8 6 、p o w e r p c 、a r m 和m i p s 等体系结构。 u - b o o t 的移植主要需要修改的地方一般有一下几点: ( 1 ) c p u 的初始化,包括c p u 的工作频率、模块的初始化、大d , 端配置、数据和指 令的初始化等; ( 2 ) s d r a m 和f l a s h 的参数设置,以及f l a s h 的驱动程序; ( 3 ) 常用接口的初始化,例如串口、网卡、l c d 显示接口; ( 4 ) 启动参数的修改,主要是一些地址参数需要根据实际硬件情况进行相应修改; ( 5 ) m a k e f i l e 的修改; 下面,将会具体讲解u - b o o t 的结构和移植方法。 一u b o o t 的目录结构 在移植u b o o t 之前,有必要先阅读u b o o t 目录下的r e a d e m e 文件。此文件介绍了u - b o o t 的目录结构,以及文件存放的规则。 对于a r m 而言,主要的目录如下表4 1 : 表4 1u - b o o t 源码顶层目录说明 目录特性 解释说明 b o a r d 平台依赖存放电路板相关的目录文件,每一套平台对应一个目录 c p u平台依赖存放c p u 相关的目录文件,每一款c p u 对应一个目录,例如: a r m 9 2 0 t 、x s c a l e 、i 3 8 6 等目录 1 i ba r m平台依赖 存放对a r m 体系结构通用的文件,主要用于实现a r m 平台通用 的函数,如软件浮点。 c 0 咖0 n 通用通用的多功能函数实现,如环境,命令,控制台相关的函数实 现。 第1 2 页武汉科技大学硕士学位论文 i n c l u d e 通用头文件和开发板配置文件,所有开发板的配置文件都在c o n f i g s 目录下 l i b g e n e r i c通用通用库函数的实现 n e t 通用存放网络协议的程序 f s 通用存放文件系统的程序 d r i v e r s 通用通用的设备驱动程序,主要有以太网接口的驱动,n a n d 驱动。 t o o l s 通用存放制作u - b o o t 的映像文件等工具,录入m k i m a g e d o c 通用开发使用文档 二u - b o o t 移植操作 l 、获取u b o o t 源代码 u - b o o t 的源代码可以从至主乜;么么主乜:亟金翌墨:鱼旦么乜婪坠么坠二坠q q 主如二坠q q 主二! :墨:星:主丛:垒圣星上 面下载,得到u - b o o t - 1 3 2 t a r b z 2 后,运行如下命令解压: c d h o m e p x a 2 7 0 t a rj x v fu b o o t 一1 3 2 t a r b z 2 此时,在当前目录下就包含了我们所需要的源码u - b o o t - 1 3 2 ,以后的所有操作, 如无特别说明,都是在u b o o t - 1 3 2 这个目录下进行的。 2 、添加新的目标板的定义 1 ) 在b o a r d 目录下建立目标板目录 b o a r d 目录下包含了u - b o o t 支持的目标板的目录。为了使u b o o t 支持我们的开发板, 需要单独创建一个开发板的目录,并选择u - b o o t 本身支持的且与我们的开发板近似的开 发板进行修改。本系统选择a d s v i x 开发板,它也是基于p x a 2 7 0 芯片的开发板,具体操作 步骤如下: m k d i rb o a r d h o m e 2 7 0 c pb o a r d a d s vix 术 b o a r d h o m e 2 7 0 在此新建开发板的目录为h o m e 2 7 0 。目录中的文件是由a d s v i x 目录复制来的,所以 来需要根据目标板的实际情况对相应文件进行修改。 2 ) 建立开发板配置头文件 和目标板一样,u - b o o t 中还必须有一个和目标板对应的头文件。我们还是在a d s v i x 开发板头文件的基础上进行修改: c pi n c l u d e c o n f i g s a d s v i x hi n c l u d e c o n f i g s h o m e 2 7 0 h 必须注意,配置头文件的名字和b o a r d 目录下目标板的目录名字是一致的。 3 ) 修改m a k e f i l e 包括两个m a k e f i l e ,第一个是新建的b o a r d h o m e 2 7 0 下的,另一个就是顶层m a k e f i l e 。 先修改b o a r d h o m e 2 7 0 目录下的m a k e f i l e ,操作如下: c db o a r d h o m e 2 7 0 a d s v i x cb o a r d h o m e 2 7 0 h o m e 2 7 0 c 武汉科技大学硕士学位论文第1 3 页 v ib o a r d h o m e 2 7 0 m a k e f il e 即先将b o a r d h o m e 2 7 0 目录下的a d s v i x c 改名为h o m e 2 7 0 c ,然后编辑该目录下的 m a k e f i l e 。m a k e f i l e 中将c o b j s := a d s v i x 0p c m c i a 0 修改为c o b j s:= h o m e 2 7 0 0 p c m c i a 0 ,不然编译的时候会出错。 然后修改顶层m a k e f il e ,执行命令v im a k e f il e ,添加如下内容: h o m e 2 7 0 一c o n f i g : u n c o n f i g $ ( m k c o n f i g ) $ ( :_ c o n f ig = ) a r mp x ah o m e 2 7 0 至此,我们已经完成了添加新的目标板的工作。 2 、修改配置头文件 在添加新的目标板时,我们在i n c l u d e c o n f i g s 目录下新建了一个h o m e 2 7 0 h 文件, 这个文件就是我们目标板的配置头文件。下面对这个文件中的重要部分进行讲解,详细情 况可以查看其注释。 # d e f i n ec o n f i gp x a 2 7 x1木目标板基于p x a 2 7 xc p u木 # d e f i n ec o n f i gh o m e 2 7 01 木我们的开发板的配置木 上面定义了我们的目标板基于p x a 2 7 x 的c p u ,并说明了我们的开发板命名是h o m e 2 7 0 。 一 # d e f i n ec o n f i g _ f f u a r tl # d e f in ec o n f i g b a u d r a t e115 2 0 0 上面的定义说明我们使用p x a 2 7 0 的f f u a r t 作为我们的控制终端,f f u a r t 的波特率使用 1 1 5 2 0 0 。 # d e f in ec o n f i gc m df a to # d e f i n ec o n f i g _ c m d i d e # d e f i n ec o n f i g c m d m m c # d e f in ec o n f i g c m d p c m c i a # d e f in ec o n f i g _ c m d _ n e t # d e f in ec o n f i g _ c m d p i n g # d e f i n ec o n f i g c m d f l a s h 上面定义了我们的目标板要支持的命令。比如我们要使目标板支持p i n g 命令,就在上面 添加了c o n f i g c m d _ p i n g 的定义。如果用户想要添加新的命令,也必须这样定义。需要注 意的是我们注释掉了c o n f i g _ c m di d e ,因为一般来说在b o o t l o a d e r 中我们不需要支持 i d e 。并且,如果不注释掉这个定义的话,编译的时候会出错。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中华绒毛蟹(大闸蟹)创新创业项目商业计划书
- 押题宝典教师招聘之《幼儿教师招聘》考试题库附参考答案详解【巩固】
- 2025年教师招聘之《小学教师招聘》题库高频难、易错点100题模拟试题(典优)附答案详解
- 2025呼伦贝尔农垦集团有限公司社会招聘50人备考及答案详解(有一套)
- 2025内蒙古事业单位招聘报考指南笔试备考完整参考答案详解
- 押题宝典教师招聘之《幼儿教师招聘》通关考试题库含答案详解【综合卷】
- 教师招聘之《小学教师招聘》通关模拟题库带答案详解(考试直接用)
- 教师招聘之《小学教师招聘》试卷及参考答案详解【预热题】
- 2025年江西省农村商业银行招聘考试(经济金融)历年参考题库含答案详解
- 2025年北京银行长沙分行社会招聘笔试参考题库附答案解析
- 校园五清三提方案
- 高龄患者PICC导管静脉血栓形成的个案分享课件
- 国有企业采购管理规范 T/CFLP 0027-2020
- 国企纪检干部业务知识竞赛题库及参考答案(2套)
- 《混凝土结构房屋裂缝检测技术规程》
- 200个句子涵盖高中英语3500词汇
- 二手车产品目录
- 医学影像学课件
- 护坡工程竣工汇报
- 地下水污染的控制与修复课件
- 设备设施管理培训课件
评论
0/150
提交评论