(通信与信息系统专业论文)基于linux26内核的嵌入式远程监控系统设计.pdf_第1页
(通信与信息系统专业论文)基于linux26内核的嵌入式远程监控系统设计.pdf_第2页
(通信与信息系统专业论文)基于linux26内核的嵌入式远程监控系统设计.pdf_第3页
(通信与信息系统专业论文)基于linux26内核的嵌入式远程监控系统设计.pdf_第4页
(通信与信息系统专业论文)基于linux26内核的嵌入式远程监控系统设计.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(通信与信息系统专业论文)基于linux26内核的嵌入式远程监控系统设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 基于嵌入式网络技术的视频监控系统具有易用性、灵活性等特点和完善的 远程监控功能。工程技术人员、管理人员或调试人员不用亲临现场,通过网络就 可以得到远程设备的数据,完成控制、校准等工作。因此,近年来嵌入式网络 在监控领域的应用越来越多。通常远程监控系统是在服务端采集视频数据并通 过网络上传,在控制端接收视频数据并向服务端发送命令,以实现远程监控功 能。显然,实现远程视频监控的关键是能够通过网络传输监控数据,面嵌入式技 术正是完成该任务的较好选择。 论文介绍了面向便携式仪器的嵌入式网络监控系统,给出了系统静硬件和 软件总体设计方案,对基于a r m 9 的嵌入式l i n u x 操作系统进行了分析,完成 了b o o t l o a d c r 的设计、l i n u x 2 6 内核的移橇、根文件系统和嵌入式g u i 环境的 构建等任务。论文对u s b 视频采集的原理和v 4 l ( v i d e 0 4 l i n u x ) 标准进行了深 入的研究,实现了稳定的u s b 视频采集,开发了服务端s c r v f o x 发送软件和控制 端s p c a v i c w 软件。考虑到控制端计算机可能采用l i n u x 操作系统,也可能采用 w i n d o w s 操作系统,所以开发了两种控制端软件,分别应用于这两种操作系统。 其中s p c a v i e w 具有监控、存盘和存取视频数据等功能,实现了基于a r m 9 平台 的嵌入式l i n u x 的视频流在网络上的传输。同时,移植了k o n q u e r o r 浏览器和 b o a 服务器,为网络方面的后续开发作了准备。论文的最后提出了对课题进一 步研究的改进意见。 关键词:u s b 视频采集a r m 9k o n q u e m r 浏览器远程监控 a b s t r a c t n e ws u r v e i l l a n c es y s t e mt e c h n o l o g yw i l lb r i n gb e t t e ra c c e s s i b i l i t y , g r e a t e r f l e x i b i l i t ya n dr e m o t em o n i t o r i n gf u n c t i o n e n g i n e e r i n ga n dt e c h n i c a ls t a f f , m a n a g e r s o rd e b u g g i n gt h r o u g ht h ew e bi n s t e a do fi np e r s o na tt h es c e n ec a nb er e m o t ed a t a , m o n i t o r i n ga n dc o n t r o le q u i p m e n t 私w e l la sc o n t r o l ,c a l i b r a t i o n ,a n ds oo n 。b a s e do n t h en e t w o r km o n i t o r i n gs y s t e mi sak e ye m b e d d e dd e v i c e s 。s e r v e rs h o u l db ea b l et o c a p t u r ev i d e od a t at r a n s m i s s i o nt h r o u g ht h en e t w o r ka n dc l i e n tt oa c h i e v ea c c e p t a b l e v i d e oa n dd a t at oc o m m a n d ss e n tt ot h es 钮 v e r , r e m o t ec o n t r o lf e a t u r e s t h i sp a p e ri sb a s e do nt h ea p p l i c a t i o nr e q u i r e m e n t s ,d e s i g na n dd e v e l o p m e n to fa n e t w o r kv i d e om o n i t o r i n gs y s t e mf o rp o r t a b l ee q u i p m e n t t h i sp a p e rg i v e st h es y s t e m h a r d w a r ea n ds o f t w a r ed e s i g np r o g r a m ,a n a l y s i s i n gb a s e do na r m 9e m b e d d e dl i n u x s y s t e m , d e s i g na n di m p l e m e n t a t i o no fb o o t l o a d e r , t r a n s p l a n t e dt h el i n u x2 6k e r n e l , c o n s t r u c t i o no ft h er o o t s y s t e ma n de m b e d d e dg u i e n v i r o n m e n t 。t h r o u g hu s bv i d e o c a p t u r e o ft h e p r i n c i p l e s a n ds t a n d a r d so ft h e v 4 l ( v i d e 0 4 1 i n u x ) s t u d y d e e p l y , a c h i e v i n gas t a b l eu s bv i d e oc a p t u r e ,d e v e l o p i n g t h i ss e r v f o xo fs e r v e r s o f t w a r ea n dt h es p c a v i e wo fc l i e n ts o f t w a r e t a k i n gi n t oa c c o u n tt h ec l i e n tm a yb e l i n u xo rw i n d o w so p e r a t i n gs y s t e m , d e v e l o p i n gt h ec l i e n ts o f t w a r ef o rt w ok i n d so f s p c a v i e w ,o n eu s e si nt h el i n u xs y s t e m , a n o t h e rd e v e l o p m e n tw i t ht h eu s eo fv i s u a l 。0a n dw i n d o w ss y s t e m s 。s p c a v i e wc a nc o n t r o l ,s t o r a g ea n d g r a b b i n gp i c t u r e s i t r a n s p l a n t e d 协ek o n q u e r o rb r o w s e ra n ds e r v e rb o a , c o n v e n i e n c eo ft h er e m o t ec o n t r o l s y s t e ma n do t h e rc o n t r o ln e t w o r k sf o rt h ef o l l o w u pa n dm a d ep r e p a r a t i o n s f i n a l l y , t h i sp a p e rp r e s e n t sal o to fo p i n i o n s 。 k e yw o r d s :u s bv i d e oc a p t u r e , a r m 9 , k o n q u e r o rb r o w s e r , r e m o t em o n i t o r i n g 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得鑫生盘堂或其他教育机构的学位或证 书而使用过的材料。与一同工作的同志对本研究所做的任何贡献均己在论文中作 了明确的说明并表示了谢意。 学位论文作者签名:杰霉窭 签字日期:哆 年6 月馏日 学位论文版权使用授权书 本学位论文作者完全了解苤鲞太堂有关保留、使用学位论文的规定。 特授权丕鲞盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:三军岔 签字日期: 叫年 6 月厂夕日 孝:参k 彳 签字日期:粕声多月,罗日 第一章绪论 1 1 嵌入式l i n u x 的发展 第一章绪论 近年来,随着计算技术、通信技术的飞速发展,特别是互联网的迅速普及, 智能化、微型化和专业网络化成为i t 产品发展的新趋势。为满足上述要求,各 种处理器成为i t 产是的关键器件。其中,嵌入式系统以其低成本、实时性、低 功耗、可兼顾信号处理与控制等优点,得到快速发展,被广泛应用予制造业、通 讯、仪表、汽车、军事和消费类电子产品等领域。强前嵌入式系统带来的王业年 产值己经超过了1 万亿美元,嵌入式系统需要的c p u 每年大概有1 0 - 2 0 亿片,嵌 入式系统广泛的应用前景和发展潜力使其成为当今研究与应用热点之一。 嵌入式操作系统是嵌入式系统的核心,豳前常用的嵌入式搡作系统主要 有:v x w o r k s 、嵌入式l i n u x 、w i n d o w sc e 等,其中开放源代码的嵌入式l i n u x 是应用最广泛的嵌入式操作系统之一。国外开展嵌入式l i n u x 应用的研究较 早,成果较多。例如,韩困三星公司己经率先推出了采用嵌入式l i n u x 的掌上 计算机概念样机,两美国网虎公司则推出了精简版嵌入式l i n u x 系统x l i n u x 。在 国内也有多家公司开展相关研究,如广州优龙公司研发的嵌入式l i n u x 操作系 统可适应个人p d a 、手机、机顶盒等智能信息产品。中软总公司推出的嵌入式 l i n u x 3 0 不仅满足了数控机床的需求,同时也可以应用于其他工业控制领域。 另外还有华恒公司推出的嵌入式平台产品和红旗l i n u x 等。可见,无论国内 外,嵌入式l i n u x 的研究都属于热点领域,而且对其本身的应用已经取得了可 观的经济效益。 1 1 1 嵌入式l i n u x 系统的优势 由于嵌入式l i n u x 具有天生秉承的优势,越来越多的企业和科研机构已经把 目光转向了嵌入式l i n u x 的开发和应用研究上。归纳而言,嵌入式l i n u x 至少具 有以下九点优势: , 1 ) 开放的源码,丰富的软件资源。l i n u x 是自由的操作系统,它的开放源码使 用户获褥了最大的自由度。相关网站、论坛上的软件资源十分丰富,很多通 用程序在l i n u x 网站上都可以找到。 2 ) 功能强大的内核,性能高效、稳定,可多任务处理。l i n u x 的内核非常稳定, 第一搴绪论 它麴高效和稳定性已经在备个领域,尤其在网络服务器领域,褥到了事实的 验证。l i n u x 内核小巧灵溪,易予裁减,适合予嵌入式系统鲍应用。 3 ) 支持多种体系结构,如x 8 6 、a r m 、m i p s 、a l p h a 、s p a r c 等。目前,l i n u x 已 经被移植到数十种硬件平螽上,凡乎支持所有流行的c p u 。 莲) 完善的网络通讯、葱形、文件管理枫铡。l i n u x 皇产生之嚣起就与隧络密不 可分,阚络是l i n u x 的强项。另外,l i n u x 还支持多种文件和图形系统。 5 ) 支持大量的周边硬件设备。l i n u x 上的驱动已经非常丰富了,它们支持各种 主流硬件设备和最薪硬件技术。 。 6 ) 大小、功能都可定制。l i n u x 秉承u n i x 的优秀设计思想,葛瑟常灵活,备部分 的可定制性都很强。 7 良好鲶开发环境,不辑发展的开发王其集。l i n u x 宥着j 基常优秀的完整开发 工具链,鸯十凡秘集成开发环境,其中很多是免费的,太大降低了开发费用。 8 ) 软件开发者的广泛支持。l i n u x 的自盘精神吸簪| 了成予上万的程序员投入到 l i n u x 的开发和测试中来,这使褥l i n u x 在短时闻内就成为一个功能强大髂 操律系统。 9 ) 价格低廉。有效降低产品成本,对成本敏感的嵌入式系统来说至关重要, l i n u x 恰好具有这一特性。 由此,有理毒相信,在蚕态矫众多l i n u x 厂商的推动下,嵌入式l i n u x 一定 会成为i n t e r a c t 时代嵌入式操作系统中的生力军。 l 。l 。2 嵌入式技术在工业监控系统和便携式仪器设备中的应蔫 实时性强、功耗低、可靠性高、网络化、良簿的久机舞面等成为誉前工控领 域的新要求。传统的以单片机为核心的控制系统,虽然可以满足功耗低、可靠性 高、体积小等要求。但一般数据处理能力比较差。同时,单片机在网络方面也有 缀大的弱羧性,组溯麓力差,常常孤立予i n t e r n e t 网络之鲼。工业监控系统为 了借助i n t e r n e t 网实现网络化,常鬻嚣要通过工控枧转接,以实现与工业控制 网、总线技术以及i n t e r n e t 网络进行连接。但工控机融会各种通讯协议的能力 并不出色,因为这样会导致体积增大、成本增加。 霉蓠,以阚络为基础的数字监控系统是视频监控系统发展的主流。其中,基 于嵌入式w e b 的网络视频监控系统逐渐得到了人们的广泛关注。其工作原理是: 嵌入式视频服务端内置嵌入式w e b 服务器,摄像机传送过来的视频信号经高效压 缩蕊片压缩屠,通过惠都总线传送戮连置静w e b 服务器。臻户在控制端可以直接 通过浏览器观看w e b 服务器上的视频图像。当然,该方法需要增加硬件复杂程度, 也对f l a s h 的容量提逝了更高的要求。通常是在嵌入式终端增加m p e g 4 编码芯片, 2 第一章绪论 终端设备仅上传压缩后的数据。 而本文设计的基于便携式设备的监控系统,是在不增加m p e g 4 芯片的基础 上,依靠a r m 9 本身的性能( 对所采集图像的编解码都在h r l d 9 嵌入式系统内完成) , 结含w e b 服务器、视频监控客户端和服务端软件的优点,并且把浏览器控制视频 的方法号| 入远程控制系统,实现了远程监控的蜀的。本系统能远程监控图像、仪 器仪表变化,以及操作服务端的仪器设备等。还可以应用于事故鉴定、车辆防盗、 安全监控等领域。 1 2 课题的背景 课题来源于天津市德力电子仪器公司便携式测量仪器项尽,成果可以广泛的 应用于其他网络视频监控领域。新的监控系统技术将带来更好的易用性、更高 的灵活性和远程监控的功能。工程技术人员、管理人员或调试人员通过远程控 制端而不用亲临现场就可以得到远程数据。论文根据项西的需求和嵌入式视频 监控系统的发展趋势,确定了设计方案,即将嵌入式系统作为便携式设备的控制 系统模块,采用d s p 构成信号处理模块( d s p 模块是为仪器设备处理其他信号而 预留出来的) 。系统软件主要有两部分:系统构建模块和软件监控模块。系统构 建模块包括u 。b o o t 的移植、l i n u x 2 6 内核的移植及相关驱动程序的移植和开发 ( 包括网卡、l c d 显示屏、u s b 系列设备如u 盘和打印机等) 、根文件系统的 构建和q t 图形用户接踞的移植。软件监控模块包括u s b 视频采集模块、l c d 显示模块、服务端程序模块、控制端模块和网络模块。控制端可以p c 机为主, 也可采用另外一台a r m 架构的设备为主,通过浏览器来监控与操控服务端。网 络模块主要完成两部分功能:在a r m 系统上移植k o n q u e r o r 浏览器,然后通过 浏览器上网,为开发更多的网络设备作准备;另外,通过k o n q u e r o r 来连接其他 仪器,可以监控其他仪器的工作,还可以控制打印机,实现远程升级等。 l 。3 主要工作 该课题的主要工作是面向便携式仪器的嵌入式系统设计和软件开发。在广 泛了解嵌入式监控领域的发展现状和趋势的基础上,结合嵌入式系统和嵌入式 l i n u x 技术,设计了远程监控系统的软硬件解决方案。其中,软件部分完成了 1 i n u x 2 6 内核的移植;i j s b 接口芯片、l c d 等器件驱动程序的编写;编写了服务 端和控制端的应用程序。具体安排章节为:第一章主要是介绍了本课题的背景; 第= 章主要设计了嵌入式硬件架构;第三章主要是构建嵌入式1 i n u x 系统,包括 3 第一章绪论 b o o t l o a d e r 移植、l i n u x 2 6 1 4 内核的移植和根文件系统的构建;第四章主要是 嵌入式l i n u x 驱动的介绍和相关驱动的开发,包括l c d 驱动改写、u s b 系列驱动 编写( 如打印机和u 盘) 和a d 驱动程序来控制电源供电系统的应用;第五章主 要是q 乞图形用户接豳的移植和嵌入式视频监控模块的编写,嵌入式视频监控模 块包括u s b 视频采集模块、l c d 显示模块、服务端模块、控制端模块和网络模 块,其中网络模块主要是k o n q u e r o r 浏览器的移植和b o a 服务器的移檬;第六章 主要是对本论文工作的总结和改进意见。 | 毒 第二章嵌入式硬件设计和s 3 c 2 4 1 0 介绍 第= 章嵌入式硬件设计和$ 3 c 2 4 10 介绍 2 1 嵌入式硬件的总体设计 嵌入式远程视频监控系统包括服务端和控制端两部分。控制端主要是基于 w i n d o w s 和l i n u x 操作系统熬p c 橇端,主要翅于接收服务端的视频和发送控裁 命令给服务端。派务端主要是指以s 3 c 2 4 l o 芯片为核心的嵌入式硬件系统。服 务端主要功能是采集规频监控图像,或仪器运行状态傣息,然后通过网络发送给 控制穗。 由于摄像头、u 盘等设备多采孀u s b 接翟,嵌入式仪器一般需要用串嚣来与 冀他系统交互数据,同时考虑到硬件平台的通用性和功畿扩展的需要,因此本系 统在服务端硬件上设置了u s b 接翻、串口、以太网接麟、j t a g 接霸和l c d 显示 屏接瑟等h 】。在f l a s h 存储器选择上,本系统采薅了n a n df l a s h 帮n o rf l a s h 两稀 f l a s h 存储器,其中6 4 m 的n a n d 存储器用于存放离核和根文件系统以及应魇程 序;n o rf l a s h 用于存放b m s 引导程序。s d 洲作为系统运行时的主要缓存区 域,存储系统运行麴中闽变量、用户数据翻堆栈。此外,为了扩展f l a s h 容量, 还设计了s d 卡接瑟。d s p 和众鼗醚之闻静避信采翔双臻翻瞄激实现,d s p 主要是 为该系统处理其他数据信号露设计熬。另外,a 1 3 4 l 音频接口是预甓出来 的,为开发多媒体功能作准餐。本系统的电源系统是蠢邑设计的锻电池供电系 统,它能给仪器设备供电4 5 小时。本系统的嵌入式磺件设计翔圈2 。l 所示。 其审,网线连接服务端耱远程控裁端,本论文主要设诗的硬彳串系统是网线左侧瓣 服务端。 2 2 $ 3 c 2 4 1 0 处理器介绍 该系统硬件设计的核心芯片是三星公司的$ 3 c 2 4 1 0 ,它是1 6 络2 秘赳s e 徽处 理器。$ 3 c 2 4 1 0 适用于低成本、低功耗和赢性能的手掩设备。$ 3 c 2 4 1 0 包含的部 件有:独立的1 6 k b 指令和1 6 k b 数据缓存,用予虚拟内存管理的m m u 单元,l c d 控制器( s t n & t f t ) ,非线性( n a n d ) f l a s h 引导单元,系统管理器( 包括片 选逻辑和s d 黜蝴控制器) ,3 个通道的异步串行口( u a r t ) ,4 个通道的d m a ,一 4 个通道翁脉宽调制器( p w m ) ,窦时时钟单元( 酗陀) ,带有触摸孱接瑟昀8 5 第二章嵌入式硬件设计和$ 3 c 2 4 1 0 介绍 通道1 0 位a d 转换器,i i c 总线接口,u s 总线接口,u s b 的主机( h o s t ) 单元, u s b 的设餐( d e v i c e ) 接口,s d 卡和m u c ( m u l t i - m e x l i ac a r d ) 卡接口,2 通道s p i 接口和锁相环( p l l ) 时钟发生器【2 】。 图2 1 嵌入式硬件框图 在时钟方面$ 3 c 2 4 1 0 也有突出的特点,该芯片集成了一个具有日历功能的 r t c 和具有p l l ( m p l l 和u p l l ) 的芯片时钟发生器。m p l l 产生主时钟,能够使 处理器工作频率最离达到2 0 3 m h z 。这个工作频率能够使处理器轻松运行于 w i n d o w s c e 、l i n u x 等操作系统以及进行较为复杂的信息处理。u p l l 产生实现主 从u s b 功能的时钟。 s 3 c 2 4 1 0 将系统的存储空间分成8 组( b a n k ) ,每组大小是1 2 8 m b ,共1 g 。 b a n k 0 到b a n k 5 的开始地址是固定的,用于r o m 和s d r a m 。b a n k 6 和b a i l k 7 用于r o m 和s d r a m ,这两个组可编程且大小相同。b a n k 7 的开始地址是b a n k 6 的结束地址,灵活可变。所有内存块的访问周期都可编程。$ 3 c 2 4 1 0 采用n g c s 【7 :0 】通用片选信号选择这些存储空间。 $ 3 c 2 4 1 0 支持从n a n df l a s h 扈动,n a n df l a s h 具有容量大、比n o r f l a s h 价格低等特点。系统采用n a n df l a s h 与s d r a m 组合,可以获得非常高的性价 比。$ 3 c 4 1 2 0 x 具有三种启动方式,可通过o m 【l ;o 】管脚进行选择。n a n df l a s h 6 第= 章嵌入式硬件设计和$ 3 c 2 4 1 0 介绍 内存映射如图2 2 。$ 3 c 2 4 1 0 广泛的应用在各种嵌入式开发中。它自带的u s b 接 嗣与l c d 控制器为u s b 开发与液晶开发带来了方便。 攀爱耀 黼拥 l o o 樽洲 “k i 湖a s ) s d 靶a m ( t 鼢a n k - ,n e e a 7 ) 8 d r m ( a m c m e 。嚼强獬 3 辩。鞘 僧 n 瞄f i c 8 5 ) s 辩。酗 毋 m “戒;c s 4 i 8 辩o m 糟嘲嘣文艇戴恩嚣 8 r o 轴 穗矗埘镰艇黼 g 欺o 锵a n k l - n c ;c 嚣 3 靛o 辅 伯虎姗。n g i :锄 零捷耀 毒陬棚 t l o t t a m t l s d f u m 霭 拍口。斌;c 霸露 8 d f 执m 稿嘲嚼强。n o c 雠) 鞭o 蜒 佃闻、腻s ,n o o a s ) s r a 懿 饵嗍n o o 汹) s r o m 据 艚a 斌;a 姻 s r o m 稻燕精谨。溅0 鲁莽 8 氛。醚 ( b a n 氍i ,r c , o a m ) o m l 4 :增0 1 o o 嘣 :铘一 确薯栅阪“i 露l 鬻镌雨w , a 4 u , , 璃l 季 圈2 - 2n a n df l a s h 内存映射 7 一一 一一一 一 一 一 一 一 一 一 第三章嵌入式l i n u x 系统 第三章嵌入式l i n u x 系统 3 1 嵌入式l i n u x 系统的层次 在专用的嵌入式硬件系统上运行l i n u x 系统已经变得越来越流行。一个嵌入 式l i n u x 系统从软件的角度通常可以分为四个层次: 薹1 弓| 导程序。主要是指b o o t l o a d e r ,本系统主要采用u b o o t 。 2 ) l i n u x 内核。嵌入式硬件系统需要采用为其定制的嵌入式l i n u x 内核。本系 统主要采用l i n u x 2 6 1 4 内核。 3 1 文件系统。本系统主要采用c r a m f s 作根文件系统,可以挂载y a f f s 文件 系统。 4 ) 嵌入式系统g u i ( 嵌入式图形用户界面) 。在用户应用程序和内核层之间包 括一个嵌入式图形用户界面。常用的嵌入式g u i 有:q t 和m i n i g u i 等。系 统的应用程序主要用q t 来开发的。 , 本章的主要内容是在嵌入式系统中构建l i n u x 操作系统。主要包括b o o t l o a d e r 移植、l i n u x 2 6 。1 4 内核的移植和根文件系统的构建。b o o t l o a d e r ( 弓l 导程序) 是嵌 入式系统软件开发的第一个环节,在整个开发中也占有相当大的比例。u 。b o o t 是当前比较流行、功能强大的b o o t l o a d e r ,可以支持多种体系结构。本课题移植 了舀前u - b o o t 最新的版本u b o o t - 1 1 4 。l i n u x 内核主要用l i n u x 2 6 内核,市场 上大多嵌入式产品的内核都是2 4 系列的【3 】。2 0 0 3 年底推出的l i n u x 2 6 内核相对 于2 4 有很多优势。所以系统采用l i n u x 2 6 1 4 内核。文件系统主要用b u s y b o x 构建 命令,然后用制作文件系统的工具来制作。下面几节将对构建嵌入式l i n u x 系统 作详细的介绍,3 2 节主要完成u b o o t 的移植,3 3 节主要对l i n u x 2 6 4 内核移 植的详细介绍,3 。4 节主要是对构建文件系统的详细介绍。 3 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 最新的版本u b o o 弘1 1 4 。u b o o t 是用于初 始化目标板硬件,为嵌入式操作系统提供目标板硬件配置信息,完成嵌入式操 作系统装载、引导和运行的固件程序。它能够将系统的软硬件紧密衔接在一 s 第三章嵌入式l i n u x 系统 起。下面几节将对u ,b o o t 作详细介绍,3 2 1 节主要是对u b o o t 的流程和源 代码目录作详细的介绍,3 2 2 节主要是移植u b o o t 的步骤。 3 2 1u b o o t 简介 u b o o t 的主要功能包括:建立和初始化r a m ;初始化一个串日;检测机器 的体系结构,传递m a c ht y p e的值给 核;建立内核的_xxx(smdk2410)linuxp勺 标记列表( t a g g e dl i s t ) = 调用内核镜像 4 1 。 u - b o o t 启动流程分为两个阶段。第一阶段:主要运行依赖予c p u 体系结构 的硬件初始化代码。这个阶段的任务有:基本的硬件设备初始化( 屏蔽所有的中断, 关闭处理器内部指令数据c a c h e 等) ;为第二阶段准备r a m 空间;复制u b o o t 的第二段代码到r a m 中;设置堆栈,跳转到第二阶段的程序入髓点。第二阶段: 通常用c 语言完成,以便实现更复杂的功能,也使程序有更好的可读性和可移 植性。这个阶段的任务有:初始化本阶段要使用到的硬件设备;检测系统内存映 射;将内核映像和根文件系统映像从f l a s h 读到r a m 中;为内核设置扁动参 数;调用内核。 u b o o t 是操作系统和硬件的枢纽,它为操作系统内核的启动提供了必要的 条件和参数。引导程序已经对f l a s h 作了地址分配,如图3 1 。完成u b o o t 的 移植需要对其源代码有充分的了解。 0 :o f f s e t0 x 0 1 :o f f s e t0 x 3 0 0 0 0 2 :o | f s e t0 x 2 0 0 0 0 0 。 3 ;o f f s e t0 x 8 0 0 0 0 0, 4 :o f f s e t0 2 1 0 0 0 0 0 0 。 5 :o 锻s e t0 2 2 0 0 0 0 0 0 。 s i z e0 x 3 0 0 0 0 s i z eo x l d 0 0 0 0 s i z e0 x 6 0 0 0 0 0 s i z eo x 8 0 0 0 0 0 s i z eo x l 0 0 0 0 0 0 s i z eo x 2 0 0 0 0 b o o t k e z n e l 垃o o t f s e x t - 哩s1 【e x t - f s2 e x t - f s 3 , 图3 - if l a s h 地址分配 u b o o t 的源代码目录结构主要有b o a r d 、c o m m o n 、c p u 、d i s k 、d o c 、d r i v e r s 、 f s 、i n c l u d e 、n e t 和l i ba n l l 等。其中,b o a r d 目录里的文件是和具体开发板的硬 件和地址凳配有关。c o m m o n 豳录里的文件是与体系结构无关的实现各种命令文 件。c p u 相关文件中的子圈录都是以u - b o o t 所支持的c p u 为名,比如有子目 录a r m 9 2 6 e j s 、m i p s 、m p c 8 2 6 0 翻n i o s 等,每个特定的予目录中都包括c p t l c 、 i n t e r r u p t c 和s t a r t s 。其中c p u 。e 主要功熊为初始化c p u 、设置指令c a c h e 和数据 c a c h e 等;i n t e r r u p t c 设置系统的各种中断和异常,比如快速中断、开关中断、 时钟中断、软件中断、预取中止和未定义指令等;s t a r t s 是u - b o o t 启动时执行 的第一个文件,它主要是设置系统堆栈和工作方式,为进入第二阶段的c 程序 9 第三牵嵌入式l i n u x 蓉统 奠定基础。d i 敏匿录里的文彳牟是燕蠢驱动盼分区处理代码。d o e 莺录重的文彳譬 主要是文档目录。d r i v e r s 目录里的文件是通用设备驱动程序,比如备种网卡、 支持c f i 的f l a s h 、串豳和u s b 总线等。f s 豳录里的文件是支持文件系统的文件, u - b t 现在支持c r a m f s 、f a t 、f d o s 、j f f $ 2 和r e g i s t e r f s 等文件系统。i n c l u d e 毽录星的文转主要是头文件,还有对各种硬件平台支持的汇编文件、系统的配置 文件和对文件系统支持於文件。n e t 酱录里的文件是与嬲络有关的代码,包括 b o o t p 协议、彻协议、r a r p 协议和n f s 文件系统的实现。l i ba r m 嚣录里 的文件是与a r m 体系维构裾关戆文佟。 3 。2 。2u 零o j 0 嘤移植 黠u :b o o t 源代码的麓录姥梅有了清渐地了解之后,就可戳进行u - b o o t 的程净移植7 ,使该u - b o o t 程序支持a r m 槊构懿处理器。u - b t 代码修改 的步骤如下: 1 ) 修改u b o o t 根目录下的m a k e f i l e 文件: s 3 c 2 410 _ c o n f i g : u n c o n f i g 。m k c o n f i g $ ( o 傩题g = ) a r ma r m 9 2 0 ts m d k 2 4 1 0n u l l s 3 c 2 4 x 0 修改a r m 编译器的目录名及前缀,把c r o s s c o m p i l e = a r m 1 i n u x 改为 实际嚣录。 妨修改程序连接地址:在b o a r d s m d k 2 4 1 0 中有一个c o n f i g m k 文件,用于设置程 序连接的起始地址,把起始地址改为0 x 3 3 a 0 0 0 0 0 。 3 ) 修改f l a s h c - n o rf l a s h 芯片型号是s s t 3 9 v f l 6 0 ,按照该蕊片手册提供的参 数来骛改f l a s h 。c 程序。 4 ) 按照给定的f l a s h 修改头文件s m d k 2 4 1 0 h 。修改扁动参数,因为板子启动参 数为r o o t = d e v m t d b l o e k 2l o a dr a m d i s k = 0i n i t = l i n u x r c c o n s o l e = t t y s 0 m e m = 6 4 md e v f s - - m o u n t 。所以设置寓动参数为本系统扳子参数,另外还需要 设置网卡地址、i p 地址、默认的扇动加载地址和f l a s h 容量大小等参数。 5 _ m p l l c o n 寄存器的配置:u b o o t - 1 1 4 的m p l l c o n 寄存器值为 0 x 0 0 0 a 1 0 3 1 ,计算患亲熬m p l l = 2 0 2 m h z 。l i n u x 内核是按照2 0 0 m h z 来初始 纯串鄹熬,所以要把m p 乞c 绩寄存器值设置残0 x 0 0 0 5 c 0 4 0 。 妨镧作镜像文件:耀m k i m a g et 具来铡作,制作成u i m a g e 镜像,通道t f t p 加载 到板子上面。 移植的u 。b o o t 泓经能够稳定她运行在开发掇主,焉且可戮通过网络下载肉 核和文件系统,完成弓l 导内核的功能。 1 0 第三牵嵌入式l i n u x 系统 3 3l i n u x 内核的移植 3 3 。1l i n u x 2 6 内核优势 l i n u x 灼低成本和开放性,使其广泛瘟用于嵌入式系统领域。本节着重介绍 l i n u x2 6 内核的新特性及其嵌入式应用中的优势。实畦性和可靠性是嵌入式应 用较为普遍的要求,尽管l i n u x2 6 并不是一个真正静实对操作系统,但其改进 的特性能够满足响应需求。l i n u x2 6 已经在蠹核主体中加入7 提高串断挫缝和 调度响应时间的改进,其中有三个最显著的改进:采用可抢占内核、更加有效的 调度算法以及同步性的提高。在嵌入式领域,l i n u x2 6 提高其实时性能,添加 了新的体系结构和处理器类型,还改善了i o 予系统,增添更多的多媒体瘦耀功 能。l i n u x 2 ,6 内核优势表现为: 1 ) 抢占内核:在先前的内核版本中不允许抢占核心态运行的任务,只能等待它 们主动释放c p u 控制权。l i n u x 2 。6 瘗核在痰核代码中插入了抢占点,允许谖 度程序中止当翦进程焉调用更高优先级麴进程,遁过对抢占点的测试避免不 合理的系统调用延时。 2 ) 两步原型与共享内存;多遴程应耀程窿需要共享内存释井设瓷源,逶常采用 互斥的方法保证系统资源在阚一时刻只被一个任务访阕。l i n u x 魂核用一个 系统调用来决定一个线程阻塞或是继续执行来实现互斥。l i n u x 2 6 提供了新 的管理方法即n u m a ( n o nu n i f o r mm e m o r ya c c e s s ) 。n u m a 根据处理器和 内存的布局,在发生内存竞争时,给予不羼处理器不圊级别权限以解决内存 抢占瓶颈,提高吞吐量。 3 ) p o s i x 线程及n p t l - 新的线程模型基于一个l :l 的线程模型,包括内核对 新的n p t l 的支持,这方蘧是对以蔫肉核线程方法的甥显改进。 微控制器的支持:l i n u x 2 。6 肉核加入7 多种徽控制器的支持。无m m u ( 内 存管理单元) 酶处理器以前只锩利用一些改进的分支版本,如u c l i n u x ,两 l i n u x 2 6 逡梭已经将其整合进了新的内核中,开始支持多狰流行豹无m m u 微控制器。 5 ) 面向应用方面:l i n u x 2 6 提供了多种新技术的支持以实现备种应用开发, 如煺s a 帮v i d c 0 4 l i n u x 等,对多媒体信息处理更加方便;对u s b 2 。0 提供了支 持,提供更藏逮的传输,增加蓝芽无线接爨、音频数据链接和面向链接的数 据传输,满足7 短距离的无线连接的需要i s 。 第曼章嵌入式l i n u x 系统 3 3 。2l i n u x 2 。6 内核主要移植步骤 酋先设置好交叉编译工其,系统用的交叉编译工具是3 4 董舨本。系统所用 的l i n u x 2 。6 。1 4 内核是在k e r n e l 。o r g 耀熬上下载熬,按照下面步骤来移植蠹核。 1 ) 修改m a k e f i l e :主要是设置交叉编译工具的髓录。 2 ) 设置f l a s h 分区:生要是修改n a n d f l a s h 和m t d 分区表的代码部分。在 a r c h a r m m a c h s 3 c 2 4 1 0 d e v s c 文释中添加如下蠹容: # i n c l u d e 趣u x m t d p a r t i t i o n s # i n c l u d e l i n u r d m t d n a n d 玲 # i n c l u d e e c c m o d e n a n de c cn o n e 代码。 瓣挂载d e v 盎:为了让肉核支持d e v f s ,在启动时麓囱动挂载d e v 为d e v f s 文件 系统,修改f s k c o n f i g 文件。在m e n u p s e u d of i l e s y s t e m s ”下添加如下代码: 一第曼章嵌入式l i n u x 系统 c o n f i gd e v f 汀s b o o l d e vf i l es y s t e ms u p p o r t ( o b s o l e t e ) d e f a u l t y c o n f i gd e v f s m o u n t b o o l ”a u t o m a t i c a l l ym o u n t a tb o o t d e f a u l ty 卸雌穗0 1 1d e v f 鼬s l 设置内核使之产生c o n f i g 文件:拷炎s m d k 2 4 1 0d e f c o n f i g 文件到。c o n f i g 文件。 在s m d k 2 4 1 0d e f c o n f i g 基础上,增翮的内核配置项有m o d u l es u p p o r t 、系统 类型为s 3 c 2 4 1 0 、内核启动参数、模拟数学浮点、对内核m t d 予系统的设 置、字符设备、c r a m f s 和n f s 文件系统等。 1 1 ) 支持u s b :在r o a c h s m d k 2 4 1 0 c 里预加入相应的头文件和u s b 初始化代码, 按照下面选项选择。使内核支持u s b 热插拔,支持u s bo h c i 主机控制器 驱动,支持u 盘。选上o h c i 、m s d o s 蠡、v f a t 鑫和分区信息等选颈。 1 2 ) 魏卡移植:网卡芯片型号是c s 8 9 0 0 ,霹以从网上下载这个驱动,然感修改 k c o n f i g 和m a k e f i l e 来加载c s 8 9 0 0 的驱动程序。在k e o n f i g 里面加上翔下代鹦: c o n f i ga r m _ c s 8 9 0 0 t r i s t a t e 辩c s 8 9 0 0s u p p o r t d e p e n d s o n n e t e t h e r n e t &a r m& a r c hs m d k 2 4 1 0 在m a k e f i l e 里垂加上如下代码: o b j 一$ ( c o n f i g _ a r m _ c s 8 9 0 0 ) + 一c s 8 9 0 0 o 。 修改m a e h - s m d k 2 4 1 0 。c 文律里s m d k 2 4 1 0i o d e s c 结构数组,在数组里添加 v s m d k 2 4 1 0 _ e t h _ _ i o ,0 x 1 9 0 0 0 0 0 0 , s z 一1 m , m td e v i c e 。在 i n c l u d e a s m - a r m a r c h - s 3 c 2 4 1 0 嚣录下创建s m d k 2 4 1 0 。h 文件,其蠹容为相应的 宏定义和网卡地址定义。配置肉核时,选择c s 8 9 0 0 网卡芯片选项。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论