已阅读5页,还剩56页未读, 继续免费阅读
(信号与信息处理专业论文)基于linux的嵌入式信息交互系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:塑日期:年月 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:盥导师签名: 日期: 了轧 年月日 摘要 嵌入式系统几乎同计算机本身一样,约四十年前就已出现在生活周围,通信 领域中也很早就开始应用嵌入式计算机技术。随着性价比高的3 2 位和6 4 位嵌入 式微处理器的出现,嵌入式系统越来越向多功能和网络化方向发展。通过对各种 嵌入式微处理器的对比,选用m ( ) t o r o l a 的m c f 5 2 7 2 处理器。针对嵌入式设备的 具体特点,选用u c l i n u x 嵌入式操作系统,并在此基础上实现对嵌入式信息交互 的数据存储、组织和管理以及多种信息交互方式。 由于嵌入式系统设备内存一般在1 0 0 m 以内,硬盘也较小,因此在数据库设 计中,如果简单地将原来的大型数据库移植到小型设备上效果并不好。这里采取 了模块化和层次化的设计方式,设计了一个小型的数据库系统( e d b s ) 。e d b s 除了具有一般关系型数据库管理系统所具有的表创建、表删除以及记录表的插 入、删除、修改和查询等功能外,还具有网络传输文件、微小内核、系统尺寸可 剪裁、良好的健壮性以及灵活的应用编程接口等特点。 虽然系统和应用软件占用较小的f 1 a s hr o m 的空间,但是在目前信息繁荣的 时代,需要存储大量的数据,因此解决数据存储是嵌入式信息交互系统需要的一 个重要问题。设计较大存储容量的u s b 接口是解决数据存储的一个方法。本文主 要分析了为m c f 5 2 7 2 添加u s b 骆动程序的详细过程。简述u f t p 协议,并给出一 个文件传输的应用示例。 关键词:嵌入式系统、u c l i m - x 、u s b 、网络通讯与传输、嵌入式数据库 a b s t r a c t e m b e d s y s t e ma st h es a m e a sc o m p u t e rh a sa l m o s ts t a g e do nt h em a r k e tf o r4 0 y e a r s t h et e c h n o l o g yo fe m b e ds y s t e mw a sa p p e a r e di nc o m m u n i c a t i o nf i e l dl o n g a g o f o l l o w i n gt h e1 6 1 3 1 一b hm i c r o p l o c e s s o rc o m e o u t e m b e ds y s t e mt e n dt od e v e l o p m o r e w a y s t oc o m m u n i c a t ew i t ho t h e r sd e v i c e s e s p e c i a l l yt h ea b i l i t yt oc o n n e c tw i m o t h e r se q u i p m e n t w ec o m p a r ea i tk i n d so fe m p u ,a n ds e l e c t e dm c f 5 2 7 2a st h e m i c r o p r o c e s s o ro fe i i s a tt h es a m et i m e ,w ec h o o s et h ef r e es o f t w a r eu c l i n u xa s o p e r a t i o ns y s t e mo fe i i s 。t ot h es p e c i a le m b e dd e v i c e ,w eh a v er e a l i s e ds a v i n g , m a n a g i n g ,a n do r g a n i z e i n gd a t a s ,a r , ds e v e r a li n f o r m a t i o ni n t e r a c t i v ew a y sb e t w e e n e i s sa n do t h e r s i ti sb e c a u s et h a tt h er a m i ne m b e dd e v i c ei sn om o r et h a nl o o m a n df l a s h r o mi sa l s oi ns m a l ls i z e t od e s i g nd a t a b a s es y s t e m ,i ti sn o tag o o di d e at o t r a n s p l a n te x i s t i n g d a t a b a s ei n t o o u re m b e ds y s t e m w e a d o p t e dm o d u l a ra n d s t r a t i c u l a t em e t h o dt ow o r ko u tt h ee d b s b e s i d et h ef u n c t i o no f c r e a t i n g ,d e l e t i n g , i n s e r t i n g ,r e v i s i n g ,s e a r c h i n go f t a b l ea n dr e c o r d t a b l e ,t h ee d b s i sa l s oc h a r a c t e r i s t i c o f m i c r o k e r n e l ,g o o dr o b u s t n e s sa n df l e x i b i l i t ya p i n o t w i t h s t a n d i n gt h es i z eo fe o s a n da p p l i c a t i o ns y s t e mi ne i i si ss m a l l ,t h e r e a r eo n l y4 mf l a s hr o m a n dw en e e dt os a v em a n yd a t a si ne i i s s oi ti si m p o r t a n t t or e s o l v et h e p r o b l e m i ti s ag o o dw a yt od e s i g nu s bi n t e r f a c e u s b ss i z ei s u s u a l l y a tl e s t3 2 m i nt h e p a p e r , w e t r e a t i s et h eh a r d w a r es t r u c t u r eo f u s b ,t r a n s p l a n t i t sd r i v e rt oe l l s ,a n dd i s c u s si t su f r p p r o t o c o l ,a n dg i v ea ne x a m p l eo f t r a n s f e r r i n g f i l e st h r o u g hu s bd e v i c e k e y w o r d s :e m b e ds y s t e m ,u c l i n u x ,u s b ,c o m m u n i c a d o na n dt r a n s f e r r i n go n l i n e , e d b s 4 i l e l s e l h d p e o s t s r o m r a m e m p u r o m f s j f f s u s b g u i h a l e d b s e i i s p o s i x m m u n p s c p a p i 主要符号表 i n t e r f a c el a y e r e n g i n el a y e r s e r v i c el a y e r h o s td e v e l o p m e n tp l a t f o r m e m b e d d e d o p e r a t i n gs y s t e m t a r g e ts y s t e m r e a do n l ym e m o r y r a n d o ma c c e s sm e m o r y e m b e dm i c r op r o e e s s e ru n i t r o mf i l es y s t e m j o u r n m a l i n gf l a s hf i l es y s t e m u n i v e r s a ls e r i a lb u s g r a p h i c u s e ri n t e r f a c e h a r d w a r ea b s t r a c tl a y e r n e t w o r ke m b e dd a t a b a s es y s t e m e m b e di n f o r m a t i o ni n t e r f a c es y s t e mb a s eo nu c l i n u x p o r t a b l eo p e r a t i n gs ) s t e mi n t e r f a c ef o rc o m p u t i n gs y s t e m m e m o r ym a n a g e m e n iu n i t n e t w o r kp r o t o c o ls t a c k c o n t r o ll o o p a p p l i c a t i o ni n t e r f a c e 电子科技大学硕士学位论文:基于l i n u x 嵌入式信息交互系统的研究与实现 1 1 嵌入式系统概述 第一章引言 在很久以前,嵌入式这个概念孰存在了,嵌入式计算机的真正发展是在处理 器问世之后。1 9 7 1 年1 1 月,i n t e i 公司成功地把算术运算器电路集成在起,推 出第一款微处理器i n t e l4 0 0 4 。后来各厂家陆续推出了许多8 位、1 6 位的微处理 器,包括i n t e l8 0 8 0 8 0 8 5 、8 0 8 6 ,m o t o r o l a 的6 8 0 0 、6 8 0 0 0 、z i l o g 的z 8 0 、z 8 0 0 0 、 p o w e r p c 、m c o r e 、m i p s 、a r m 等,其中a r i v l 系列的芯片占据了市场上约6 0 的份额,可以说是目前最为流行的微处理器。 1 1 1 嵌入式系统的现状和未来 目前嵌入式系统大部分为8 1 ( ,位系统,硬件能力有限( 如m c s 一5 i 寻址只有 1 2 8 k ) ,不足以支持个操作系统。在这些系统中,运行的软件就是一个简单的 控制环( c 1 ) ,并由设计者提供所有必要的低级i 0 等方面处理。另部分是基于 e m p u 的嵌入式系统。这种嵌入式系统硬件能力强大,能够支持操作系统来合理 地调度多任务,可利用系统资源降低应用设计的复杂性,而且一般还有网络访问 能力。将来的嵌入式系统会变得更快、更节能、更可靠、甚至可更小,以下特点 代表着嵌入式系统的未来走向: 采用3 2 位系统:随着系统功能越来越强,硬件成本不断地下降,基于3 2 位硬件平台的嵌入式系统将是大势所趋,这些系统的硬件能力非常强大。 基于操作系统:为了支持网绍协议、更好地管理资源和便于开发应用程序 越来越显示出了操作系统的重要性。 网络访闳能力:随着i n t e r r 、e t 的发展,越束越多的嵌入式系统提出了网 络互连要求,这就要求一个嵌入式系统必须能够支持某种网络协议栈。 开发更加容易;随着应用复杂性的增长,程序变得越来越大,不仅要有完 善的开发工具( 如c 编译器和源码级调试器) 使应用程序能用高级语言来 编写,而且可能需要虚存机制和多任务管理功能。 1 1 2 嵌入式系统的特点 嵌入式系统一般由嵌入式硬件和软件组成,硬件以微处理器为核心集成存储 器和系统专用的输入输出设备。软件系统由初始化代码及驱动、嵌入式操作系 b 电子科技大学硕士学位论文:基于l i n u x 嵌入式信息交互系统的研究与实现 统和应用程序等有机地结合在起,形成系统特定的一体化软件。应用软件是实 现嵌入式系统功能的关键,对嵌八式处理器系统软件和应用软件的要求也和通用 计算机有所不同,主要有以下几点: 软件固化,一般没有硬盘或软盘那样的设备,通常把软件固化在r o m 、 p r o m 、e p r o m 或f l a s hm e m o r y 等n o n v o l a t i l e 存储介质中。 面向应用,不同的应用目标决定不同的系统平台,系统在实现时常常针对 应用的特点,作优化设计和处理。 资源有限,必须针对具体的应用特点,对硬件和软件量体裁衣,精巧设计。 1 2 嵌入式软件系统 嵌入式操作系统通常具有一个标准操作系统所具有的功能。它将m p u 时间、 中断、i o 、定时器等资源包装起来,留给用户一个a p i 接口的系统。e o s 主要负 责进程管理、系统时钟管理、进程间通信管理和系统中断管理。驱动程序作为操 作系统内核与机器硬件之间的接口,对上层来说它只是调用h a l 提供的功能,对 下层来说负责对外围设备的控制、管理和读写操作。由于对于目前的嵌入式系统, 选择合适的嵌入式嵌入式操作系统成为开发的必要步骤之一。 1 2 1e o s 及其特点 e o s 可以统称为应用在嵌八式系统的操作系统,它具有一般操作系统的功 能,同时具有嵌入式软件的特点是用于嵌入式系统的操作系统,它除了满足应用 本身的需求外,还具有如下特点: 不同的c p u 有不同的版本。 独立的板极支持包,可修改。 可移植性好,避免重复应用开发。 使用成本低,降低产品的总成本。 占用资源少,适应系统资源限制。 开发工具全,好的工具司加快开发进度。 可固化、可配置、可剪裁,以支持e o s 的个性化开发。 应用的开发需要有集成的交叉开发工具。 1 。2 2e o s 的分类 随着嵌入式系统应用领域的扩展,目前嵌入式操作系统的市场在不断细分 电子科技大学硕士学位论文:基于l i n u x 嵌入式信息交互系统的研究与实现 出现了针对不同领域的产品,如d e l t a o s 、v x w o r k s 、p s o s y t e m 、w i n c e 、p a l m o s 、 n u c l e a r e 、q n x 、o s e 、r t x c 、i t r o n 和各种嵌入式l i n u x 操作系统。嵌入式l i n u x 操作系统与专用嵌入式实时操作系统( 主要指v x w o r k s ) 的优缺点如表1 1 所示: 参数 商业嵌入式操作系境嵌入式l i n u x 操作系统 版权费每生产一件产品需交纳一份版权费免费 购买费用人民币数十万免赞 技术支持由开发商一家提供有隈的投术支持全世界的自由软件开发者提供支持 网络特性般要购买网络组件免费且性能好 软件移植滩,足封闭系统易,支持p o s l x 应用产品开发周期长,w 参考的代码们限短,有许多现成软件 实时性能好需改进,但用r t l i n u x 也可完垒实现 稳定性好好 定铷性比较菌难因为源代码不公开比较容易,因为源代码开放 基于l i n u x 的嵌入式开发为嵌入式系统提供了一个难得的发展机遇。有人预 测,未来的嵌入式操作系统将是l i n u x 的天下。不管这种预测的准确性如何,至 少说明嵌入式l i n u x 是设计嵌入式系统一个不错的选择。 1 3 嵌入式u c l n u x 操作系统 u c l i n u x 是标准l i n u x 版本的一个分支,它针对微控制领域而设计的l i n u x 系统。u c l i n u x 具有很强的移植性、可裁剪性、性能稳定、有一定的实时处理能 力。其最大的特征就是没有内存管理单元模块,它很适合那些没有m m u 的处理 器。由于u c l i n u x 缺少了m m u 的支持,所以u c l i n u x 的多任务管理功能就受到 一定限制。其不足主要体现在: u c l i n u x 中无法实现f o r k ,而只能用v f o r k 。 标准l i n u x 中的内存分段为应用程序提供了接近无限的堆空间和栈空间, 而u c l i n u x 为可执行程序在紧随它的数据段结束处分配堆栈空间这样。如 果堆增长的太长,它将可能覆盖程序的静态数据段和代码段。 u c l i n u x 中没有自动扩展的栈,也没有b r k 调用。 不具有内存保护机制,任何程序都有可能导致内核崩溃。 由于u c l i n u x 没有m m u ,故在实现多进程时需要实现数据保护。没有内存保 护的操作会导致这样的结果:即使出无特权的进程来调用一个无效指针,也会触 发一个地址错误,并潜在地引起程序崩溃,甚至导致系统的挂起。但对于嵌入式 u c l i n u x 系统而言,由于所运行的程序往往是在出厂前己经固化的,因此只要应 用程序经过较完整的测试,出现问题的概率就可以控制在有限范围内。 1 0 电子科技大学硕十学位论文:基丁l i n u x 嵌入式信息交互系统的研究与实现 1 5 主要工作 从上面的阐述可以看出嵌入式系统终端的需求量很大,各行各业都有应用, 但行业应用需要的往往是针对性比较强和价格有竞争性的产品,如果只是开发一 般嵌入式系统,这样的产品在很多方面不能满足行业多方面的要求,而且会浪费 很多资源,在价格方面就难以有竞争性,所以有必要出现新的嵌入式系统。基于 l i d u x 的嵌入式信息交互系统( e i i s ) 是一种以信息交流为主要目的,为个性化 用户提供信息交流、处理、存储和查询等多种功能的嵌入式系统。 嵌入式信息交互系统的设计包括硬件和软件两个部分,主要工作是设计嵌入 式系统的硬件开发板、移植操作系统以及系统调试等软件和开发应用程序三个部 分,作者参与系统软件移植工作和负责应用软件开发工作。所以将重点放在免费 的源代码u c l i n u x 操作系统驱动移植及相关的应用软件开发上,如以下几点: 其一,对l i n u x 中启动、中断、内存、进程、网络系统调用、文件系统和驱 动的源代码的研究与分析,重点部分是启动代码、内存管理、文件系统、线程、 进程以及线程和进程之间的通讯。 其二,将标准l i n u x 操作系统进行裁减移植到目标板,给u c l i n u x 打补丁, 然后加入g u n 调试工具和u 乙一l i b c 库文件。 其三,键盘设计和基于u c l i i i u x 串口数据传输比较简单,这里不做详细论述。 其四,由于采用的是l i n u x2 4 x 版本,它支持u s b 设备,需要做的是根据 自己特定的u s b 和网卡进行修改,重新对内核进行编译,操作系统就具有对u s b 和网卡设备的支持了。 其五,实现基于u c l i n u x 的u s b 驱动程序的移植、网络通讯等设计工作。 最后,在稳定的操作系统上建立基于m i c r o w i n d o w s 的网络数据库开发。 1 6 本章小结 本章论述了嵌入式系统的瑚状、未来以及特点,并说明了嵌入式操作系统 u c l i f l u x 在嵌入式操作系统中所占的优势地位,分析了嵌入式操作系统u c l i n u x 与标准l i n u x 的区别,它们最大晌差别就在内存管理和多进程的实现上,故本章 对这方面的内容作了重点的阐述。同时,论述了u c l i f l u x 比与标准l if l u x 的不足 之处,并阐述了针对应用于嵌入式系统中u c l i n u x 操作系统不足的解决方法。最 后,提出建立嵌入式信息交互系统的设想,并对自己所做的工作做了简单的论述。 电子科技大学硕七学位论文:基于l i n u x 嵌入式信息交互系统的研究与实现 第二章嵌入式信息交互系统的体系结构 该课题研究所在地是重庆宏声新思维信息产业有限公司,研制该产品的目的 是将嵌入式信息交互系统终端应用于工业控制。作为个产品,它的功能将不断 地升级和丰富,本章将给出实验产品的系统功能和框架结构,并说明总体设计思 想和方法。 2 。1 e li s 的软硬件需求 e i i s 的硬件需求: 支持一个1 0 1 0 0 m b p s ( 自适应) 以太网接口。接口采用r j 4 5 标准。 支持二个通用串口( s e r i a l ) 模块,可以工作在同步或异步模式下,同步最 高2 mb p s 。异步最高1 1 5 kb p s ,接口采用商密度插头。 可以通过i i c 总线插卡扩展各种网络接口。 一个t f t 的l c d 显示器,采用3 2 0 * 2 4 0 的分辨率。 一个u s b 接口。 e l l s 的软件需求: t c p i p 协议栈:i pv 4 v 6 、t c p 、u d p 等。 网络管理模块:s n m pv l 、l v 2 、l v 3 。 网络安全模块:f i r e w a l l ( 主要是包过滤) 、n a t ( 网络地址转换) 。 l c d 显示模块:l c d 的d 】i v e r s 。 g u i 模块:m i c r o w i n d o w s 。 嵌入式u c l i n u x 操作系统。 2 1 1 e l l s 的硬件结构 e i i s 的硬件系统主要包括微处理器、存储器、外部设备。e m p u ( 嵌入式微处 理器) 是整个终端系统的核心,它主要由运算器和控制逻辑构成。这里选用 m c f 5 2 7 2 微处理器,m c f 5 2 7 2 芯片是种3 2 位r i s c 结构的通用微处理器,具有优良 的性能和低廉的价格。它延承了c 0 1 d f i r en 2 版别的一切优点。集成了更多的外 围接口,提高了芯片的使用效率。此。该芯片可泛用于i n t e r n e t 设备、l a n 电 话、低端路由器、i s d n 终端适配器、本地无线基站、打印机、p o s 终端、工业自 动化以及机顶盒等。存储器主要是月i 来存储数据,选择时要考虑存储数据大小, 这里选用两片1 6 2 m 位数据宽度的f l a s h ,型号为m x 2 9 l v l 6 0 盯c ,速度7 0 9 0 n s ; 电子科技大学硕士学位论文:基于l i n u x 嵌入式信息交互系统的研究与实现 两片1 6 8 m 位数据宽度的s d r a m 型号为h y 5 7 v 6 5 1 6 2 0 bt c 一1 0 s 。外部设备是e i i s 与用户及其它设备之间通讯的桥梁,如键盘、l c d 、u s b 、微型打印机等。构建嵌 入式信息交互系统的硬件结构如图2 1 所示。 国2 - i 嵌入式信息交互系统的硬件结构 ( 1 h es t r u c t u r eo f e m b e di n f o r m a t i o ni n t e r a c t i v es ”t e m ) 2 。1 2 e li s 的软件系统体系结构 嵌入式软件系统主要包括嵌入式操作系统、驱动程序、应用程序三部分,其 结构如图2 2 所示。 用户程序 ) 丑r n 、 软件 l 函尝调用 i 用户态 ,0 系统调用接【j 、 0 0 系 文件系统 :进程间通信 统 l 高速缓冲i 核 释 $掌羹曩制 j 进程调度 心 态 i 字符设备l 块设备 i 内存管理 l设备驱动私| 葶l :3 l 硬件控制 l , 硬件板 图2 2 嵌入式软件系统框架( t h es t r u c t u r eo fe m b e ds o f t w a r es y s t e m ) 嵌入式操作系统是将m p u 时间、中断、i o 、定时器等资源包装起来,留给用 户一个a p i 接口的系统。它主要负责进程管理、系统时钟管理、进程间通信管理 和系统中断管理。e i i s 的操作系统采用嵌入式u c l i n u x ,它是一个以l i n u x 为内 核的嵌入式操作系统,具有l i n u x 大部分优点,适用于工控领域。驱动程序作为 操作系统内核与机器硬件之间的接口,对上层来说它只是调用h a l ( 硬件抽象层) 镯 詈銎# 甚 母田 电子科技大学硕士学侮论文:基于l i n u x 嵌入式信息交互系统的研究与实现 提供的功能,对下层来说负责对外围设备的控制、管理和读写操作。应用程序由 c 语言编写的多种功能的程序构成,它是系统应用功能的具体体现,其内部各函 数之间采用函数调用的方式进行连接。嵌入式操作系统、驱动程序、应用程序这 三者之间,嵌入式u c l i n u x 是整个软件系统的枢纽,它采用系统调用的工作模式, 通过文件系统、进程管理等与各种硬件驱动程序( 如图形驱动、f a l s hr o m 驱动、 串口驱动等) 进行数据交换,通过a p i 与应用程序进行数据交换。 2 2 开发环境的建立 绝大多数的l i n u x 软件开发都是以n a t i v e 方式进行的,即本机( h o s t ) 开发、 调试,本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发,因为对 于嵌入式系统的开发,没有足够的资源在本机( 即板子上系统) 运行开发工具和 调试工具。通常的嵌入式系统的软件开发采用一种交叉编译调试的方式。交叉编 译调试环境建立在宿主杌( 即一台p c 机) 上,对应的开发板叫做目标板。 2 2 。1 建立交叉开发硬件环境 完整的嵌入式软件丌发环境,包。括操作系统配置工具、编译环境、下载工具 和调试环境。嵌入式系统的开发通常需要在交叉环境下进行一由主机系统和目标 系统两部分组成。 t s ( 目标系统) 就是要建立的嵌入式应用系统,目标系统是一台基于m f c 5 2 7 2 微处理器的嵌入式系统。h d p ( 主机系统) 是基于l i n u x 开发的嵌入式系统。使用h d p 的一个优势是主机系统和目标系统可用相同的操作系统( l i n u x ) 。虽然理论上讲, 可以在其它不同操作系统的主机上丌发基于l i n u x 的嵌入式应用( 目标) 系统,但 主机操作系统人多数采用l i n u x 系统。现在建立建立如右图所示 的开发环境: 每个系统都有特定的配置, 二者间通过网络( e t h e m e t ) 或串 口( u a r t ) 等方式建立通信连 接。相互协作共同完成嵌入式系 统的开发。开发时使用宿主机上 的交叉编译、汇编及连接工具形 成可执行的二进制代码( 这种可执行代码并不能在宿主机上执行,而只能在目标 板上执行) 然后把可执行文件下载到目标机上运行。 电子科技大学硕士学位论文:基于l i n u x 嵌入式信息交互系统的研究与实现 2 2 2 建立交叉开发软件环境 第一步:在一台p c 上安装l i n u xr e a d h a t 7 3 ,选择c u s t o m 定制安装,在 选择软件p a c k a g e 时选择最后一项:e v e r y t h i n g ,即完全安装。 第二步:配置好网络,t f t i ,服务和n f s ( e n a b l er u n n i n g ) 。网络配置主 要是要安装好以太网卡,对于段常见的r t l 8 1 3 9 网卡,r e a d h a r 7 2 可以自动 识别并自动安装好,完全不要用户参与,因此使用该网卡。然后配置宿主机i p : i f c o n f i ge t h 01 9 2 1 6 8 2 3 2 。 第三步:作为源代码公开的免费操作系统,u c l i n u x 源代码可以从 w w w u c l i n u x o r g 得到,这个源代码也在不断更新。使用2 0 0 2 年5 月发布的g r e g u n g e r e r ( g e r g s n a p g e a r c o m ) 版本。该版本的u c l i n u x 包含了对m o t o r o l a 公司 m 5 2 7 2 c 3 和其他几款m c f 5 2 7 2 开估板的支持。但与本项目的耳标平台相比,硬 件资源并不完全相同,且为r a m 版本,并不能直接固化到r o m 中。于是决定 直接在m 5 2 7 2 c 3 的基础上进行修改,以减少工作量。需要添加三个文件: c r t 0 t o m s 、s y s i n i t + c 和1 1 3 1 1 1 1 d 。c r t ot o m s 可以由c r t 0r a m s 修改得到,它提供 一个r o m 矢量表以供c p u 上电时读取,并初始化c p u 寄存器,设置程序堆栈, 并最终跳转到u c l i n u x 内核。m e ms i z e 也必须修改为实际容量。 # d e f i n em e ms i z eo x o t 0 0 0 0 0 0 实际的s d r a m 为1 6 m v e c t o l 3 : l o n go x o ,s t a r t ,f a u l t ,f a u l t ,矢量表起始地址 ,初始化l k 字节矢量表 一s t a r t : n o p m o v e w0 x 2 7 0 0 s r关中断 m o v e 1 _ v e c t o r s ,d 0 m o v e cd 0 ,v b r,v b r 指向f l a s h m v o e 1 o x o l 0 0 0 0 0 0 1 ,d 0 m o v e c d o ,m b a rs i m 单元基地址o x0 1 0 0 0 0 0 0 m o v e 10 x 2 0 0 0 0 0 0l ,a 0 s r a m 起始地址0 x 2 0 0 0 0 0 0 0 m o v e c a o ,m l v l b a r 0 ,初始化s r a m 作为堆栈 m o v e 1 0 x 2 0 0 0 1 0 0 1 a 7 设置堆栈指专 下面对m c f 5 2 7 2 的u a r t 、g p i o 以及s i m 单元进行初始化。m o t o r o l a 网 电子科技大学硕士! 学位论文:基于l i n u x 嵌入式信息交互系统的研究与实现 站提供了这样的例程( s y s i n i t c ) 。需要针对实际情况做必要的修改,主要就实际占 用的片选资源c s 0 c s 7 、s d r a m 控制寄存器s d c r 、s d t r 作一些修改以适应 目标板。以下的程序片段描述了对s d r a m 的初始化。 初始化c s 71 6 m bs d r a m m c f 5 2 7 2w rc s c s b r 7 ( i m m 0 m c f 5 2 7 2c sb rb a s e ( s d r a m a d d r e s s ) 。m c f 5 2 7 2c sb rs d r a m m c f 5 2 7 2c sb rp sl i n e m c f 5 2 7 2c sb re n ) : m c f 5 2 7 2c sc s o r 7 ( i m m 0 ,m c f 5 2 7 2 _ c s r m a s k _ 1 6 m ,m c f 5 2 7 2 一c s o rw s ( 0 x l f ) ) : 初始化s d m m 控制寄存器s d c t r 、s d c c r m c f 5 2 7 2 一w r s d r a m c s d ( :t r ( i m m ,0 x f 5 3 9 ) ; m c f 5 2 7 2 一w r s d r a m c s d c c r ( i m m ,0 x 4 3 1 1 ) ; 第四步:修改启动脚本在u c l i n u x 完成内核初始化后,由i n i t ( v o i d * ) i 勾核线 程调用p o i r g i n i t ,然后执行e t c r c 脚本中的命令。可以利用这个脚本完成系统上电 后的自动配置,或者运行用户程序。r o m f s 文件系统中e t c r c 的源文件是 v e m o r s c e n e r i c b i g ,e t c r c 。一个典型的r c 文件如下所示。它完成以太网的设置, 并执行用户程序b i n e s p c c 。 h o s t n a m eu c l i n u x b i n e x p a n d e t c r a m f s i m g d e v h a m 0 ,b i n ,e x p a n d e t c r a m f s i m g d e v r a m i # b i n e x p a n d e t c r a m f s i m g d e 、r a m 2 m o u n t tp r o c p r o c p r o c m o u n t te x t 2 d e v r a m 0 v a r m o u n t t e x t 2 d e v r a m l e t c c o n f i g # m o u n t te x t 2 d e v r a r n 2 h o m e j h t t p d c g i - b i n m k d i r v a r t m p m k d i r v a r l o g m k d i r v a r r u n m k d i r v a r l o c k # h i n f l a t f s d r # c p e t c d e f a u l t e t c c o n f i g # h i n r e c o v e r 1 6 电子科技大学硕士学位论文:基于l n u x 嵌入式信息交互系统的研究与实现 i f e o n f i gl o1 2 7 0 0 1 i f c o n f i ge t h o1 9 2 1 6 8 2 1 1 1 c a t e t c t m o t d ,b i n e s p c & b i r d s o f t d o g & 第五步:内核的配置和编译需要建立一个交叉编译环境来完成内核和应用程 序的编译,生成r o m f s 文件系统,并最终形成一个固化文件。w 唧。u c l i n u x o r g 也提供这样一个工具包。正确安装后,就可以进行编译了。首先进入源代码目录 u c l i n u x d i s t ,执行m a k ex c o n f i g ,在弹出的对话框中选择“t a r g e tp l a t f o r m s e l e c t i o n ”,出现一个可选的对话框。由于直接对m 5 2 7 2 c 3 评估板的代码进行修 改,因此目标板选择m 5 2 7 2 c 3 。内核版本号选择2 4 ,采用乩_ 1 i b c 库。另外选 中“c u s t o m i z ek e r n e is e t t i n g s ”以定制需要的内核。在内核配置对话框中,将 r a m 大小配置为1 6 m b ,确认r o m f s 为r a m 驻留。为了可以直接m o u n t 宿主机硬盘 以方便调试,还需给内核添加对n f s 文件系统的支持。配置完毕后,在源代码目 录执行“m a k ed e p ”以及“m a k e ”,就得到了需要的二进制内核映像i m a g e b i n ,可 以直接下载到目标板运行。 2 3 在h a l 上建e i i s 系统 在嵌入式系统领域,嵌入式微处理器一直是嵌入式系统的核心。就这些年嵌 入式系统技术的发展看来,3 2 位的处理器占据嵌入式系统的领域越来越广,主 要有a r m 系列、m i p s 系列、p o w e r p c 系列、s u p e rh 系列和x 8 6 系列等,其中a r m 系列所占比重最大( 2 0 0 0 年所占比重为7 6 8 ) 。在这些结构基础上的各种设计 和开发能够满足基本需求,而且相对稳定。下面将阐述从在硬件基础上建立h a l 结构体系。 2 ,3 1 e l i s 的f i a i _ 结构 在上对嵌入式系统的认识之 。:。 后,对研究对象的体系结构提出 几点要求。第一,这个架构主要 1 2 是针对嵌入式运行系统和开发系 ”一 统而言。第二,研究重点在于如 g - 层 何构建嵌入式信息交互应用系 第一层 统。由于分层体系结构的特点, 嵌入式应用软件 中间支撑软件层 嵌入式操作系统内核层 硬件抽象层( h a l ) 硬件系统 囤2 - 3e i i s 的h a l 结构 ( t h es t r u c t u r eo fe l l s sh a l ) 电子科技火学硕士学位论文:基于l i n u x 嵌入式信息交互系统的研究与实现 其中有些层是可以不存在的,并且不影响运行系统的正常工作。图2 - 3 就给出了 一个嵌入式信息交互系统的最小的体系结构。 下面对这个架构主要内容进行简要的描述: 硬件系统部分:由于通用处理器的价格降低,体系结构成熟,外围设备的 设计规范,可扩展性好,可降低系统开发初期投入等等的特点。目前,很 多系统采用这样的样的硬件结构。由于各种外围设备的接口明确,采用通 用处理器系统结构的硬件系统,比较容易做到硬件系统的可剪裁。 h a l ,这一层在嵌入式系统中也叫板级支持包。由于嵌入式系统的硬件环境 变化较大,这一层对于上层的o s 的可移植性很重要的。从形式上看,它主 要由一些硬件相关的数据结构,方法和宏组成。一个可移植的操作系统是 通过它们来屏蔽硬件相关的代码的,这就导致这部分既有硬件相关性又有 操作系统相关性。从功能上分,它主要包括系统初始化和硬件相关的设备 驱动两部分内容。当然,有的专用俄e o s ,并没有这一令概念层次。 中间支撑软件层,这部分包括各种通用的基础软件( 如通用对象请求代理 ( c o r b a ) j a v a 虚拟机( j v m ) ,用户图形界面( g u i ) 等等) 。它们为某些应用 需求提供了高层的支持,提高了系统开发的效率及系统运行的稳定性是近 年来计算机科学与应用研究的热点,已经取得了较大的进展。其中也包括 在嵌入式系统应用中的成果。当然,这一层对于不同应用可以选择不同开 发方案。 嵌入式应用软件,近年来嵌入式应用有了很大的发展,特别是由于第三代 和第四代嵌入式系统的开发,一些嵌入式0 s 和中间支撑软件得到了应用, 从而提高了嵌入式应用软件的兼容性,代码的可重用性。 2 3 2h a l 在k i n u x 平台上的开发方法 接下来,主要讨论对于h a l 针剥恃定的硬件平台在l i f l u x 中可采用哪些办法 来设计和实现它。事实上,对这一音| 扮l i n u x 已经在许多典型的硬件平台上实现 了h a l ,在l i n u x 2 4 中这些平台包括x 8 6 ,a r m 和s h 等等。而如果针对特定的 应用,基于特定的硬件体系设计了一定的硬件平台后,可以用如下四种方法来开 发f i h l 初始化部分: 从头设计,采用“自底向上“的设计方法,即从硬件的需求考虑逐步的采 用分析,设计,编码,测试。当然,这种方法针对个全新的平台上来开 发有其可取之处,对于这种力法来开发设备驱动的方法将在第四章( ( e i i s 中的嵌入式数据库中讨论。 修改已有的代码。如前所述,l i l 3 u x 己可在许多体系结构中运行,那么, 电子科技大学硕十学位论文:基于l i n u x 嵌入式信息交互系统的研究与实现 只需修改那些在特定嵌入式应用中,改变了的部分即可。这种方法的不良 之处在于开发人员必须对已存在软硬件有一个很好的理解,故存在比较高 的门槛。对于这种方法来开发设备驱动的方法将在第三章 e i i s 中的驱动 开发及其通讯中讨论。 在驱动程序部分提供对一类设备共同点支持的基础结构模块。这种模块处 于高层操作系统软件与专门设备相关的软件之间,降低了驱动开发的复杂 性。这方面在l i n u x 系统里展开的工作有较多,有如f r a m e b u f f e r 是为显 卡驱动程序提供一个公共接口的模块,它对各种显卡具有的公共特点进行 了封装。它们都做的很成功,同时也有待于进一步发展。 利用一些可视化开发工具。然而,现在l i n u x 上这样的工具还没有很成形 的开放源代码的可用工具,这种工具是可以开展进一步研究和开发的方面。 有了这些方法,还需要对所选用的操作系统的分析和理解,这里重点对嵌入 式u c l i i 1 1 i x 的内核层进行详细
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教科版小学六年级语文2025-2026上期末卷
- 丙肝母婴阻断课件
- 2026年商旅证考试题库及答案
- 2026年四川省泸州市国家职业技能鉴定考评员上岗资格证考试模拟试卷带答案
- 2026年酒店礼仪考试模拟试卷及参考答案
- 2026年扁形动物门模拟试题(含答案)
- 2026年金沙招聘模拟试题模拟试卷及答案
- 2026年特种作业人员起重作业安全操作规范考核模拟试卷及答案
- 2026年文旅教投下属子公司招聘工作人员1名考试题库及参考答案
- 2026年企业消防培训模拟试卷及答案
- 2026年辽宁铁道单招测试题附答案
- 汽车吊装作业风险识别与管控
- 中国急性缺血性脑卒中诊疗指南(2025年)
- 离退休老干部专题党课筑思想防线葆党员本色
- 读后续写题型讲解课件-高中英语人教版第一册
- 铁路防断培训课件
- 反对本本主义解读课件
- 公司融资风险管理制度
- 麻醉睡眠治疗
- 《步辇图》美术鉴赏课件
- 《经济法基础》 (第2章) 第一章 总论
评论
0/150
提交评论