基于ARM视频采集系统的设计与实现_第1页
基于ARM视频采集系统的设计与实现_第2页
基于ARM视频采集系统的设计与实现_第3页
基于ARM视频采集系统的设计与实现_第4页
基于ARM视频采集系统的设计与实现_第5页
已阅读5页,还剩139页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

论文基于ARM视频采集系统的设计与实现中文摘要摘要随着计算机技术的不断发展,ARM技术和嵌入式系统的出现,嵌入式系统的应用领域在不断发展,它所涉及的领域包括工业控制、消费电子、网络通信、科学研究、军事国防、医疗卫生、航空航天等方方面面。本文采用理论与实践相结合的方式,通过对ARM系统的设计与调试,从而掌握了对嵌入式系统的设计与开发。本文采用ARM920T芯片作为嵌入式系统视频采集的处珲器,详细阐述了嵌入式系统的设计与开发过程,其中包括交叉编译环境的搭建交叉编译环境是嵌入式开发工具的集合,搭建该环境就足在系统中编译安装开发工具链。操作系统内核的移植内核移植是嵌入式开发的重要部分,移植内核主要是对内核进行重新配置,使它符合特定系统的需要,然后重新编译生成可执行的内核镜像文件。文件系统的移植文件系统是操作系统对数据进行管理的有效和必要的助手。移植文件系统包括制作义件系统镜像,在FLASH上为文件系统分配存储空间以及文件系统与嵌入式操作系统的有效配合。驱动程序的设计驱动是操作系统与硬件沟通的桥梁,驱动设计就是编写具体硬件的读写控制函数并向操作系统提供统一的接口。本文着重介绍了液晶厨驱动程序的编写,USB摄像头驱动程序的编译与移植,以及视频显示程序的编。最后,通过重新编译移植WEBCAMSERVER应用程序,实现了网络摄像机。关键词嵌入式系统ARMUSB摄像头视频采集英文摘要THEDESIGNARMUSBCAMERAVIDEOSAMPLE大连海事大学学位论文原创性声明和使用授权说明原创性声明本人郑重声明本论文是在导师的指导下,独立进行研究T作所取得的成果,撰写成硕士学位论文“基FARM视频采集系统的设计0实现”。除论文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均己在文中以明确方式标明。本论义中不包含任何未加明确注明的其他个人或集体己经公开发表或未公开发表的成果。本声明的法律责任山本人承担。论文作者签名同卞藩W7年3月】牛日学位论文版权使用授权书本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和JR编学位论文。保密口,在年解密后适用本授权书。本学付论文属于保密口不保密文请在以上方框内打“、,一论文阼者签名司日F期最,X导1师年签弓基于ARM视频采集系统的设计与实现第1章绪论11课题背景随着嵌入式系统不断地发展,它所涉及的领域包括工业控制、消费电予、网络通信、科学研究、军事国防、医疗卫生、航空航天等方方面面。我们所熟悉的电严产品几乎都可以找到嵌入式系统的影子。随着ARMADVANCERISCMACHINES技术的推广,嵌入式芯片从原来的8位、16位等升级到了32位,嵌入式领域的发展展现了一片新的天地。LINUX操作系统以其源代码的开放性、可裁减性,对多处理器的支持,尤其是ARNO体系结奉句的广泛支持,以及对多任务多文件系统的支持,解决了限制嵌入式系统发展的软件瓶颈问题。嵌入式系统设计是一门综合性的课程,涉及电子、计算机、自动控制等诸多专、FK知识,综合性强,可包括微机原理、单片机设计、操作系统等课程内容。嵌入式系统设计需要软件和硬件紧密配合,协调工作,共同完成系统的预定功能。12系统设计思路嵌入式系统波计中微处理器的选型非常重要。目前市场上有各种型号的ARM芯片,从CPU处理速度,技术指标以及软件支持工具上进行选型,选择了三星公。D的ARM9芯片3C2410。由于ARM9芯片的封装基本上都是BGA封装格式,由于受条件的限制,电路板的设计、制作以及芯片的焊接都比较困难,因此采用购买核心板的方式,这样就可以根据设计的需要来制作底层板,这样可以节省成本,并且只要接口相同,同一块核心板可以用在不同的底板上。图1L是购买的华恒公司的ARM9核心板的实物图。核心板上有16MB的FLASH、64MB的SDRAM和三星的ARM9芯片S3C2410,核心板接口采用DIMML44标准接口。本设计的系统框图如图L2所示。核心板区域主要是焊接连接核心板的DIMML44插槽电源转换电路主要是将外部输入的电压转化为电路板上需要的3V和5V电压,采用的电源芯片为LML086一ADJ和LML08633V,LML086ADJ3卜要是将外部输入电压转为5V,5V电压可以给液晶屏供电,LML08633将5V第1章绪论电压转为33V,给电路板L的其他器件供电网络接口部分使用了DM9000芯片,实现嵌入式系统的网络连接功能串口区设计了2个串口,其中串叫1用作交叉编译环境的调试信息输出口,串口0作为扩展用。图11核心板实物图FIGUREL1PICTUREOFCOREBOARDF。一。I二一L_二三一一_一_一。一。三一。LI一一L一。二二二二二二I。一_J簪TFTR一一一一一一核心板IR一。一。一。一。一。一I核心板1一JI忙二二一K爱USB_EI。二,。二。之二_二二二二OL三。二LLIIM叫JITFT液晶屏接L用来接TFT液晶屏USB接口区,USB主接口宅要是用来接USB摄像头,USB从接LJ作扩展使用。ILJARM视频采集系统的设计与实I地在软件方面,经过比较,决定采用PPCBOOT作为引导装拔器,采用ARMLMUX作为嵌入式操作系统,采川RAMFS、JFFS2和CRAMFS作为史件系统,JEQJFFS2足町写的日志型文件系统,州以在该文件系统中存储L【台J时数缸C。软件部分除了以I各个部分的移机外,迅也升发环境的搭建,液晶驱动稃卜编写,USB摄像又鼾动的实现以及捌应的I小稃序的编写。13论文的意义目前,嵌入武系统作为个新兴的技术,正确贯穿实阿应川的各个钡域。确个|界,有100多咏半导仆公州经ARM公司授权,T产各JTQJ包的芯片。本没IF以F啦频监控系统为硎究7FJI,遽过具体的软硬件系统设计,熟恳嵌入式系统的软蚀F1开发过程,掌掷嵌入,C系统升发的基本技术。本文所研究的内容,适应当自U严技术的发展与史新,JL仃定的研究价值。第2章嵌入式系统概述及、RM介绍第2章嵌入式系统概述及ARM介绍21嵌入式系统的定义什么足嵌入式系统EMBEDDEDSYSTEM广义地沂,JL圯不用于迎川H的N0IJ编程训算机设备,就IJJ以弹足嵌入式计算机系统。举例水说,个人计勇机PC小足种嵌入式系统,川为它是用于通用目的的系统。FI儿电话系统J9C是乐川个人计算机技术矬妒的嵌入上弋II算机系统,最典掣的嵌入,C系统如手机、町戳IU【等另外还有此嵌入式系统采用特殊的微处理器,如传爽帆、打E机I。狭义上而吉,嵌入C系统是指咀应用为核心,计算机技术为基础,软硬R川找减。对功能、IJ靠一H、成本、体积和功耗严格要求的专川II锋机系统。一般的嵌入式系统的设I1过程足从产品定义开始,接着进行嫂F,L设汁,然厉将软RI政操作系统移植到6史什卜,JIFL进行应用程序的开发,最历纾过测试与调试后即JI始销售或使用。根据IEEE|1|际电7L和乜了工程师协会的定义嵌入C系统是“JJ拧I|JF】、湓事或者辅助探作杉L器F发备的装置”原文为DEVICESASSISTTHEOPERATIONOROFEQUIPMENT,MACHINERYORUSEDTOCONTROL,MOFLLTOR,PLANTS。可以“FFJ此定义从啦川I虑,嵌入式系统足软R利硬什的综合体。22嵌入式系统的特点作为专用计算机系统的嵌入式系统与通用计算机相比,JL仃以下几个蕈要I1系统内核小由于嵌入式系统般足应用于小型电子装置的,系统资源牛对有限,所以内予幺较之传统的探作系统婴小得多。F2专用性强嵌入式系统的个忖化很强,其中的软件系统和硬件的结合|J常紧密,股要I刈硬件系统进行移植,【J使仡同一品牌、同系列的产L川也I薪要根引系统艘RLILJRVI视频采集系统的设IF与寅现旧变化和增减小断进IJ0收。同时针对不同的任务,往行II篮尉系统J仃较人史I2,程序的编详P拔眨11系统相结合,这种修改和通用软F,I的“升级”是完伞小I帕概念。3系统精简嵌入式系统帔没FJ系统软件和应用软件的明髭LX分,小篮求其功能发计及。1L腿卜过卜复杂,返样NJILL利J控制系统成本,L丌J时卡利J艾现系统安个。4高实时俐OS这是嵌入式软的JI夺盐求,R毗且软件要求刚念存储,以足R岛速度。软件代N,埋求岛质量和高JRI、戈州忡。51嵌入式7I发走川HHI化宵此嵌入式JI,用柑吁,IJ以没有操作系统直接在芯片运JJ,但为了合胛地调他乡任务、利用系统资源、系统函数以及和函数库接口,JI发存必须自行选酰RTOSLREALTIMEROPELATMGSVSTEM开发平台,这样才能保HLNLI执行的实叫。R、J。F,并减少歼发叫问,NV软件质量。6嵌入式系统斋盐F发I具和环境由于基本不其备J1外发能力,即使设计完成以后,川户通常也不能对其R九0IIT序功能进行修改,必坝仃套开发工具和环境才能进行JF发。这些贝和环J,F殷是肇于计算机的40艘“没备以及各种逻辑分析仪、泓台信号示波器等。JIHJ_F手往仃主机年机、九N慨念,手机用于稃序的扦发,IL|,J机作为由2瓜的执IJ仉,开发时斋要,爻替幺I,JF进行。3常见的嵌入式操作系统嵌入式操作系统NJ以分为商_IJ型和免费型。商用型的实探F1系统功能程定、,RJ,蠢,宵完善的技术支J川11JI一服务,但往往价格昂贵。免赀JP的实时搽作系统订价格方而具囱优坍,喽ILMUXJJTL吧的嵌入式操作系统仃】CF|R儿个1VXWORKSUC/OS,但稳定性JJ】K务RI存在挑战。目6娟T稚2亭嵌入式系统概述及VIIVI介钎VXWORKS探F1系统足父R,WMDRWER公司于1983年改IFJI发的一种嵌入式实叫J兼作系统RTOS,J仃良好的持续发展能力、岛忭能的内卡幺以及友酊的JJ,1JL发环境,在嵌入式实IIJ探F系统钡域牢牢山据着一席之地。VXWORKS所仃的I特点足可铝忭、灾时州1IINR裁减性,而FJ它支拍多种处JQL器,女FFX86、1963、SUNSPARC、MOTOROLAMC68XXX、MIPS、POWERPC等等。人多效|,EJVXWORKSAPI足00的,火星机器人使川的ILJC足VXWORKS操作系统。2WMDOWSCEWMDOWSCE3O足种TF对小容量、移动式、智能化、32IR、连接设箭的板坎化实HJ嵌入J弋操F1系统。针对掌L设备、无线设备的动念胁川柑序和服务提FJI了种功能二富的探作系统17台,WLNDOWSCE嵌入式小够实叫,槲于软实HJ垛F1系境。南于其WMDOWS背景,界曲比较统一认可。操作系统的上L小内核需要午,200KI/JROM空问。3PALMOSOS足蒋名的H络设备制造商3COM旗下的PALMCOMPUTMG掌电脯公川PALMH“J产品。PALMOS在PDMB场J二占有很大的市场份额,IL酊J1眨与WINCE进“激烈竞争。4QNXQNX足加争人QNX公,J的J”品。它足舀,X86体系上九JL技FI来的,驯的女F多RTOS都足从68KFL7,JCPU|FNF丌发成熟,然后再移植至1X86体系L面米的。QNX“I个实州的、司扩充的探F1系统,它部分遵循POSIXXI父杯III,由于QNX贝FI泊I人的图形界面功能,队I此很适合作为桃顶盒、手持设备丁。IU脑、手牡L、GPS躞各的实吲探作系统使川。5LAC/OSMMROLABROSSECONTROLLEROPERATINGSYSTEM,微控制器操作系统它是南又I入JEAN1992年完成的。应川向覆盖了诸多领域如照卡机、队,器械、出。U日设备、Z乏动机控制、高速公路I【I话系统、自动提款机等。1998I丁F级剑LAC/OS一11,2000L,得剑美国航。管,4FAA的认证,可以用于飞J器J。JLJ、RVI视频采集系统的设IL与实现6嵌入式LMUXLMUX的核心址山LMUSTORVALDS在1991年开发出来,JI放纠叫络上供人家4K学习使用。开放IJ代码,内核小、功能强大、系统健斗、效卒高、易J裁减。,J以支持数十种CPU芯I。嵌入式LMUX就足指对LMUX经过小犁化裁减后,能够LE1SE亿容量只有几百K节歧JL兆字节的储存器芯片中,用】特定嵌入式场合的专川LMUX探作系统11112111114I。24选择LINUX的原因以上常见的嵌入式操F系统,虽然提供了很多高级的功能,如图形月J户界州和L、Q络支持,但这叱号川操作系统鄙是商业化产品,其岛BLJ的价懈使许多低J,旧小公司望而却步矶1IJ,9,鸦封闭性也大大限制了丹发析的年5极性。另外,结合伐【日幽情,当前刚家刈NI探作系统的大力支持,也为源代外放的LLNUX构抑JT供了广阔的发J隧FILJJ,逸FLLNUX有以下几个原闪1町应用寸彩种F幔、I7台。LMUX已经被移植到多种硬彳117台,这刈受“销、叫问限制的研究OO开发JJ1足很何吸引力的。可以香标准、,臼I开发然后移桕纠J体的硬佴上,JILLJ陕了软F1J硬佴的开发过程。2LMUXFIJ以随意N勺雌竹,不需要任何的许可汗或向家的合作关系。LLF卜一的IIIF|J|J足开发者必须做刘LMUX十区有益的改动。3它足免费的,沈代码町以得到,这是最吸引人的。,2无疑问,这会节省人F的升发费用。LMUXLLI外就是一个自由、开放的EI目。4优秀的州络支舶,微内核直接提供网络支持,而不必像其他操作系统篮外JTCP/IP协议包。5LMUX高度使块化F汝加部件非常容易。6LMUX在台JLYLFHJ成功,也保证TLMUXZT嵌入C系U11的辉煌FJIJ。基一J_“LMUX的嵌入JL抓F1系统常见的有ARMLLNUX、RTLMUX和11CLINUX等。小。殳IF中选择ARMLMUXFL为操作系统61。25ARM介绍锄2节嵌入式系统概述及VIIVI介绍ARM即ADVANCEDRISCMACHINE的缩写,既呵以认为址个公司的幺,也R,以认为是对一类微处川1器的通称,还可以认为足一种技术的名字。ARM公司,L0FJ从JRJILJRISC技术芯片发I片发的公川,作为知U铲一权【心商,本身不直接从事芯”,T产,靠转让设计许町由含F1公,IJ乍产各【牛|J包的芯JI,世界各大半导体生广J。尚从ARM公司购买其设讨的ARM微处理器核,袱JLF许FJ不叫的应用领域,加入通“1的外围电路,从而形成FILNJARM微处邢芯JI边入市场。IJFI,个世界仃儿1一家人的半导体公司都使JLJARM公司的授权I州此,L见使得ARM技术获得殳彩的第方工具、制造、软什支拍,辽披整个系统成小阶F工使产品吏容易进入FLJ场破消费吝所接受,更只F竞争力。采用ARM技术知U扩十义IP核的微处珲器,即我们迎佑所说的ARID微处,|,器,已遍及1QP控制、_JJ货炎电子、通信系统、州络系统,无线系统等各炎F一H仃场,望RARM投术IJ,J微处理器的应用约占据了32位RISC微处,IL嚣75以二的IH场份额,ARM技术LF在逐步渗入到我们生活的各个厅“,采用RISC架构ARM处理器收具仃I人特点LIJ1小体积,低功耗,饭成本,赢性能。2支持THUMB16忙/ARM32位双指令集,能很女川0兼容8位/16伊搽。3全球众多的合FI,LM11117I。251ARM处理器系列ARM处理器III也以卜儿个系列ARM7系列,ARM9,ARM9E系列,RML0E系列,SECURCORE系列,INTEL公司的XSCALE和STRONGARM等等。琮了J7RARM体系结4JJJL特点以外,每个系列的ARM微处驯器郜有各FL的特点椰啦朋领域。在所仃系列F1,ARM7、ARM9、删10E为4个通JFJ处理嚣系列,J个系列提供一榭划独的性能柬满足4I同应用钡域的JI水。SECURCORE系列【,J为安全要求较“的膨川向设计。XSCALE系列忖能L岛达1200MIPS,功托测B为UW/MHZ,并且所仃体系纪陶兼容131。址J、聃视频采集系统的设IL与宜现ARM9系列处岬Z已N高性能和低功耗特恬方面挺供了佳的件能。它J【仃以下特点15级整数流水指令执行效率更高。2提供1LMIPS、ILTZFFJ哈佛结构。31支持32俯的生AMBA总线接口。4全。阽能的MMI支、WMDOWSCE、LMUX、PALMOS等多种主流嵌入C探,1|系统。5MPU支持实传J,OF系统。6支持数据CACHE剐指令CACHE,具有更高的指令和数JIL处理能力。ARM9系列微处刑H包含ARM920T,ARM922T和ARM940T,以适J于小|LIJ1,9应用场合。ARM920I利ARM922T采用双8KB的CACBE,之持仝性能的MMU,RM940T采用烈4KB晌CACHE,内霞保护单元。它们为婴水憧拟存储管删和1复杂内彳保护提供了个一二能的处理方案,叮以用J。高竹能尤K心J、网络,图像、LJ视频编解码等疗面。本次设计采川SAN,TMG公司的3C2410即属J二该系剁的处岬器。252ARM体系结构传统的CISCCOMPLEXINSTRUCTIONSETCOMPUTER,复杂指令集计算机结构F1FE同有的缺点,随着IF”机技术的发展而不断引入新的复杂F|,J指令集,为支扎返一I弋新增的指令,TL锋卡JL1仆系结构会越来越复杂。然咖,以CISC的指令集的再种J彳令中,其使用频率一|彳怂殊,大约有20的指令会破反复使用,DR整个M代码的8TY,4,而余FFIQ80的指令却不经常使用,自群序波IF,T,R占20。显然,这种结构不太合理。基于以上的小合列1979年美国加州大学FFL克利分校扭M了RISCREDUCEINSTRUCTLONSETCOMPUTCR秭简指令集计算机的概念,RISCJI1IR是简单地、“K,指令,而是把I眼J,Z存了如何使计算机的结构更加简、F1合理地提,运算逃F生1。RISC结构优先选L,他川频率最高的简单指令,避免复尔指令将指令K嫂讹2章嵌入式系统概述及VIIVI介绍JC,指令格,C和、址厅,L种炎减少以控制逻辑为小川戚少用微6Q抒制JH世柬达到I述H们。刨H劬为止,RISC体系绵构也还没有严格的定义,舭认为,RIS体系毛L,十|FT只有如下特点1采J1J叫定K发的旨令格式,指令灿整、简誓、丛本、地疗式有23种。2使刚甲川删指令,使R流水线操作执行。3大掣使J奇存器,数掘处胄F指令只对寄存器进IJ探F1,只有加级、存储R夸”,以访问存储器,以抛R岛亍令的执行效率。J然,和CISC架构JR/I比较,尽管RISC架构有上述的特A,FIL决小能认为RIS1埭构就可以取代CISC架陶,J实上,RISC和CISC子仃优势,LIJ且界M门不删么JJ硅。现代的CPUJ_IR求IIJCISC的外NL,内部加入了RISC旧特性,如超K指令Q、CPU就足融合了RISC年|CISC的优势。ARM体系2IIJ物纠,R了RISC纷孥勾。JRR加拔和彳,储指令町以圻M行能器,数掘处理指令只剥寄打器的内容逊J煤F1。川州ARM体系禽弁了RISC寄存器窗LJ,延迟聋专移和所仃T川弁令周期ARM体毳结构目前坡公认为足QJ,崧钡先的32位嵌入式RISC微处删器结构。所FFARM处一IJ器共亭这一体系结构。八LIL】确保了丌发者转向史高性能的ARM处理器州,仉4上可以得到更人的报I。26嵌入式系统的应用1嵌入式系统在无线通信领域的应用有手机、小灵通、钾能手机等,850/OU,I的无线设备丁饥等_|J采用了ARM技术,砬向3G丁F级过程中,ARM的地F,也非常稳I占J。嵌入】CFI,JH如21所示。2嵌入式系统在消优炎电子中的应用迅速增乏,如放7“频播放器RAP3、孜视频插放器MP4、数产机顶盒和游戏机等。甚1、RVI视频采集系统的设计与寅现IJ塞|21嵌入式应用图FIGNRE2IPICTUREOFEMBEDDEDSSTEMAPPHEATLON3嵌入式系统也,个LCD专用DMA。4个带外挪请爿、K的DMA。3个通用片步I一“LJIRDAL0,16BYTETXFIFO,AND16BYTERXFIFO,2通道SPI。一个多二J12C_K,一个12S总线控制器。SD主接LJ版本L0年多媒体号协议版本211兼容。两个USBHOSR,。个USBDEVICEVERLL。4个PWM定H、七和个内部定时器。看J狗定H0器117个通川I/O24个外部II晰电源控制梭式1、HI、慢速、休眠、调电。8通道10他A【1和触摸屏接口。带日历功能的。0、J叫钟。芯片内置PLL设计用于于拍卉和通HJ嵌入式系统。16/32位RISC协彖纪构,使用ARM920TCPU核的姒人指令集。,带MMU的先也体系结构支持WINCE、EPOC32、LMUX。第3审SW2410微处珲器指令缓存CACHE,、数捌缓存、写缓存霹物P4地川TAGRAM,减少了对存储器带宽和,RIFIBANK0,NGCS00LIIJNANDFLASH启动H3I史用NANDFLASH启动23C2410复位后存储器映鲥图FGTUC323C2410MEMODMAPAFTERRESET15第3章3C2410微处瑚器BANKO剑BANKL的JL女M血址是固定的,BANK7的J始地址址BANK6的绵“地“,之JI町变,JIHBANK7的人小与BANK6的大小必须州等。如粜BANK6设N为2MBIJANK6的起始地川怂OX30000000,截JI地址是0X301FFFFF。TIII么,BAN7们起0台地址足0X30200000,T1I地址是0X303FFFFF。所有的奇打器组均可JLJJROMK者SRAM,BANK6、BANK7还叮用于SDRAM。所有内存JJ,JFJ访问川别酃IIJ自一1。除BANKO外,JE余行仃似器的总线宽度可编利砹嚣为8F,16位或齐32似,川足BANKO只能改胃为16位或暂32位。BANKO作为,JL吁ROM,地XII映自J州TX000030000,总线宽J奠【纤一复付日D由OM001确定了J3本章小结本章对ARM处删器3C2410的外围功能模块进行介FJI对芯片的系统了洋细说明。从IM刈3C2410这款芯片有个总体认识。祭YRVI税频采集系统的设计B实现第4章嵌入式系统开发环境建立41嵌入式系统开羞环境概要绝大多数的LINUX6R什JL发郜是以NATIVE方式进行的即小机HOST开发、T幺种方式通常不适合于嵌入式系统NJ软件开发,IQ为州。司试,本机运行的疗IJ。嵌入式系统的“发,竺仃足够的资源在本机即开发扳L系统运行开发TJ【和调试工具。通常的“,C系统的软件斤发采_J一种交义编IF调试的方,C。交炙编译调试环境建竹JFLI。帆即一台PC机上,对应的F发板叫做日杯扳。开发刚使用彳上目。L的交叉编译、汇编及连接R具形成川执行的二进制代IJ5,这种可执行代码并4EN宿主机上执行,而只能稿F|午,J、板I执行。然把J执行文件下载到I|杯PI运行。调试的方法很多,可以伎川IIIU,以久H【J笛,L体使用哪种调试方JT以根据目标机处理器所提供的支舶FI选择。LFI机和|I标板的处理器股4,宿七机为INTEL或AMD处理器,F标板为SAMSUNG3C2410等嵌入式芯,1GNU编I辛器提供这样的功能,舀编千“,6洋器时IJ以选抒JI技所需的宿主机和口“H从向建立开发环境。所以台进IJ丌发“口需要一臼装仃斤JT探作系统的PCYL作YJ0FJ开发机,宿主机上的操作系统一股要求安装LMUX,此2训安装的是REDHAT9JJ荣作系统,然后在宿主机上建立交义绷I手调试的肝发环I。JL芡入式开发模式P的自、庀连接一般如图4L所示7118I。L刮4L嵌入式升发模式下的系统迎接LTIFLGURE41SYSTCRNCONNECTPICTUREOFEMBEDDEDDEVELOPMENTMODE锕4最嵌入式系统歼发环境缱节42在宿主视上建I_立LARMILNUXGEC交叉编译环境淄_J乏片J的源代“5N0版本如FBMUTDS一2GCCG十机2953TARGZ,GHBC一224TARGZ,HRLUX一2421TARGZPATCH2421一RINKLGHNUXKERNEL14TARGZGCCCORE2953TARGZGHBCHNUXTHREADS一224TARGZ,PATCHFORA1133。戊们先曲LMUXFLJBASHP改定些环境变蟹EXPORTVBINUTILS214EXPORTVGCC2953EXPORTVGLIBC224EXPORTVLINUX2421EXPORTVLINUX_P连TCFMKLEXPORTPREFIX/ARMTOOLSEXPORTTARGETARM一ILLUXL螽瓣鑫令跫囊BASHJ匆令F徐入豹,簸入完之后会江帮童放,IHTOGOUTFIOGMI栈无效了。也J以把返与I舟句填加到BASHRC文件中。如粜泓III到BASHRC22F,FFI,JJL么,I|CJ甜婴LOGOUTILLLOGM次才能生效,并且只要这砦讲句迅F1BASHRC义F1中,帆0煮蠢霰。CDMKDLRPTARS/SOURCEDWMK,ARCH是上行的续行,/卜赴SHELLF1的泞释,它也足盐输入的。如果你从浏览器IE,NETSCAPE,ETC_K复制料咿I返HSCNPT宝LL你的BASHCONSOLE,它很有LIJ能小LF1二但你在BASHCONSOLE鬯J三1输入挑11J以J们。W为FJ州复制过来后,足ARCHARMRN,而能工作的是ARCHARM、RR。4建立连接设计IL使用的缝S3C24LO的CPU,NGGR躺MAKES3C2410_DEFCONFIG,然“1FJLL,1MAKEMENUCONFIG边IJ雕馑即R叮。5拷吸头文件RNKDLRPPREFLX/TARGEL丫1NCLUDECPDRMCLUDE/HNUXPREFIX/TARGET/INCLUDECPDRMCLUDE/ASMARMPREFIX/TARGET/MCLUDE/ASM6为GCC建妒一个HNUXKERNEL头文件的连接。编泽GECLL,L,它需要HNMKERNEL的头文件,你可以用一MTHHEADERSPREFIXITARGET/1NCIUDE柬指定头文件的伸L彳,GCC把它拷R5QJSPREFIX/TARGET/SYSINCLUDE。我们J以建立个SYSMCLUDEJI接,就小JWLTHHEADERS了。CDSPREFLX/TARGETINSMCLUDESYSINCLUDE422编译安装BINUTIIS20早卜RM视频采集系统的设计J实现这里用小到1IIFIJFI衙IIJLMUX义文件。1解比缩CD/TARS/SOURCEDLRTARZXF/BMUTFLS一VBINUTLLSTARGZ2编译CD/TARS/BUDDDLRMK婴的,川M邑也总会有铝以。洲此我们只编译C语言的编芊器。后IHI第二次编许的时似也足这个问题,我们JL编I千C和C的编译器。2修改GCC的THNUX史什在THNUX文F1中IIJTARGET_LIBGCC2_CFLAGS上加JHRPOSLLB和MHJBLTHBC,其FIISED命令从THNUXORI93艺件读入数据,将绵果输H到THNUXCOREIH输1串嵌入式系统J1发蚪J电建寸CDGCC一VG1C/GCCCONFIWARMMVTHNUXTHNUXRWLSEDS/TARGFTIDJTHRIBGCC2一CFLAGS/TARGETLIBGCC2一CFLAGSPOSLX_HDMHLHTHBC/THNUXCORECD/THNUXCTEIIN,U3绷IFCD/TARS/BULLDDIRRNKDLRGCCCOFECDGEECORE/SOURCEDLR/GCESVGCC/CONFIGURE一TARGETTARGETPRENXPRI三FLX、ENABLELANGUAGESC、一DISABLESHINEDRDISABLETHLETIDSMAKEALLLNSTALI424编译安装GIIBC1舻FJLJ铴CDAARS/SOURCEDLRTARZXF值HBCGLIBCTARGZCDGHBCVGL,IBTARZXF/GHBCHNUXTHREADS一VGLIBCTARGZ2编F于CD一/TARS/BUDDDITMKDWGHBCCDGHBCCC2STARGERGCCAR一TARGETARRANLLB2TARGETRANHB、/SOURCCDL睡NOCSVGLIBC/CONFIGURE一TARGET2TARGI122坫J。、洲税频采集系统的设汁与实现一PRE氍XPREFIX7TARGET,ENABLEADDOISMAKEALLINSTALL425编译安装GCC的C编译器1恢复THNUX义RICD/TARS/SOURCEDLR/GCC一VGCC/GEC/CONFIG/ARM/CPTLMUXORLGTLMUX2斛JIJ绵C编IF料CD/TARS/SOURCEDLRTARZXF/GCCG、GCCTARGZCD/TARS/BUDDDLRMKDLRGCCCDGCC3编I1/SOURCEDLR/GCCSVGCC/CONFIGURE一一TARGET2TARGET、一PREFIXPREFIXIENABLELANGUAGESCC一WITILINCI】LD一I|LLX1MAKEALLMAKEINSTALL,1如果R钱的JDFILENAMETARBZ2,你川以刚如下命令之斛JIJ销,第硎,JL/FII系统一LI部仃放,TARJXVFFILENAMETAJBZ2TAR1XVFFILENAMETARBZ2BZLP2一DEFILENAMETALBZ243TARXVF一NFS和TFTPR陵务器的配置23筇1帝嵌入式系统”发吖,境建口ARMII必入JC系统JI发,除了交叉编阡耶境矬扩,为了史乃使系统外发还JI,_NFS年L|TFTPJ雎,边IJFILJJ1NFS配W阿先订REDHATLMUXPCOLSHELL提示符ROOT】执IJSETUP,弹F浆舭界IFIL0IQ43所1。H43SETUP泉单界I自L七FIGURE43SETUPMENUPICTURE,量小SYSTEMSER,ICE,1逃入系统服务选项菜译,在其中选RINFS,然JI越ELUP羿IFIL返川刘命令抛小杓FVIM/ETC/EXPORTS将这个耿认的_。文FLF吩L15为J仃如下一JJ内容/RW然JJ侏仃遐MWQ,然LJ执J如下命令/ETC/RCD/LINTD,NFSRESTARTSHUTTINGDOWNNFSMOUNTD【OK】SHUTTINGDOWNNFSDAEMON【0K】眼JLR、1税频采集系统的设汁I寅现SHUTTINGDOWNNFSQUOTAS【OK】SHUTTINGDOWNNIS【OK】STARTINGNFSSELICESOK】SERVICESSTARTINGNFSQUOTAS【OKLSTARTINGNFSDAEMON【OK】STARTINGNFSMOUNTD【OK】配胃完之后,尚喽测试FNFS足否眦咒灯。PC机FLJIP地川为192168212,IC“LL。FL己MOUNT|,IL丌址FR成功眦J以,ILGFINFS足舟眦竹好了。MOUNT1921681122,/MNT士1/MNT/|L求R,J以川小JL根求的所有史RI和N泉,说I|JJMOUNT戊耽,NTSL1、成功。2TFTPIJI_务I内MIFFPCTJI,1执HSETUP选扦SYSTEMSERVICES,将其III的TRIP一项选【IJIJ】IQCHAINS和IPTABLES,纱ILT边抒FIREWALLCONFIGURATION,选ILLLLNOFIREWALL。最JII逃SETUP,执行如R命令【功TFTP服务SERVICEXMETD1ESTANL竹宄成后,测HTFTI叭,器怂古L“用,LJN奠】LTFLP自L,在PC讥J执JCD/CP/ETC/INITTAB/TFIPTXOT,TRIP192168二ITRIPGETINLTTABI脱如R亿息RECEIVE7415I二BYTE,07SECONDSITLTFTPK务器眦竹帔0F1跟F录P就会仃140/J卜J级的INLTTAB义FI仃/13I。44本章小结小一1L介绍了皈入一LJL发一L的交义编I季环境刷嵌入式外发的一般换,C,JI“细R“了交义编IFJF、L讣0DJ以及NFS和TFTP服务器的眦什。利嵌入JCJ卜发水啦,C义编阡川、境KN岐,匕址F求ILLJF发顺利进J的LI,足我FLJ进行嵌入式门发旧第4章嵌入式系统开发环境建立基本工具集,搭建好这个环境,我们在开发过程中才能得一TL,应手。TFTP服务器配霞同样非常重要,如果没有配置好,则目标板就没有办法使用TIEPIN_过以太网下载镜像文件。NFS配置并不是必须的,但有这一项服务,可以大大方便调试应用的开发。轼J、聃视频采集系统的设计与实现第5章系统移植51BOOTLOADER工作原理BOOTLOADER是系统加L乜船动运行的第段软件代码。通过PC的体系爿R榴投们,L以知道,PC机,的0I甘JJLL载程序由BIOS其本质就足段定程序干位于他胤MBR中的引学程序起组成。BIOS在完成硬件榆测和资源分配后,将硬“MBR中的引导稃序读剑系统的RAM中,然后跳转刘内核钓入口点去运行,篷即J始启动操作系统。由于在嵌入式系统中,通常并没有像BIOS那样的LALFL利序,因此整个系统的D裁启动任务就完个由BOOTLOADER来完成。对于一个嵌入式系统,可能仃的包泶作系统,有的小掣系统也”J。以只包括应用程序,似足柏这之IH郴需要BOO,LOADER勾它准备一个正确的环K。通常,BOOTLOADER是依赖了二硬纠I,F的,釉51J是嵌入,TC领域,为嵌入式系统矬、,。个通用的BOOTLOADER足很八册的一简单的说,BOOTLOADER足在操作系统内核或用,、应FJF7膨运行之前延IJ的段小程序。可以初始化礁F1技备、建立内存空间的映射图,从IM将系统的软硬RF蚪J皑带到一个合适的状态,为最终调用操作系统内存或J户应川程序准备,止确的JF境。大多数BOOTLOADER都包招两种不同的操作模式“启动枷Z置”模式和“下拔”蜒式。从最终1J广T的角搜石,BOOTLOADER的作用是用来加毅拟作系统,1不打RL所潲的启动加载模式与一P段模式的区别。启动加裁模式这种懊,C也称为“自主”模式。也即BOOTLOADER从J杯机I旧浆个固态存储设备将垛作系统加载到RAM中运行,整个过程并没仃JFJ户的介入。这种模式是BOOTLOADER的正常模式。下载模式这种谈C,目标机上的BOOTLOADER将通过IIIU连接或删络辽JI通信手段从主机P载史彳1,比如,下载内核镜像和根文RI系统镜像等。从二I二帆P拔的文件通常卣允破BOMLOADER保存到目标机的RAM中,然后破BO01LOADE,1J到目标板上的FLASH光态存储设备中。BOOTLOADER的返种模式通常舀第次第5章系统移植安装内核与根文件系统时使用此外,以后的系统更新也会使用BOOTLOADER的这种模式”1。52启动代码的移植在嵌入式系统中,有许多成熟的启动代码,例如ARMBOOT、BLUECAT、REDBOOT、PPCBOOT、UBOOT、VLVI、BLOB等。在本设计中采用PPCBOOT作为启动代码。PPCBOOT是一段引导代码,就像我们使用的PC机的一开始的引导代码BIOS一样,主要完成CPU、SDRAM、相关寄存器的初始化的,股情况下无须每次都要烧写或更新,只有在系统崩溃或需要改变PPCBOOT中的内容,才考虑更新或烧写。在本系统中,PPCBOOT主要完成如下工作1建立和初始化RAM这个工作是必须的,要探测RAM的位置和大小,并对RAM进行初始化。2初始化一个串口通过这个串口来打印信息,可选。3检测板子的系统结构通过某种方式来探测系统类型,最后传递给内核一个MACHTYPEXXX值,这些值参照/KERNEL/ARCH/ARM/TOOLS/MACHTYPES文佴。4建立内核的标记列表TAGGEDHST启动参数标记列表以标记ATAGTAGCORE开始,以标记ATAGNONE结束。每个标记由标识被传递参数的HEADER结构以及随后的参数值数据结构来组成。数据结构TAG和TAGHEADER定义在LMUX内核源码的INCLUDE/ASM/SETUPH头文件中。ATAGCORETAG可以为宅。一个空的ATAGCORETAG的SIZE字段为2。ATAGNONE的SIZE字段必须为0。在嵌入式LMUX系统中,通常需要由BOOTLOADER设霞的常见启动参故有ATAGCORE、ATAGMEM、ATAG_CMDLINE、ATAGRAMDLSK、ATAGINITRD等。一个最小化的TAGGEDLIST应该包括ATAGCORE、ATAGMEM、ATAGNONE。标记列表应该放在内核解压和INITRD的BOOTP程序都不会覆盖的内存区域。建议放在RAM起始的16K内。5调用内核镜像可以从FLASH中调用,也可以从RAM中调用112】F131。辕J、RVI税频采集系统的设计与寅现PPCBOOT的源代码也J扎要进IJ二配置和编泽才能牛成町以存2410平台J执行的IJJIL行文件。编译的步骤如PMAKE如粜FLASHILT已经烧写IU版本的PPCBOOT,现仉要更新一P,TL/Z,LIJ以使用PPCBOOT门身水。戈班,就是在PPCBOOT的命令界面卜通过网线使HJTRIP命令将新生成的PPCBOOTBLNP毒芟到SDRAM中,然后用FL命令烧写到FLASH上,垃IH抻原来的PPCBOOT即IIN用PPCBOOT自我史新的过程在MLNLCOM中的打印信息如。PIIIHLL划线的部分足在MMLCOM中输入的命令PPCBOOT200FJAN24200515。1544PPCBOOTCODE33F00000一33FL53E8DRAMBSS一33FL886CONFIGURATIONBANK03000000064MBFLASHMEMORYSTARTOXL000000DEVLCEIDOFTHEFLASH1S18FLASH16MBWRITE18TOSTARTHNUXWATCHDOGMDNIS仟FLOWNOWY/NSMDK24LOTRIP30008000PPCBOOTBINI/08000300VID90000A46NETOURLPCOA80278NETSERVEDPCOA802L9NETOURGATEWAYIPCOA8020LNETOURSUBNETMASK仟矸M029第5章系统移植ARPBROADCASTIARPBROADCAST2TFTP仔OMSELVEL192168225OURIPADDRESSIS1921682120FDENAMEPPEBOOTBMLOADADDRESS0X30008000LOADING群群群群瑚嵴群槲桦释DONEBYTESTRANSFERRED8944815D68HEXS加K24LO群旦QQQQQQ3QQQ8QQQ2QQQQERASINGFLASHLOCATIONS,PLEASEWAIT【XXXXX】ERASED1SECTORSPROGRAMMINGFLASH,PLEASEWAIT奉丰幸率宰率幸枣率率奉率丰年木SMDK2410牟此时在FLASH中的启动代码已经是更新过的了,重启之后就会使用新的PPCBOOT了。重唐后的信息如下PPCBOOT200SEPL20060934521BSS一33F191FCPPCBOOTCODE,33FOOOOO33F15D68DRAMCONFIGURATLONBANK撑O3000000064MBFLASHMEMORYSTARTOXODEVLCEIDOFTHEFLASHIS18LMELE28FL28J3AL50MLTFIMSHEDLFIFLASH16MB上面我们可以看到,PPCBOOT已经是SEP是JAN241200609345的版本了,原来的版本2005151544。BOOTLOADER在嵌入式系统中具有两种作用一种作用是初始化系统,引导启动嵌入式操作系统另外一种作用就是初始化串行口和网络部分,然后通过网络下30,LJRVI视频采集系统的设计卜了寅现戒嵌入式探作系统的川LLIJ文件到RAM中,必要时烧写到LLASH中,通过串JLJF网络构建开发渊试王L、I如图5L所示。圈5FIG511BOOTLOADER的双币角色DLIALROLESOFTHEBOOTLOADER实际上,BOOTLOADER们移植比较复杂,难度也比较大,J小同的嵌入式托删、FLASH和SDRAM出J1,BOOTLOADER的配置代码都足小川旧,特别芷刈IJ芡入JLI制器避行配百|FRJ邵分,J。I本需要使用所选芯片的JF编IF1进行绵利,这J凡崆J所选芯片的寄订器笛【2热悉。由于本设计的重点小N二BOOTLOADER自7J移他1八此在本设计中,接使川了L经移植好的PPCBOOT代码,JZIJT进行了编I千和L、一K,并利用其提FJI的JJ能刈经个系统进行调试。53操作系统ARMLJNUX内核的移植内核足一个操作系统旧仫心。它负责管理系统的进程、内存、设备,婀如】程序、FLFLL网络系统,决定F乐统的性能和稳定性。LMUX的一个IF要的4I_L就是其源代码的公开性,所仃N0内核源程序都FFT以F1USR/SRC/HNUX下找JIJ,人L4,心用软件也都是遵循GPLGENERALPUBHELJCEN。EFIF的,你都可以扶取棚一,的源稃序代码。全世界任何一个软F1I程师都J以杓I第5章系统移植己认为优秀的代码加入到其中,由此引发的一个明显的好处就是LMUX修补漏洞的快速以及对最新软件技术的利用。而LMUX的内核则是这些特点的最直接的代表。由FLMUX的源程序是完全公开的,任何人只要遵循GPL,就可以对内核加以修改并发布给他人使用。为了确保这些无序的开发过程能够有序地进行,LMUX采用了双树系统。一个树是稳定树STABLETREE,另一个树是非稳定树UNSTABLETREE或者开发树DEVELOPMENTTREE。一些新特性、实验性改进等都将首先在开发树中进行。如果舀开发树中所做的改进也可以应用于稳定树,那么在开发树中经过测试以

温馨提示

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

评论

0/150

提交评论