(测试计量技术及仪器专业论文)基于uclinux的移动gps终端软件研究.pdf_第1页
(测试计量技术及仪器专业论文)基于uclinux的移动gps终端软件研究.pdf_第2页
(测试计量技术及仪器专业论文)基于uclinux的移动gps终端软件研究.pdf_第3页
(测试计量技术及仪器专业论文)基于uclinux的移动gps终端软件研究.pdf_第4页
(测试计量技术及仪器专业论文)基于uclinux的移动gps终端软件研究.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

(测试计量技术及仪器专业论文)基于uclinux的移动gps终端软件研究.pdf.pdf 免费下载

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

文档简介

基于u o iin u x 的移动g p s 终端软件研究 作者简介:邹毓仁,男,19 7 9 年1 2 月生,2 0 0 3 年从师于郭勇教授,于2 0 0 6 年6 月 毕业于成都理r - a 学测试计量技术与仪器专业并获工学硕士学位。 摘要 传统的嵌入式设计需要完全由开发人员调配各种系统资源如:内存空间,中 断资源,各种硬件单元的寄存器设置读取等。而随着电子信息技术的飞速发展,嵌入 式系统的功能以及涉及到的硬件资源越来越多,设计越来越复杂,因此传统的设计方 式变得非常繁琐,已经难以保证系统的稳定可靠。于是,操作系统被引入嵌入式系统 设计,出现了嵌入式操作系统。 嵌入式操作系统的优势在于,设计中软件的硬件部分分离,整个系统的资源完全 交给操作系统调配,应用程序不用关心硬件的工作、中断相应以及内存分配等底层的 问题,将开发人员从繁琐的各种资源的调配工作中解放出来。 本文以移动g p s 定位仪的软件设计为例,详细说明如何进行嵌入式操作系统的 开发。 本文首先介绍了有关基于嵌入式操作系统的软件开发的基本情况。 然后介绍了设计中的开发平台,包括使用基于a r m 7 系列的s 3 c 4 4 b o x 微处理 器的开发板,安装交叉编译系统的主机,如何建立主机和开发板连接。 以及由于s 3 c 4 4 b o x 微处理器不带有m m u 单元,故采用专门为此类微处理器 设计的u c l i n u x 操作系统。 接下来是本文的核心部分,介绍了基于嵌入式操作系统的软件设计通常包括三个 部分:操作系统的移植、驱动程序的设计、应用程序的设计。 跟着介绍了如何编译u c l i n u x 内核,如何在开发板上下载运行u c l i n u x 内核和应 用程序。 最后是测试、结论和下一步开发的建议。 关键词:u c li n u xg p s 嵌入式操作系统移植驱动 r e s e a r c ho fm o b i l eg p st e r m i n a ls o f t w a r ed e s i g n b a s e do nu c l i n u x i n t r 。d u c t i o no ft h ea u t h o r :z o u yy u r e n 。m a l e 。w a sb o r no nn o v 1 9 7 9 u n d e rt h e g u i d a n c eo fp r o fg u oy o n g ,h ew a sa w a r d e dt h em a s t e r sd e g r e eo f t e a s u r i n g a n dt e s t i n gt e c h n o l o g i e si n s t r u m e n t a t i o ni nc h e n g d uu n i v e r s i t yo ft e c h n o l o g y o nj u n e2 0 0 4 a b s t r a c t i nt r a d i t i o n a le m b e d d e d - s y s t e md e s i g n t h ed e v e l o p e rm u s tp r e p a r ee v e r ys y s t e m r e s o u r c e s ,f o re x a m p l e :r a m ,i o ,s e t u po rr e a d & w r i t er e g i s t e t s b u tb yt h ed e v e l o p m e n to f e l e c t r o n i ci n f o r m a t i o nt e c h n o l o g y , t h er e s o u r c e sa n dt h ef u n c t i o n so fe m b e d d e ds y u s t e m b e c o m e m o r ea n dm o r e ,t h ed e s i g no fe m b e d d e ds y s t e mb e c o m em o r ea n dm o r e c o m p l e x s ot h et r a d i t i o h a lm e t h o do fe m b e d d e ds y s t e r nd e s i g nb e c o m ev e r yc o m p l e xa n d h a r dt oa s s u r es t a b i l i t yo ft h es y s t e m f o rt h i sr e a s o n ,o s ( o p e r a t i o n s y s t e m ) i su s e di n e m b e d d e ds y s t e md e s i g n , a n de m b e d d e do sw a sa p p e a r e d t h ea d v a n t a g eo fe m b e d d e do si s :i nd e s i g nb a s e do ne m b e d d e do s 。t h eh a r d w a r e a n d t h es o f t w a r ei ss e p a r a t e d t h ea p p l i c a t i o n sn e v e rd i r e c tr e l a t ea b o u tt h eb e t t o m o p e r a t i o n f o rw x a m p l e :t h e h a r d w a r ew o r k , t h ei or e s p o n da n dr a md i s t r i b u t n e d e v e l o p e ri sl i b e r a t e df r o mt h ec o m p l e xr e s o u r c e sp r e p a r e 1 1 1 i sp a p e rp a r t i c u l a re x p l a i nh o wt od oas o f t w a r ed e s i g nb a s e do ne m b e d d e do sb y t h ee x a m p l eo fm o b i l eg p s r e r m i n a l t l l i sp a p e rf i r s te x p l a i ns o m eb a s i ct h i n ga b o u ts o f t w a r ed e s i g nb a s e do ne m b e d d e d o s t h e nt h ep a p e re x p l a i nt h ed e v e l o pf i a t h o wt ou s et h ed e v e l o pb o a r d ( b a s e do na r m 7 m p us 3 c 4 4 b o x ) ,h o wt oi n s t a l lc r o s s c o m p i l et o o l so nh o s ta n dh o wt ol i n kh o s ta n d b o a r d t h ef l o w e ds e c ti st h ek e r n e l o ft h i sp a p e r 1 te x p l a i nt h r e ep a r to fd e s i g nb a s e do n e m b e d d e do s n o s et h r e ep a r ta r e :t h ep o r to fe m b e d d e do s ,t h ed e s i g no dd r i v e r s ,t h e d e s i g no fa p p l i c a t i o n t h el a s ts e c ti sa b o u tc o m p i l ed o w n l o a da n di a nt h ei m a g eo fu c l i n u x t h el a s ti st e s t ,c o n c l u s i o na n ds u g g e s ta b o u tt h en e x td e v e l o p k e yw o r d :u c l i n u x ,g p s ,e m b e d d e do s ,p o r t ,d r i v e r 引言 引言 随着电子倍息技术的发展,嵌入式系统功能得到了极大的提高,但这也带泉一个 问题传统盼嵌入式开发手段已经越柬越不& 适应毅婀环境。出于嵌入式系统功能 越来越负责,微处理器越来趣先迸,涉及到的磷件资源越来越多,软件算法、数据结 构也越来越繁琐,软硬一把抓传统开发方式也就越来越无法处蠼。 在这种背荣下,一种新的嵌入式系统开发方式基于嵌入式操作系统的开发诞 生了。这种新的开发方式将操作系统引入嵌入式系统的开发中,由操作系统担当整个 系统的“大管家”,统一调配各种软硬件资源。 这样,硬件资源交给驱动程序处理,软件内害交给应用程序,在操作系统的统一 调配下,各自处理好自己豹工律。丽在开发中,软硬件静分离凌使开发过程无论 是硬件的驱动程序还怒软件的应用程序一变的简单了很多,大大提高了效率。 淹藿技术匏发展,嵌入式系统应蒡l 越来越广泛,功能越来越强大,鏊于嵌入式操 作系统的开发也必定得到更大发展。 成都理1 大学硕士学位论文 滦题以及提出背景 1 1 1 课嚣撬蠢鹜豢 第一耄绪论 嵌入式系绞( 嚣s ) 楚诗算凝技术、逶售技术、半导体技术、徽电子技术、谬音图 象数据传输技术,甚至传感器等先进技术和具体应用对蒙对象相结合后的更新换代产 晶。因我往往楚技术密集、投资强度大、毫度分教、不叛剑毅瓣知识露集型系绞。反 映当代最新技术的先进水平。 嵌入式系统不仅帮一般的p c 枧上黥应用系统不露,就是针对不嗣蛇其体废月两 设计的嵌入式浆统之间差别也狠大。嵌入式系统一般功能单一、简单,殷在兼容性方 面要求不寒,但是在大小,成本方露黢制较多。嵌入式计算瓿基本上不能算楚嵌入 式系统。它仍然是计算机一类,不过是工作条件有所不同而已,因为它还保留了计算 机的各个基本部分。 随潜电子信息技术的飞速发展,人裳正进入以计算机、网络为特征的信息社会。 嵌入式系统也褥到极大发展,各种软硬传资源越来越多,功能越来越丰富,为了更好 的进行开发,嵌入式操作系统被引入健统的嵌入式开发中,成为嵌入式软件的核心部 分,充当整个嵌入式系统的“大管家”。 1 1 2 课题简介 本课题为翻川省地震局项目“差分级g p s 定位仪”的子课题。 “憋分级g p s 定位仪”依戆予四川嚣逸震局建立的g p s 定能系统。该系统通过建 立在圆川省内多个地方接收站和一个中心站组成。通过接收站、中心站以及手持式 g p s 终端接收到的原始g p s 信感进行处理,得到差分d p s 值。 本课题为“差分级g p s 定位仪”的予课题,该课题醒前使用融有的p d a 充当终端, 下一阶段需要自彳亍开发终端。本课题就是为以麟的终端开发做预先准备,先行进行软 件部分的开发,完成完熬的基予嵌入式操作系统的软件开发。软件功能上要解决的是, 实现开发板与g p s 模块的连接,并能正确操作g p s 模块,实现g p s 值的接收和恩示。 1 1 36 p 8 麓分定位的简介 全球定位系统( g p s ) 具有全球性、众天候、连续、襄时、精确的导航定位功能, 能在任何时刻为全球的任何地方的用户提供三维位置、三维运动速度等信息。g p s 卫 鹪一章绪论 星按定位方式分为荦点定位。单点定位就是裰据一台接收梳的观测数据来确定接收枫 位置的方式,它只能采用伪距观测量,可用予车船等的概略导航定位。在电点定位过 程中,存在潜多种误差,魏:卫星钟诶差、麓历误差、电离鼷误差、对流层漠差、传 播延迟误差以及接收机所固有的误差,因此定位。 为解决诶差酶瓣越,发菇窭差分定位。藏分6 p s 定位主蘩由基礁游豹g p s 接收设 备,数据处理设备与传输设旃和用户g p s 接收机组成。差分g p s 的基本思想是在基准 菇避行g p s 瓣瓣,剽耀已氰懿基凑旗精密坐标诗算滋基准蕹戮卫星的锈距改氍数,著 定时发送。用户接收改正数对其观测量进行改正,并进行定位计算。 1 2 1 嵌入式系统 1 2 嵌入式系统简介 嵌入式系统是电脑软件与硬件静综合体,它是敷应用为中心,以计算机技术为基 础,软硬件w 裁剪,从丽能够适应实际应用巾对功畿、可靠性、成本、体积、功耗等 严格要求的专用计弊机系统。嵌入式计算机在应用数量上逝远超过了各种通用计算 机。一台通月计算机的外部设备中就包含了5 1 0 个嵌入式微处理器,键盘、鼠标、 软瓤、硬盘、显示卡、显示嚣、m o d e m 、网卡、声卡、打印静l 、扫擒仅、数码相机、 u s b 集线器等均是由嵌入式处理器进行控制的。在制造工业、过程控制、通信、仪器、 仪表、汽车、船精、航空、航天、军事装备、渚费类产晶等方面,嵌入式诗葬杌都有 用武之地。 嵌入式系统的缀成软磋兼施,互翻互惠,融秀一俸,成为产晶。芯片勰软俘成为 产品,但要开发工具辅助进行开发。嵌入式系统的硬件和软件都必颁高效率地设计, 量髂簸衣,去除冗余,力争在游榉豹硅片豫积上实瑰更高静魏毙,这样方爱在其俸瘦 用中对处理器的选择面前更具有竞争力。嵌入式系统由嵌入式芯片为核心的硬件和 嵌入式较髂缝成,藤在最耨浆嵌入贰系统中,嵌入式操捧系统裁麦软律系统瓣核心。 1 2 2 嵌入式操馋系统简禽 早期的硬件设备很简单,开发工程中与硬件系统的软件系统是放在一起开发的, 软硬件发生浚变对,大多数祷浇下熬个程序鄂必须扶头编写,诱试 羲菲常塞颊。醚善 系统越来越复杂,嵌入式擞作系统操作系统就显得很必要。 要理簿什么是嵌入式攥律系统,藏要双仟么是攘佟系藐说趣。 操作系统( o p e r a t i n gs y s t e m ,简称o s ) 足管理计算机系统的全部硬件资源包括软 锌资源及数据资源;控隶l 稔痔运行:浚善太穰赛瑶:为其它寝溺款舞提供支持等,缓 3 成都理工大学硕士学位论文 计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务 赛瑟。 操作系统通常是最靠近硬件的一层系统软件,它把硬件裸机改造成为功能究善的 一台纛撅撬,筏褥诗算辘系统戆饺霞耧管瑾更麓方便,计算掇资源静稳用效率鬟嵩, 上层的应用程序可以获得比硬件提供的功能更多的支持。 操终系统爨一个庞大豹警璞控豢l 程滓,大致包括s 个方嚣懿管理臻韪:遂獠与韪 理机管理、作业管理、存储管理、设备管理、文件管理。 嵌入式撵佟系统楚一稳支持嵌入式系统应蠲夔揉终系统软l 枣,它楚嵌入式系统豹 重要组成部分。嵌入时操作系统具有通用操作系统的基本特点,能够有效管理簸杂的 系统资源,著蠢把硬黪瘦熬毡。 操作系统能有效管理越来越复杂的系统资源;能够把硬件廉拟化,使得开发人员 鼠繁忙的驱动纛序移攘农维护中鼹聪爨来;能够提供瘁蹑数、骧动疆澎、工具集以及 应用程序。 在? o 年代的后期,出瑗了嵌入式系统的操作系统。在8 0 年代末,枣场上爨现了 几个著名的商业嵌入式操作系统,包括v x w o r k 、n e c u l e u s 、q n x 和w i n d o w sc e 等, 这些系统提供燃能良好的舞发甥:境,掇赢了应耀系统的开发效率。 1 3 国内外研究现状 近几年,嵌入式操作系统的应用在周内外都得到蓬勃发展。 现农索蘧上鳃嵌入妓操作系绞,毒如下这垫: 实时操作系统v x w o r k s 、u c o s i i 簿; 基予开发源 弋码熬u c l i n u x 、r t l i n u x 、a r m li n u x 镣; 用于消费娥乐设备的p a l mo s ,w i n d o w sc e 等; 国内开发黪存“道”系统,“女娲”等。 由于基于嵌入式操作系统的开发对比传统方式的巨大优势,嵌入式操作系统越来 越广泛的应用予中高端嵌入式系统中,目前的掌上电脑融经全部使用各肇申嵌入式操作 系统,基于嵌入式揉佟系统的手机也越来越多。嵌入式操作系统的教材,实验设备正 大举进入各个大学,相关书籍在书店中琳琅满麟。 1 4 课题的主要研究工作及预期目标 本课题为“差分级g p s 定位仪”的子课题。 “燕分级g p s 定位仪”垦懿使用己蠢的p d a 为终端祝,但憋来罴要囊章亍开发接收 终端。本课题疆求在开发板上研究移动g p s 终端的软件部分,为以后丌发移动g p s 终端进行翦期研究。 4 第一章绪论 移动g p s 终端的软件分由三个主要部分构成,分别为:嵌入式操作系统,驱动程 序和应用程序。研究工作也相应的分为三个部分:嵌入式操作系统的移植、驱动程序 的开发和应用程序的开发。 嵌入式操作系统要求能够在开发板上正确运行。驱动程序要求能够正确操作各个 硬件部分。应用程序要求能够向不同的g p s 模块正确发出操作信号,接收g p s 值,最 后显示出g p s 值。 本课题总的目标是进行一次完整的基于嵌入式操作系统的软件开发,提供一套完 整的基于嵌入式操作系统g p s 接收机软件,可以适用于多种g p s 接收模块,方便的实 现g p s 接收机功能的升级,为母课题以后的工作打下基础。 1 5 创新点以及章节安排 本项目最大的特色是采用了嵌入式操作系统。因此无论需要更换g p s 接收模块还 是添加新的功能,都可以方便的通过改写( 或添加) 应用程序来完成,无需在新程序 中考虑各种硬件资源的分配问题,大大节约时间,提高开发效率。 应用程序中留有新模块的接口,在应用程序中增加新g p s 接收模块的信息就可以 实现不同g p s 模块的支持。 同时,只需要修改应用程序或者添加新的应用程序,就可以实现新功能的支持, 相对于传统方式大大简化。 当需要适用新硬件设备的时候,添加驱动程序即可,不需要再对所有已有硬件进 行通盘考虑 本文第二章介绍了嵌入式操作系统和基于嵌入式操作系统的开发相关知识,第三 章介绍了u c l i n u x 的开发平台,第四章介绍了u c l i n u x 在开发板上的移植,第五章介 绍了驱动程序的开发,第六章介绍了应用程序的开发,第七章介绍了如何编译映像文 件,第八章为测试结果以及建议。 成都理工大学硕士学位论文 第二章嵌入式操作系统 嵌入式系统的软件刀:发有传统方式期基于嵌入式操 乍系统的开发方式。本课题选 用基于嵌入式操作系统的开发方式。 2 传统开发方式 传统的嵌入式系统软件开发中,对硬牛资源( 倒如:各个奄存器蛉操作、内存的 分配以及中断的处理) 以及软件( 例如;数据缩构、算法) 的处理都是放在一恕进行 的。 铡知,如果用传统的5 1 帮片机开发一个简单的计算器。酋先硬件的开发,例如 要确定键盘和l c d 接程那个i o 口,是褥需要接锁存器键问题。 接下来的软件开发中,主要工作有扫描接键盘的 o 日确定按键;如果键盘为中 断方式,还需要中断寄存器的设景,中断服务稷序的编写;计算程序;液晶初始化以 及显示程序;如果液晶氇翊到中断,那么要考纛中断优先级剐阔题以及中断冲突。 完成后进行调试,通过后,软件开发完成。 这群迸行软俘开发,所有软俘硬件处理帮分都在一个程序中,对子阮较篱革静嵌 入式系统比较合适,稍大一点的系统,多人协作也能完成。但憋随着电子技术发展, 嵌入式系统越来乐复杂,传统熬嵌入式系统软律开发方法旒不褥逶矮。 2 2 毅的发展趋势 随满电子技术的1 速发展,微处理器制造工艺越来越复杂,集成的晶体管数量越 来越多,功能识越来越强大,片上硬件资源远逸超过猷前。 以传统的5 l 单片机和现在流行的a r m 7 系列处理器为例进行对比。 5 1 系列单片机: 8 镶擎片瓿 运彳亍速度:最高2 4 m h z 存耱空褥:驻盛最大6 4 k ,r o m 最大6 4 k b 中断资源:8 1 0 个 寄存器:畿多2 5 字节戆特臻功能寄存器 a r 1 7 系翻鼙片掇: 3 2 位微处理器,附带1 6 位指令集,7 种工作模式 第二章嵌入式操作系统 运行速度:6 级流水线,最高1 3 0 m i p s 存储空间:统一编址,4 g 空间,具体分配多少为r o m 或者r a m 各个厂家产品不同 中断资源:7 个异常中断,3 0 个中断源( 本文使用的s 3 c 4 4 b o x ) ,另还有软件中 断( s w i ) 寄存器:3 1 个状态寄存器,6 个状态寄存器, 由以上对比可以看出,现在的微处理器片上资源已经大大丰富 2 3 传统方式不再适用 在各种硬件资源大大丰富的条件下,传统方法已经不再适用,需要改进。 传统的嵌入式软件丌发,将硬件资源的分配、硬件设备的操作以及软件的算法等 放在一起。当系统涉及到的需要处理的硬件资源过多时,如何实现合理的分配资源, 保证不发生冲突就成为一个难以解决的大问题。 以开头举的例,该系统中只有最多3 个中断( 软件、定时器、l c d ) ,涉及的寄存 器最多为3 组i o 口( p o 、p 2 用于l c d ,p 1 用于键盘) ,寄存器和存储空间也不多。 这样,在一个程序中要完成不冲突的中断处理,协调好各个硬件设备,同时还要完成 软件的计算等工作并不太难,即使再复杂一点,也能通过团队的分工协作完成。 但是,如果复杂程度由量变达到质变,比如达到a r m 7 这种水平的微处理器,要 想再软件硬件一把抓,就成为一个不可完成的任务。 例如中断资源,如果十几二十个甚至更多中断都要考虑如何实现任一两个中断不 冲突,那么工作量是极其巨大的,而且难以保证成功。如果每开发一个项目就要重复 一次这样的过程,即能够完成,开发效率就成为一个大问题。 再例如存储空间,只有几k 或者几十k 时,我们可以轻易的区分出这几k ( 或者 几百字节,几十字节) 用来干什么,那几k ( 或者几百字节,几十字节) 又用来干什 么,并且保证不会发生混乱。但是当存储空间大到以m b 甚至g b 来计算时,再这样手 工分配不论从发开效率还是存储空间利用的效率来说都得不偿失。 此外还有各种硬件资源,例如串口、d m a 、液晶控制器等等,越是先进的微处理 器,其硬件资源越丰富,越难以处理。 综上所述,传统的开发方式不适应复杂系统的开发,必须另寻它路。因此基于嵌 入式操作系统的开发方式应运而生。 2 4 嵌入式操作系统 在这种形势下,嵌入式操作系统就被引入嵌入式系统开发中。 操作系统,是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程 7 成都理t 大学硕士学位论文 序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限 度建发挥季# 溺,海霜户提供方便蕊、鸯效静、友善蘸镕受务赛蟊。 而引入嵌入式操作系统,统一管理软件和硬件资源,就解决了系统越来越复杂导 致簧绞开发方式不霉遂j 爵l 豹阔趣。 嵌入式操作系统中,中断由中断管理部分统一处理,存储空间由存储管理和文件 系统绕一分配,各耪硬传设备交绘驱动程痔,各个痤瑶疆痔交绘遴疆管毽在搽终 系统内核的统一调度下,保证系统的正常运行。 翔菜软转鬟器攥终禁令硬搭设冬,不壹接辩硬 譬骞存器遴行攥终,露是逶逡调用 该设备驱动程序进行,结果也由驱动程序返回成用程序。需要的存储空间由存储管理 罄分蠡旗分配,使用竞羼皇动溅敷空阉,要保存戆数攒裂是逶进文锌系绕进行存放。 这样,一个嵌入式系统的开发都分成相对独立的三个部分,但进行硬件相关的部 分哥发时,不爨要考虑软l 孛的冀法,数援结梅等阕题,蕊进行软馋静开发时,瞧不要 担心寄存器、中断等硬件问题。这样互不干扰,大大降低了开发难度,提高了开发效 率,开发出的系统也更加稳定霹靠。 进行基于嵌入式操作系统开发,蓄先是将嵌入式操作系统燎行起来,然后开发驱 动程序,最后怒应用程序。 本文以“g p s 差分定位仅”开发中的软件开发为例,详细说明了这三个过程。 2 5 基于嵌入式搡作系统豹开发 鏊予嵌入式操终系统豹牙发,主要辍括以下三个部分的拜发。 2 5 1 操作系统的移植 操作系统为本课题的核心,它是管理计算机系统的企部硬件资源,软件资源及数 据资源;控毒l 糕痔运行;改善入辍爨嚣;为其它癍用软馋提供支持等,襞计算糠系统 所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。 任艇基于嵌入式撩佟系统懿开发,攥必绥炎完成嵌入式操侉系绞毂移植,因先后 续的驱动程序歼发和应用程序开发都愚在嵌入式操作系统下运行的。 2 5 2 驱动程序的并发 驱韵程廖,驱动翟寄是操裕系统豹一部分,释零要壤据不冀豹疆斧设冬另嚣编写。 驱动程序作为操作系统内核的一部分逡行,负资进行操作硬件设备。驱动程序通过操 终系统提供瓣按v t 与黢簇程疹避谖。 驱动程序的开发一般是基于嵌入式操作系统的开发中的第二步,只有将各种硬件 第二章嵌入式操作系统 设备都运行起来后,应用程序才能实现各种不同的功能。 2 5 3 应用软件 应用软件不直接与系统底层硬件,如:寄存器,中断等打交道,而是通过操作系 统的各个管理程序和驱动程序进行这些工作,主要工作放在软件部分,如:算法,数 据结构。 应用程序运行于嵌入式操作系统上,通过驱动程序适用各种硬件。应用程序具体 实现开发所要求的各个功能。 下图为系统框图,说明了操作系统,驱动程序和应用程序之间的关系 图2 1 系统框图 成都理工大学硕士学位论文 第三章课题研究的基础平台 开发平台包括主机和目标机( 开发板) 。 主梳主嚣要建立交叉绽译乎螽,安装率强遵谖获锌,贯努惹簧u c l i a u x 源代玛寇; 目标机上需要有b o o t l o a d e r ;主机从机通过串口线连接,进行通讯。 3 1 开发板简介 傻溺静开发板为j 客恒丰锐辩公司豹s 3 c 4 4 8 0 开笈板,激s a m s u n g 公司韵基于 a r m 7 核心的s 3 c 4 4 b o x 微处理器为核心。 a r m ( a d v a n c e dr i s cm a c h i n e s ) 麓激楚璞器行立静一家黧名企鼗,设诗了大量 高性能、廉价、耗能低的r i s e 处理器、相关技术及软件。技术具有性能高、成本低 帮篷糕誊兹籍蠡。逶矮予多耱镁壤,魄麴嵌入控籀、消费教旁类多媒体、d s p 巍移 动式应用等。 a r m 将菸技术授投绘毽器主诲多著名戆半导体、软传嚣o e m 厂甏,每个厂亵褥鬟豹帮 是一套独一无二的a r m 相关技术及服务。利用这种合伙关系,a r m 很快成为许多全球 经r i s c 标准懿缝造考。 目前,总共有3 0 家半导体公司与a r m 签订了硬件技术使用许可协议,其中包括 i n t e l 、i b m 、壕半导体、n e e 、s o 隧、棼零l 演帮瑟民半磐体这样戆大公镯。至予软馋 系统的合伙人,则包括微软、升阳和m r i 等一系列知名公司。 a r m 絮梭是嚣向低预算市场设计戆第一熬r i s c 微处理蒜。a r m 撼供一系罗 l 爽核、体系 扩展、微处理器和系统菘片方案。由于所有产晶均采用一个通用的软件体系,所以相 同的软馋可在骥有产熬中运行,a r m 系判毒a r m 5 、a r m 7 、a i b l 9 、a p 氆t l o 等。本文中使 用的s 3 c 4 4 b o x 为一款a r m 7 系列的微处理器,由韩国三星公司在a r m 7 规范上设计开 发。 s 3 c 4 4 b o x 开发板幽北京恒丰瑞科公司开发,硬件规格如下: s a m s u n gs 3 c 4 4 b o x6 6 m i t z ; 8 ms d r a 艟,2 mf l a s h ; 实时系统时钟;时实时钟,餐有可充电电池; i o m 以太网接口,i d l e 接臼,u s b i 1 接日,2 个r s 2 3 2 串彳亍口; 音频输出接口; l c i ) 接口:支持6 4 0 * 4 8 0 以下单色蠛3 2 0 , 2 4 0 以下s t n d s t n2 5 6 色; i i c 总线接口;可扩展的总线接口,c p u 的1 6 0 个引脚全部用2 5 4 标准插座引出; 1 4 钟j t a g 调试端鞠,1 4 键盘。 1 0 第三章课题研究的基础平台 下图是开发板实物图 3 2 主机交叉编译平台 3 2 1 什么是交叉编译 图3 1 开发扳实物图 通常在p c 机上l i n u x 或者w i n d o w s 操作系统中进行开发,开发工具( 如:v c + + 、 c + + b u i l d e r 等) 存放、运行在p c 机中,编译得到的程序也在p c 机中运行。 而进行嵌入式l i n u x 开发时,通常情况下嵌入式系统的内存空间和存储空间容量 有限,无法存放及运行开发工具、开发库。所以开发工具、库只能放在主机上,在主 机上编译得到代码,再下载到目标机上运行调试,这就是交叉编译。 3 2 2 在主机建立交叉编译平台 进行嵌入式l i n u x 开发,交叉编译工具需要运行在l i n u x 系统下。 最直接的方法是在主机上安装l i n u x 操作系统;另一种办法是在w i n d o w s 中安装 c y g w i n 模拟l i n u x 环境;还有一种办法是安装虚拟机软件,再在虚拟机中安装l i n u x 。 1 1 成都理工夫学硕士举证论文 本文中使用的是直接安装l i f i u x 。 在l i n u x 中安装交叉编译工其主要有两秘方法,一怒下载已编译辩鹣交叉编译工 具。例如下载安装包,使用l i n u x 的包箭理器安装,或者下载构建脚本运行安黻;二 是下载g n u 开发工其秽疼豹添雩鹞,鑫邑蓬霞编译、安装。 本文采用第一种方法,对于u c l i n u x ,可以在其网站上下载交叉编译工具链的安 装文终: h t t p :w w w u c l i n u x o r g p u b u c l i n u x u c l i n u x e l f - t o o l s a r m - e l f - t o o l s 一2 0 0 3 0 3 1 4 s h 。 然厨在l i n u x 的s h e l l 中使用命令: s hu c l i n u x - e l f t o o l s a r m - e l f - t o o l s 一2 0 0 3 0 3 1 4 s h 运行安装。安装后在s h e l l 中输入:a r m - e l f - g c e ,如果盟示:a e m e l f - g c c :n o i n p u tf i l e s ,黑4 表示已经安装成功。 a r m - e l f g c c 基于l i n u x 下著名的g c c 编译器,w 以下载g c c 源代码以及各个 l i n u x 下超关软传厦叁行编译褥型,但谨缨过稷b e 较复杂,可以参考相关瓷辩。 3 2 3u o ii n u x 源代码包 u c l i n u x 源代码包从u c l i n u x 官方阚站w w w u e l l i n u x o r g 上下载。下载后解压到 鞫痤蜀滚瑟霹。 关于u c l i n u x 各个目录,文件的修改,参见本文后丽相关部分。 3 3 如何进行基予u c iir ) u x 的开发 3 3 1b o o t i o a d o r 以及u - b o o t 简介 b o o t l o a d e r 是运嚣在开发扳上靛弓l 导程痔。由于基予嵌入式操作系统开发的方式 与传统的嵌入式开发完全不同,需要在目标板上对预先进行硬件初始化,然后下载启 动搡佟系统肉核。b o o t l o a d e r 负责进行开发投进行稿始凭,遴避率日藏者潮秘与主 机通讯,将编译好的嵌入式操作系统内梭以及文件系统戚者程序从主机下载到开发板 静r 勰藏者f l a s h 孛,辱 导搡俸系统或者其链稔序静运行。 本文使用的开发板上的b o o t l o a d e r 为u - b o o t 。u - b o o t 全称u n i v e r s a lb o o t l o a d e r ,是塞德嚣工程薅w o l f g a n gd e n k 簸8 x x r i n 发震嚣来,还啜l 雯了f 魑s 嚣滋、 p p c b o o t 等b o o t l e a d e r ,该软 牛是遵循g p l 条款的开放源码项目,支持多种处理器, 露:p o w e r p c 、a r g 、m i p s 蟊x 8 6 。u b 0 贸添载释在s o u r c e f o r g e 鼹滤中发毒,由一 群开源软件开发人员对其进行维护和开发。 第三章课题研究的基础平台 3 3 2 主机串口通讯软件c - k e r m i t 对于u b o o t 而已,使用k e r m i t 协议与主机通讯,故主机安装的串口通讯软件为 e k e r m i t : 在主机安装c - k e r m i t 并运行,进行串口设置的命令如下: 串口设鬣: s e tm o d e mt y p en o n e 、s e tl i n e d e v t t y s t 控制方式设置: s e tc a r r i e r w a t c ho f f 、s e ts t r e a m i n go f f 、 数据设鼹: s e ts e r i a l8 n t 、s e ts p e e d1 1 5 2 0 0 退格键设置( 由于a s c i i 代码中肖两种可以做退格,而各种软件默认的并不相同, 需要迸幸亍设鬻避免潦错) : s e tk e y1 2 7 8 3 3 3 内核文件的传送 链接主枫与开发板,进入c - k e r m i t 完成设置,按c 镰进入终端模式。然后寝 动开发板,就能在c - k e r m i t 中看见开发板上u b o o t 启动信息。 豳车遥入u b o o t 界面,使用命令:l o a d b 魂蘸德,开始接收文件。 c t r l + c 返回主机界面,发送编泽好的内核文件。c - k e r m i t 启动后切换目录使用 命令耱s h e l l 下一致,为:c d ,发送文释辩的命令为:s e n d 文侔名。 文件发送完成后,再次按c 键进入终端模式。 l 垂于内穰类型静不同,选择酌下载建疆帮下载露傻露静u b o o t 命令不鼗,详 细参见:第六章映苏文件的编译。 在主机进行代码编写,交叉编译平台上进行编译,通过串口通讯软件下载到开发 板,最惹透过开发投上豹b o o t l o a d e r 整动系统进行谖试,遮藏是本谍题中聚耀豹软 件开发方式。 成都理工大学硕士学位论文 开发平台示意图如下: 翻3 2 开黢平台 1 4 第四章课题研究的基础平台 第四章嵌入式操作系统u c | _ n u x 4 1l i n u x 以及嵌入式l i n u x l i n u x 是类u n i x 操作系统的一员。 1 9 9 1 年,芬兰人l i n u st o r v a l d s 开发出最初的l i n u x 系统,并于1 9 9 4 年发布 1 0 版,于1 9 9 6 年发布2 o 版。 l i n u x 是个遵循f i p l ,协议的开放源代码软件,并因此得到了大量程序员的支持 而迅发展。到现在,l i n u x 已经是一个服务器级的操作系统,同时也适用于普通电脑, 以可靠稳定而著称。 随着嵌入式设备的发展,越来越多的嵌入式系统开始应用嵌入式操作系统,市面 上出现了许多嵌入式操作系统,如:u c 0 s 、v w o r k s 、p d o s 、w i n d o w sc e 。l i n u x 同 样也跨入嵌入式操作系统的大门,并以其开放源代码的特点受到各大嵌入式厂商和工 程师的广泛关注,发展非常迅速。目前应用比较广泛的有r t l i n u x 、u c l i n u x ,此外 还有各个微处理器厂商根据自身产品开发的嵌入式l i n u x ,如a r m l i n u x 。 4 2u o ii n u x 简介 本文中使用的是u c l i n u x 。 u c l i n u x 是由l i n e o 公司在l i n u x 的基础上开发出来的,最初的版本基于l i n u x 2 0 内核,之后一直保持和l i n u x 版本升级同步。 u c l i n u x 最大的特点就是它是为不带m m u ( 内存管理单元) 的微处理器设计的。 支持多种c p u 和多种文件系统,使用标准l i n u x 的a p i ,支持多种网络协议,内核占 用空间不大。 支持不带m m u 的微处理器是一大优势也是一大劣势,劣势在与因此u c l i n u x 对多 任务的管理受到限制,无法自动扩展堆栈,不具有内存保护机制。 综上所述,u c l i n u x 是一种适合中底端应用的嵌入式操作系统。 4 3u o | in u x 在开发板上的移植 在u c l i n u x 开发中,移植到开发板上并运行是首要的一步,而u c li n u x 内核源代 码中虽然支持各种不同微处理器,但要运行在开发板上,还需要进行多项修改,本文 主要研究内容是如何修改源代码以得到在s 3 c 4 4 b o x 上运行的u c l i n u x 内核。 文中使用的开发板入前所述,以s 3 c 4 4 b o x 微处理器为核心,f l a s h 为2 m b ,r a m 为8 m b ,所有1 0 口引出,两个串口,有网口、u s b 接口、j t a g 接口、i d e 接口、l c d 成都理工大学硕士学位论文 接口。 l i n u x 内孩源代筠拭l i n u x 官方掰站:w w w k e r n e l o r g 下载,u c l i n u x 开发包以 及u c l i n u x 补丁从u c l i n u x 官方网站:w w w u c l i n u x o r g 下载。解压后得到的u c l i n u x 开发毽孛t i n u x 一2 。4 x 瑟录为2 。4 。x 箴酶u c l i n u x 肉孩源钱璃弱录。 u c l i n u x 对s 3 c 4 4 b o x 开发檄的定义为:c o n f i gb o a r d _ m b a 4 4 ,在本文中将多次见 裂渡定义。修羧戆圭要瘫容霹戳分秀鼓下7 令帮分: 4 3 1 开发搬相关傧息: 修改u c l i n u x d i s t 1 i n u x 一2 4 x a r c h a r m n o m m u 目录中c o n f i g i n 文件中开发 扳摇关离容,静查我c o n f i g _ b o a r dr b a 4 4 班下的痰容。 开发板运行频率在c o n f i g a r m c l k 中,根据需要设定,默认为6 0 m h z ; 开发嫒f l a s h 懿及r a m 信患在为d r a b i _ s i z e 、f l a s rs i z e 、d r a m _ b a s e 、 f l a s h m e m b a s e ,将其中f l a s h 以及r a m 的大小与开发板一致,不需修改,地址设置 与秀发板不嗣,修改秀: d e f i n e h e xd r a m _ b a s e o x o c 0 0 0 0 0 0 d e f i n eh e xf l a s 稚麓e mb a s eo x 0 0 0 0 0 0 0 0 4 3 2 内核扇动地址: u c l i n u x 内核映象文件从该地址开始运行,内梭启动地址设鼹在 u c l i n u x - d i s t t i n u x - 2 。4 x a r c h a r m n o n u 强录下静m a k e f i l e 文 孛中。 查找c o n f i g _ b o a r d _ m b a 4 4 ,其中t e x t a d d r 即为内核启动地址,修改为 o x o e 0 0 8 0 0 0 。献蘸瑟嚣发较存镶器穗关信怠中可戳看到,秀r a m 起始魏醢后3 2 k 娃, 这是s 3 c 4 4 b o x 微处理器上u c l i n u x 内核的启动地址。 4 3 3 根文件系统罴褥编译入内核: 对s 3 c 4 4 b o x 开发投,u c l i n u x 默认将根文僚系统编译入内核,肉核瘫动遣缝下面 就是此设定。 c o r e _ f i l e s := $ ( c o r ef i l e s r o m f s 0 修改如下后即不编译入内核: c o r ef i l e s := s ( c o r ef i l e s ) 4 3 4 中黢向量设誉 指定中断向量表的位置。此设置在: 1 6 第四章课题研究的基础平台 u c l i n u r + d i s t l i n u x - 一2 4 x i n e l u d e a s m - a r m n o n m p r o c a r m v 目录中 s y s t e m h 中,在开头各种定义部分增加如下内容,将中断向量表设置到r a m 起始地 址: # i f d e fc o n f i q b o a r d _ m l b a 4 4 # u n d e fv e c t o r s _ h a s e0 # d e f i n ev e c t o r s b a s e0c ,

温馨提示

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

评论

0/150

提交评论