(信号与信息处理专业论文)基于嵌入式linux的摄像系统研究和实现.pdf_第1页
(信号与信息处理专业论文)基于嵌入式linux的摄像系统研究和实现.pdf_第2页
(信号与信息处理专业论文)基于嵌入式linux的摄像系统研究和实现.pdf_第3页
(信号与信息处理专业论文)基于嵌入式linux的摄像系统研究和实现.pdf_第4页
(信号与信息处理专业论文)基于嵌入式linux的摄像系统研究和实现.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(信号与信息处理专业论文)基于嵌入式linux的摄像系统研究和实现.pdf.pdf 免费下载

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

文档简介

摘要 视频监控系统已经广泛应用于人们的生活之中,尤其在网络技术高速发展的 今天,视频技术已经不仅仅局限于模拟技术,随着嵌入式操作系统的发展以及芯 片集成化的程度越来越高,通过互联网络进行视频图像的传输已经成为今后数字 化消费的一个方向。 本文实现的是基于嵌入式l i n u x 操作系统网络摄像系统的一部分,在基于 i n t e l 公司x s c a l e 架构平台p x a 2 5 5 上完成了一套功能完整的摄像系统,但对于网 络传输部分还未曾涉及。本文中摄像系统的硬件部分采用了u s b 接口的摄像头和 p x a 2 5 5 开发评估平台,软件部分包括了嵌入式l i n u x 操作系统的移植,摄像设备 驱动程序的编写,以及q t 用户界面上图像显示程序的实现,从而完成了一个完整 的具有图像采集、显示、存储以及保存图片再现功能的摄像系统。 论文共分为七章。第一章是绪论,对视频监控系统、i n t e l 个人数字助理、 及嵌入式操作系统作了简要的介绍:第二章讲述了嵌入式l i n u x 操作系统下的集 成开发环境,包括在裸机环境和l i n u x 操作系统下对p x a 2 5 5 平台进行开发的交叉 编译环境;第三章详细地介绍了对p x a 2 5 5 平台进行嵌入式l i n u x 操作系统移植的 方法,并对如何在p x a 2 5 5 平台上移植嵌入式w i n d o w sc e n e t 操作系统也作了简单 的叙述;第四章对使用摄像头的功能和参数,以及与摄像系统有关的p x a 2 5 5 平台 上的硬件作了分析。在第五章中则实现了p x a 2 5 5 平台上摄像设备的驱动程序的设 计,包括u s b 主控制器和摄像头传感器芯片的驱动程序。第六章,实现了q t 用户接 口界面的升级,添加了u s b 鼠标功能,定制了嵌入式l i n u x 文件系统并编写了q t 用户接口界面上的显示程序。第七章详细介绍了整个设计系统的集成和测试,包 括如何重新编译内核镜像文件,定制文件系统,分析了实验的结果。最后还提出 了今后的研究方向和目标。 关键词:视频监控系统、p x a 2 5 5 、嵌入式l i n u x 操作系统、q t 用户接口界面 a b s 仃a c t n o w a d a y s ,v i d e o m o n i t o r i n gs y s t e m s h a v eb e e nw i d e l yp u ti n t ou s e di no u rl i f e w h e nn e t w o r kt e c h n o l o g yh a sb e e nm a d eg r e a tp r o g r e s sa tp r e s e n t ,t h ef i e l d so f v i d e o t e c h n o l o g yh a v eb e e ns i g n i f i c a n t l ye x p a n d e df r o ma n a l o gt e c h n o l o g y b e s i d e s ,w i t h t h er a p i dd e v e l o p m e n to ft h eo u t s t a n d i n gt e c h n o l o g yb a s e do ne m b e d d e do p e r a t i n g s y s t e ma n dh i g h i n t e g r a t e dc h i p s ,v i d e ot r a n s m i t t i n gt e c h n o l o g yb yi n t e r n e tm u s tb e a d i g i t a lc o n s u m p t i o ni nt h ef u t u r e t h e p r o j e c to f v i d e os y s t e md e s c r i b e di nt h i st h e s i s ,i sap a r to fn e t w o r kc a m e r a b a s e do nt h ee m b e d d e dl i n u xo p e r a t i n gs y s t e m ( o s ) ,a n dt h ef u n c t i o ni st oc a p t u r e p i c t u r e sw i t hac a m e r aa n dd i s p l a yt h e mi nt h el c d o fp x a 2 5 5p l a t f o r m ,w h i c hw a s m a d eb yi n t e lc o m p a n yw i t ht h ex s c a l ea r c h i t e c t u r et e c h n o l o g y , b u tt h ef u n c t i o no f n e t w o r kt r a n s m i s s i o n ,n o w , h a sn o tb e e nd e s i g n e d t h e r ea r es e v e nc h a p t e r si nt h et h e s i s t h ef i r s to n ei si n t r o d u c t i o no f v i d e o m o n i t o r i n gs y s t e m ,i n t e lp e r s o n a li n t e m e tc l i e n ta r c h i t e c t u r ea n de m b e d d e d o s t h e n ,t h ei n t e g r a t e dd e v e l o p m e n te n v i r o n m e n to fn a k e dp l a t f o r ma n dl i n u xo si s r e f e r e d n e x t ,w ea l s oe x p l a i nh o wt ot r a n s p l a n tt h ee m b e d d e dl i n u xo st ot h e p x a 2 5 5p l a t f o r m ,a n dt h eb r i e fi n t r o d u c t i o no fe m b e d d e dw i n d o w sc e n e to si s a l s oi n v o l v e d t h eh a r d w a r eo fu s bc a m e r aa n dp l a t f o r mr e l a t e dw i t ht h ep r o j e c ta r e a n a l y z e db r i e f l yi nt h ef o u r t hc h a r p t e r i nt h ef o l l o w i n gt w oc h a r p t e r s ,t h eu s bd e v i c e d r i v e rp r o g r a m ea n dd i s p l a y i n ga p p l i c a t i o np r o g r a mo nq tg u ia r ed e s i g n e d ,i n c l u i n g u p d a t i n gq tg u i ,a d d i n gt h ef u n c t i o n o fu s bm o u s et ot h ep x a 2 5 5p l a t f o r m , c u s t o m i n gt h ef i l es y s t e m ,a n dr e b u i l d i n gt h ek e r n e lf i l e i nt h e l a s tc h a r p t e r ,t h e w h o l eh a r d w a r ev i d e os y s t e mi n t e g r a t e dw i t hc o m p i l e dd e v i c ed r i v e ra n dd i s p l a y i n g a p p l i c a t i o np r o g r a ma r e t e s t e ds u c c e s s f u l l y f i n a l l yt h ee x p e r i m e n tr e s u l t sa r e a n a l y z e da n dt h er e s e a r c ht a r g e t sa r em e n t i o n e db a s e do nc u r r e n tp r o j e c t k e yw o r d s :v i d e os y s t e m ,p x a 2 5 5 ,e m b e d d e dl i n u xo s ,q tg u i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得墨连盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:,垒:幸 签字目期:p 咕年,月谚日 i 学位论文版权使用授权书 本学位论文作者完全了解:墨盗盘茔有关保留、使用学位论文的规定。 特授权苤盗盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:丕:皋 i 签字日期:枷j 年,月谚日 导师签名 影辆, 签字日期:伪叮璋f 月& 罗日 第一章绪论 i 1 视频监控系统的综述 第一章绪论 1 1 1 视频监控系统的出现 随着多媒体应用技术的飞速发展,人们越来越倾向于在日常生活、工作和学 习中使用多媒体手段来享受其带来的便利性,在银行、商场监控、城市交通管理、 酒店等安全保卫方面,视频监控系统的市场需求量大幅度的上升,市场上已经出 现了多种图像采集和传输的产品。这些产品有的是基于传统的模拟视频监控系 统,有的是以p c 机为平台,配合图像采集卡实现图像压缩的数字视频监控系统。 采用这两种方法构成的视频监控系统,一台摄像机要使用根同轴电缆将视频信 号送给图像采集卡或录像机,所以网络规模不能过大,否则会造成线路非常复杂, 甚至带来施工的困难。 针对上述两种视频监控系统中存在的传输“瓶颈”问题,我们认为充分利用目 前已经相对普及的互联网,将数字图像利用互联网进行传输可以解决这一问题。 网络数字视频监控系统克服了以往监控系统的局限性。首先,数字化了的视频可 以在计算机网络( 比如局域网或广域网) 上传输。信号通过网络传输可以做到基本 上不受距离限制,抗干扰能力强,可大幅度提高图像品质和稳定性。其次,网络 数字视频监控系统利用了计算机网络的现有资源,可复用网络带宽,无须重复布 线,系统扩展非常简单。除此之外,由于系统的硬件功能单一,并且是为专门应 用而设计的独立设备,不像插卡系统那样受通用计算机系统中其它软件、硬件的 影响,因此性能上更稳定,且便于安装、维护和调试。 目前,网络数字视频监控系统的具体实现为:先对图像信号数字化,并进行 数据压缩,再将压缩后的数据传送给主控机,然后把数据按t c p i p 协议在以太网 上传送,p c 机可以向主控机发送传送请求并进行图像的再现。这样就构成了一个 能满足大部分视频监控需要的价格适当的完全数字化的网络视频监控系统。为了 实现这个目标,可以使用d s p 芯片来做图像的压缩处理,选择a r m 芯片实现网络传 输,但是两个芯片实现的系统毕竟显得臃肿,鉴于目前芯片技术的快速发展,采 用主频达4 0 0 m h z 的p x a 2 5 5 处理器来进行图像的压缩编码以及实现网络传输的工 作是可能的。 第一章绪论 1 1 2 网络数字视频监控系统的构成 整个网络视频监控系统可以分为图像采集模块、图像数据压缩和网络传输模 块、图像再现模块。其中图像压缩模块负责对采集的数据作压缩处理,p x a 2 5 5 平台,则运行嵌入式l i n u x 操作系统,作为系统控制的一个中间控制单元,并将压 缩后的图像数据通过互联网络进行传输。另外在客户端需要运行解码程序,做图 像的再现。图1 1 为整个系统实际应用的示意图。 图卜1 网络数字视频监控系统构成框图 1 2 个人互联网用户架构 i n z e l 公司在2 0 0 0 年9 月推出了基于s t r o n g a r m 或x s c a l e 处理器的面向无线 互联网的嵌入式系统架构一一i n t e l 个人互联网用户架构p c a ( p e r s o n a l i n t e r n e tc 1 i e n ta r c h i t e c t u r e ) 。 1 2 1p c a 结构 i n t e l 个人互趺用户槊构p c a 是一个开放式平台架构它可以分为应用于系 统、通信子系统和内存子系统。每个子系统都由开放式接口相互隔离,这样,每个 子系统都可以以模块方式集成、扩充和接口。 p c a 应用子系统是基:j m s t r o n g a r m 或x s c a l e 处理器的可编程的计算环境。它在 嵌八式操作系统支持下能够管理用户输入输出设备,扩充设备内存管理与接 口、电源管理以及与通信予系统的交互通信资源。 p c a 通信子系统由一个或多个处理器构成,主要完成通信【办议的处理任务。为 了提高实时通信性能,可以添加数字信号处理器d s p ( i n t e l 的新型m s a ) ,以加速协 议的逻辑运算与密集的信号处理能力,提供必需的基带处理能力。 内存子系统也是p c a 的一个重要组成部份,它可以提供具有i n t e l 特色的低电 压、低功耗和高集成度的闪存f l a s h 、s r a m 和d r a m 。内存子系统支持分级存储体 压、低功耗和高集成度的闪存f l a s h 、s r a m 和d r a m 。内存子系统支持分级存储体 第一章绪论 1 1 2 网络数字视频监控系统的构成 整个网络视频监控系统可以分为图像采集模块、图像数据压缩和网络传输模 块、图像再现模块。其中图像压缩模块负责对采集的数据作压缩处理,p x a 2 5 5 平台,则运行嵌入式l i n u x 操作系统,作为系统控制的一个中间控制单元,并将压 缩后的图像数据通过互联网络进行传输。另外在客户端需要运行解码程序,做图 像的再现。图i - i 为整个系统实际应用的示意图。 图l - i 网络数字视频监控系统构成框图 1 2 个人互联网用户架构 i n t e l 公司在2 0 0 0 年9 月推出了基于s t r o n g a r m 或x s c a l e 处理器的面向无线 互联网的嵌入式系统架构一一i n t e l 个人互联网用户架构p c a ( p e r s o n a l i n t e r n e tc i l e n ta r c h i t e c t u r e ) 。 1 2 ip c a 结构 i n t e l 个人互联用户架构p c a 是一个开放式平台架构,它可以分为应用子系 统、通信子系统和内存子系统。每个子系统都由开放式接口相互隔离,这样,每个 子系统都可以以模块方式集成、扩充和接口。 p c a 应用子系统是基于s t r o n g a r m 或x s e a l e 处理器的可编程的计算环境。它在 嵌入式操作系统支持下,能够管理用户输入输出设备,扩充设备内存管理与接 口、电源管理以及与通信子系统的交互通信资源。 p c a 通信子系统由一个或多个处理器构成,主要完成通信协议的处理任务。为 了提高实时通信性能,可以添加数字信号处理器d s p ( i n t e l 的新型m s a ) ,以加速协 议的逻辑运算与密集的信号处理能力,提供必需的基带处理能力。 内存子系统也是p c a 的一个重要组成部份,它可以提供具有i n t e l 特色的低电 压、低功耗和高集成度的闪存f l a s h 、s r a m 和d r a m 。内存子系统支持分级存储体 2 墨二童堑堡 一一一 系,支持高速缓存,嵌入式( 片上) 内存、系统内存和拆卸内存。 应用子系统与通信子系统之间的接口b a p i 具有双向传输数据和控制信息的 能力,并具有生成和向其他子系统传输“唤醒”事件的功能。 1 2 2x s c a l e 微架构处理器 x s c a l e 架构处理器是新一代为无线手持式应用产品开发的嵌入式处理器,是 p c a 开发式平台架构中的应用子系统与通信子系统中的嵌入式处理器。x s c a l e 核 - 与s t r o n g a r m - - f 4 ,仍采用a r mv 5 t e 架构,是i n t e l i n 的s t r o n g a 嗣的升级换代 产品。它具有高性能、低功耗等特点,图1 2 是x s c a l e 系统结构图。 图1 2x s c a l e 系统结构图 x s c a l e 架构处理器采用7 8 级超级流水线。支持动态跳转预测和分支目标缓 冲器b t b ( b r a n c ht a r g e tb a r f e r ) 。同时,它还拥有杰出的多媒体处理技术,新 增加了d s p 功能的4 0 位乘累加器,和特定d s p 型协处理器c p 0 。存储器管理部件m m u 是x s c a l e 架构处理器的又一特出功能,可以识别可快存和不可快存( c a c h e a b l e o rn o n c a c h e a b l e ) 编码,允许写回和写直通、允许数据写分配策略,支持x s c a l e 扩展的页面属性操作。同时。它还拥有3 2 k 字节的指令c a c h e $ 口数据c a c h e 容量, 并新增了2 k 字节小型数据c a c h e 和小型指令c a c h e ,是一款性能优越的处理器。 1 3 嵌入式操作系统的介绍 嵌入式系统是把计算机直接嵌入到应用系统之中,它融合了计算机软硬件 技术、通信技术和半导体微电子技术,是信息技术i t ( i n f o r m a t i o nt e h n o l o g y ) 的最终产品。 1 3 1 嵌入式操作系统的特点 嵌入式系统早期主要应用予军事及航空航天等领域,以后逐步广泛地应用于 第一章绪论 工业控制、仪器仪表、汽车电子、通信和家用消费类等领域。随着i n t e r n e t 的发 展,新型的嵌入式系统正朝着信息家电i a ( i n f o r m a t i o na p p l i a n c e ) 和 3 c ( c o m p u t e r 、c o m m u n i c a t i o n c o n s u m e r ) 产品方向发展。面向嵌入式系统的操 作系统有以下的特点: 编码体积小:适合在嵌入式系统的有限存储空间中运行。 面向应用,可裁剪和移植:可进一步缩小编码体积、有效地运行,故此类 o s 也可称为特定应用操作系统a s o s ( a p p l i c a t i o ns p e c i f i co p e r a t i n gs y s t e m ) 。 实时性强:这也是嵌入式系统的特征之一,因此,嵌入式操作系统有时也 称为实时多任务操作系统r t o s ( r e a lt i m eo p e r a t i n gs y s t e m ) 。 可靠性高:嵌入式系统可无需人工干预独立运行,处理各类事件和故障。 1 3 2 嵌入式操作系统的分类 二十世纪七、八十年代,各种嵌入式操作系统得到了蓬勃的发展,随着 i n t e r n e t 的飞速发展,面向i n t e r n e t 的嵌入式系操作系统已作为主流产品。特别 随着系统级芯片s o c 的发展,嵌入式操作系统已开始能像硬件i p 模块那样,作为i p 嵌入至芯片中。嵌入式操作系统按其应用对象不同,有以下几类: 基于或与w i n d o w s 兼容: w in d o wc e 、嵌入式l in t i x 、e p o c 工业与通信( 传统) 类: v x w o r k s 、p s o s 、o n x 、n e c u l e u s 、v r t x 单片机类: i r m x 、c m x 、uc o s 面向i n t e r n e t 类: p a l m0 s 、v i s o r 、h o p e n 、p p s m 嵌入式系统是由嵌入式处理器、嵌入式系统软件和嵌入式应用软件所组成。 i n t e l 公司推出的个人互联用户架构p c a 就是嵌入式系统的开发应用平台。在p c a 的应用与通信予系统中的嵌入式处理器是基于s t r o n g a r m 或x s e a l e 的处理器,由 于其功能比较强,p c a 可以配备w i n d o w c e 、嵌入式l i n u x 和v x w o r k s 等各种嵌入式 操作系统。 1 3 3 嵌入式l i n u x 操作系统 随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大 的c p u ,给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈 突出地表现在软件方面。从二十世纪八十年代开始,出现了一些嵌入式操作系统, 4 第一章绪论 这些操作系统经过不断地发展、逐渐成熟,在各个领域得n t 广泛应用。比较著 名的嵌入式操作系统有v x w o r k 、p s o s 、l y n u x 、n e c u l e u s 和w i n d o w sc e 等,但这 些商业产品都价格昂贵,并不适合中低端的嵌入式系统和规模较小的公司使用, 嵌入式l i n u x 正是在这样一种市场环境下诞生的。 l i n u st o r v a l d s 在l i n u x 的发展初期曾经“预计”这个操作系统只会装在 i n t e l 平台的机器上,不会支持其他的c p u 。但是现实的发展完全出乎他的意料, l ir l l j x 的内核从1 2 x 版本就开始支持其他体系结构的计算机s u c p u ,现在几乎所 有主流的3 2 位c p u 都支持。l i n u x 内核提供对多种处理器的支持,目前的内核支持 i n t e lx 8 6 、a r m 、m i p s 、m 6 8 k 、p o w e r p c 、a l p h a 、i a6 4 、s 3 9 0 、s u p e r h 等处理 器体系结构,很多处理器都可以应用在嵌入式领域。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 应用于嵌入式系统另外一个显著的优势是可以使用主机模拟的环境进 行开发。因为在嵌入设备上运行的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 厂商 与硬件平台厂商的捆绑销售将会使得用户能够获得一定的优惠,在达到同样性能 要求的前题下,l i n u x x 8 6 组合的性价比高:而且在后续的维护和扩展方面,l i n u x 带来的成本节省也将是巨大,首先,各主流软硬件厂商都提供了对l i n u x 的支持, 用户可以自由的选择厂商:其次,l i n u x 的运行平台d , n 嵌入式芯片、大到大型 主机,跨越了全线硬件平台,因此基于它的应用系统具有非常优异的扩展性,而 且利用网格技术,系统的扩展将是非常容易的事情,并且不会浪费已有的各种资 源,系统的容量、运算能力等都能得到充分的利用。除此之外,选用基于l i n u x 操作系统的标准化硬件和软件可以大大降低系统的维护成本,而且现在已经有更 多的商业公司提供“一站式”的支持服务。此外,众多来自开源社区的技术专家也 会帮助用户解决所遇到的各种问题。从长远角度看,选用l i n u x 所带来的成本节 省将是巨大的。 l i n u x 作为开源软件的一部分,它必将随着更多商用软件走向开放源码而获 得极大的发展。基于上述优点,本文设计的项目也是基于嵌入式l i n u x 系统进行 开发的。 第一章绪论 1 4 目前的发展状况及论文的主要工作 目前日本夏普株式会社( s h a r p ) 与中国电子信息产业集团公司( c e c ) 联手 在国内最新推出的采用i n t e lx s c a l e 硎c p u s h a r pc e cs l 一7 5 0 0 c 掌上笔记本 电脑,就是一款支持l i n u x 操作系统和j a v a 应用环境的掌上笔记本电脑。在功能 上整合了无线上网、在线上网、w o r d 、e x c e l 文件处理、幻灯演示、数码照相、 录音等多种移动商务功能,同时具备手机通话功能。但是由于我国在嵌入式系统 开发的自主产权性差,而且数码相机、3 g 手机、以及p d e 的应用研究技术相对落 后,所以本文在这一方面从事了一些基于嵌入式l i n u x 操作系统的摄像系统的研 究工作。 本论文完成了网络数字视频监控系统前端的数据采集,摄像头的硬件压缩的 数据解压缩,设备的驱动程序、以及图像的显示等工作。硬件使用了w e b e y ev 2 0 0 0 摄像头s d i n t e l 公司提供x s c a l e 架构平台p x a 2 5 5 ,在论文中还分析了与摄像系统 相关的p x a 2 5 5 平台上的芯片的功能和作用,并介绍了这些芯片间的电路设计。软 件方面完成了对嵌入式l i n u x 操作系统的移植、对文件系统用户接口界面q t 的移 植、增加了在q t 界面上的u s b 鼠标功能、实现了u s b 设备驱动程序和液晶显示器上 的显示程序等工作。最后,在目前工作的基础上,提出了今后我们的目标和研究 方向。 6 第二章嵌入式l i n u x 系统的集成开发环境 第二章嵌入式l i n u x 系统的集成开发环境 本章主要介绍y s i t s a n g p x 2 5 5 开发评估平台的集成开发环境,包括在裸机 下的开发环境和在嵌入式l i n u x 操作系统下的集成开发环境。本文中所涉及的硬 件开发平台为i n t e l 公司的s i t s a n g p x 2 5 5 开发评估平台,又简称为s i t s a n g 板或 s i t s a n g 平台,是以x s c a l e 微架构处理器p x a 2 5 5 处理器为核心,并配备了大量实 用的外设资源的一款高性能低功耗的开发板。 2 1 裸机开发环境 本文中裸机环境,简单的说就是指s i t s a n g 平台上没有安装任何软件,包括 操作系统和应用程序。在下载嵌入式操作系统之前,为了测试平台上各个器件和 接口在功能上的完整性,需要在裸机环境下编写测试程序来进行验证,所以裸机 开发环境就是指这种环境下开发测试程序的环境,而不涉及到任何嵌入式操作系 统的开发。在裸机环境下,我们使用的a r md e v e l o p e rs u i t e ( 简称a d s ) 软件来进 行测试程序的开发,并将生成的可执行文件通过i n t e l 公司提供的j f l a s h 工具下 载至u f l a s h 的起始地址,运行并测试其功能。 2 1 1a d s 软件开发环境 a d s 是一套用来开发a r m 处理器应用系统的开发工具包,功能非常强大。 a d s l 2 提供了完整的w i n d o w s 界面开发环境,不仅支持c 和c 抖,而且c 编译器效率 极高,可以很方便地使用c 语言进行程序开发。同时,该软件还提供了软件模拟 仿真功能,使没有e m u l a t o r s 的学习者也能够熟悉a r m 的指令系统。 对于s i t s a n g 平台上使用a d s 软件对程序进行开发,使用方法与使用其它a r m 处理器相同,因此本论文中不将介绍a d s 软件的使用方法,下面只对开发s i t s a n g 平台与a d s 软件有关的文件和软件设置进行介绍,对于a d s 软件的使用方法请参考 相关的帮助文档。 在i n t e l 公司发布的光盘里,提供了各个应用功能接口的测试程序。这些程 序都是在a d s 开发环境下编写和编译的。在每个测试程序中包含以下几种文件格 式,由于这些文件对于开发是至关重要的,下面将介绍各个文件的作用。 m o p :项目工程文件,某些设置非常重要,i 如r o p i 等; 第二章嵌入式l i n u x 系统的集成开发环境 s c f :分散的描述文件,非常重要; m a c :宏单元和源代码文件: i n c :汇编的头文件; s :汇编的源代码文件; h 和c :头文件以及应用函数。 另外,在a d s 软件下对测试程序进行编译时,因s i t s a n g 平台的特殊性,需要 使用到描述文件为s i t s a n g s c f ,这是i n t e l 提供的一个模板文件,可在光盘中的 每个测试程序下找到。该文件的使用体现在a d s 软件的选项a r m 编译连接器 中,参见图2 - i 。在编译时,需要将连接类型设置为s c a t t e r e d ,同时设置s c a t t e r 描述文件为s i t s a n g s c f ,a d s 编译连接器的具体设置如图2 1 所示。 图2 1a d s 编译连接器设置图 如果在a d s 编译连接器设置中不按照上面方法设置,将在编译连接时出错 因此在编译s i t s a n g 平台测试程序时需要特别注意。 2 1 2 应用程序t e s t c a s e i f l l t e s t w i z a r d 裸机应用程序是直接面向s i t s a n g 硬件资源的应用程序,它们在设计时需要 自己驱动包括c p u ,存储器在内的所有硬件设备。裸机应用程序的复杂程度不高, 通常都是一些诸如操作系统的引导程序,底层开发调试工具,硬件测试程序等。 一般来说,复杂的应用程序通常都是在操作系统之上开发的。 s i t s a n g 软件资源中提供的裸机应用程序是t e s t c a s e 和t e s t w i z a r d ,它们是 用来测试s i t s a n g 的硬件的工具。在硬件开发调试阶段对硬件进行测试,需要测 试程序尽量简单,避免受到其他设备或程序的影响,所以测试程序都只是用了最 少的系统资源,一般具有完整的功能性,而在性能上却不是最优的。由于在硬件 测试阶段操作系统等软件开发还没有完善,所以测试程序往往也只能面向裸机。 t e s t c a s e 和t e s t w i z a r d 都是硬件测试程序。t e s t c a s e 是一组程序,每一个程 第二章嵌入式l i n u x 系统的集成开发环境 序单独测试一项硬件功能,一般通过串行曰返回测试结果数据。例如, b 1 i n k g p i o l e d 是让g p i o 控制的两个l e d 闪烁的程序,以此证明c p u 和存储器正常, 程序可必运行。t e s t l c d 则是在l c d 上显示一些内容,表明l c d 工作正常。 t e s t w i z a r d 是所有t e s a c a s e 的集合,它能够实现t e s t c a s e 里的所有测试功能,并 且t e s t w i z a r d 能够通过串行口和主机端的t e s t m a s t e r 通信,接受t e s t m a s t e r 的命 令测试具体某个t e s t c a s e ,并将结果返回t e s t m a s t e r ,由后者实现结果的存储。 根据a r m 体系结构,c p u 会在重起时从0 地址开始执行程序,裸机应用程序的 起始位置就是0 地址。裸机应用程序需要首先初始化硬件平台,然后才能运行自 己的应用逻辑。初始化代码都是从汇编代码开始,初始化程序的主要工作流程如 图2 2 。就t e s t c a s e 和t e s t w i z a r d 而言,需要跳转到c 代码m a i n ( ) 函数的初始化汇 编程序m a i n s ,进入c 代码以后,程序便可以执行自己的应用程序了。例如s t a r t u p t e s t c a s e 的c 代码主程序就是反复调用u t i l j e s t c p l d l e d0 ,将c p l d 控制的l e d 进行有规律的闪烁。 图2 2 初始化程序工作流程图 t e s t c a s e 和t e s t w j z a r d 的开发环境都是a d s 软件。在s j t s a n g 发布的c d 中包含 了每一个t c s t c a s e 和t e s t w i z a r d 的项目文件和源文件,使用a d s 软件可以从源文 件代码编译出相应的可执行程序,并通过j n a s h 工具下载到f l a s h 的首地址,也就 9 第二章嵌入式l i n u x 系统的集成开发环境 是系统的o 地址运行。 s t a r t u p 目录下是t e s t w i z a r d $ 口所有t e s t c a s e 公用的启动代码,该部分的文 件在每个测试程序中都会用到,因为它是系统启动的初始化代码,即跳转到c 代 码之前的汇编代码。o t h e r d e m o 目录下是除了s t a r t u p 测试程序外的所有t e s t c a s e 和t e s t w i z a r d 的项目文件和源代码,每一个目录对应个t e s t c a s e 。t e s t w i z a r d 目录下是其项目文件和源代码,t e s t w i z a r d 项目还会包含t e s t c a s e 中的一些源文 件,用以进行测试工作。 所有项目输出的二进制程序都可以在f i n a l b i n f i l e 目录下找到,也可以使用 a d s 软件自行编译。关于t e s t c a s e 和t e s t w i z a r d 的更多信息可以参阅s i t s a n g p x a 2 5 5e v a l u a t i o np l a t f o r mt e s ts u i t eu s e r sg u i d e 文件。表2 1 是目前所 有的t e s t c a s e 程序。 表2 一l 现有的t e s t c a s e 程序 1 b s tc a s e f i r s tb r e a t h t e s t c f c a r d s t a r t u p t e s t u s b h o s t t e s t f f u a r t t b s t i r d a 1 b s t b t u a r t1 b s t e l h e m e t t e s t b l r s r e s t a c c t e s t s d r a mt e s t s o f f r c s c t t e s t l c dt e s t s o f l p w r o f f t e s t a c 9 7 1 s t v c c r e a d t e s t a c 9 7 a 1 色s t s d c a r d t e s t t o u c h s c r e e n t e s t l d l e m o d e 2 1 3j f l a s h 工具 j f l a s h 由i n t e l 公司提供的j t a g 接口程序下载工具,j f l a s h 能够在w i n d o w s * 9 8 ,w i n d o w s * n t ,w i n d o w s * 2 0 0 0 以及w i n d o w s * x p 操作系统下运行。在w i n d o w s * 9 8 操作系统下,j f l a s h 可直接使用。而在w i n d o w s * n t ,w i n d o w s * 2 0 0 0 w i n d o w s 十 x p 操作系统下需要获得管理员的权限对软件进行安装,安装步骤如下: 在m s d o s 窗口将“g i v e i o s y s ”文件拷贝到“s y s t e m 3 2 d r i v e r s 目录下; 使用“i n s t d r v e x e ”工具安装驱动程序,安装时需要指明安装程序的完 整的路径和程序名,如下所示: c :j f l a s h i n s t d r vg i v e i oe :w i n n t s y s t e m 3 2 d r i v e r s g i v e i o s y s 有时j f l a s h 可能会出现“当前g i v e i o 设备不可用”的提示,对于w i n d o w s * n t 1 0 第二章嵌入式l i n u x 系统的集成开发环境 操作系统,可以通过“控制面板设备按钮”重新启动g i v e i o 设备:而在w i n d o w s * 2 0 0 0 和x p 系统下,驱动程序必须卸载后重新安装,具体实现如下所示: c :j f l a s h i n s t d r vg i v e i or e m o v e c :j f l a s h i n s t d r vg i v e i oc :w i n n t s y s t e m 3 2 d r i v e r s g i v e i o s y s 对于j f l a s h 软件的使用非常简单,完全是在j f l a s b 的接口界面下操作完成 的。启用j f l a s h 软件后,j f l a s h 的接口如图2 3 所示: 图2 3j f l a s h 接口 在使用j f l a s h i 具下载测试程序的可执行文件时,需要设置的选项包含起始 地址,操作类型,以及下载的文件选项。 在s t a r t 地址块中选择需要下载运行的起始地址。如果用户希望在系统p o w e r o n 后自动执行,应该选择起始的模块为o 。对于操作类型,你可以选择“e r a s e o n l y ”,“e r a s ea n dp r o g r a m ”或“e r a s e ,p r o g r a ma n dv e r i f y ”中任意一个选 项。如果选择“e r a s eo n l y ”,需要键入擦除的模块数值大小。点击“o p e nf i l e ” 按钮可以浏览用户需要的二进制镜像文件。 如果用户需要在f l a s hb a n k1 中下载镜像文件,s i t s a n gp x a 2 5 5 平台启动时, 需要按住其上的s 2 按键。 点击“a c t i o n ”按钮将开始进行操作。用户可以通过点击a b o r t 按键退出 操作。程序下载结束后,需要手动重新启动s i t s a n g p x a 2 5 5 平台。 2 2l i n u x 系统下的集成开发环境 2 2 1 嵌入式l i n u x 系统的构成 s i t s a n g 平台有一套完整的嵌入式l i n u x 环境,包括引导程序r e d b o o t 、l i n u x 第二章嵌入式l i n u x 系统的集成开发环境 内核和文件系统的源代码和二进制映像,以及开发工具链。通常,a r ml i n u x 主 要有图2 - 4 中的三个部分构成。 文件系统 ( 应用程序,模块,配置文件, 图形界面,库) l i n u x 内核 引导程序 ( 如r c d b o o t ,b o o d d r ) 图2 - 4a r ml i n u x 软件的组成部分 引导程序负责初始化硬件平台,加载内核,并启动l i n u x 。这部分的功能相 当于b i o s 。l i n u x 内核是一体结构,除了微内核外还包括各种服务和驱动程序。 文件系统包含应用程序,模块,配置文件,图形界面,库等。文件系统的内容与 一般l i n u x 系统没有根本区别。值得注意的是,移动手持设备通常使用f l a s h 作为 持久存储设备,因而在文件系统格式方面,除了普通的e x t 2 文件系统外,常用的 还有j f f s 2 。作为种日志型文件系统,j f f s 2 的写操作直接写到持久存储设备设 备上,而不像e x t 2 文件系统那样使用缓冲机制。这样即便用户随时关机也不会丢 失数据。 a r m 体系嵌入式l i n u x 的开发工具主要包括: a r m 体系的g c c 编译器、g 1 i b c 库和b i n u t i i s 工具集; a r m 体系的g n u p r

温馨提示

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

评论

0/150

提交评论