已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于手持移动设备的嵌入式l i n u x 移植研究 摘要 近年来随着嵌入式技术在各个领域的不断普及以及对于嵌入式产品需求的同步增 长,使嵌入式技术在移动设备上的应用越来越广泛。因此作为个人信息设备的手持移动 终端的普及非常的迅速,从高端的智能手机到廉价的学生电子词典都随处可见。 然而目前市面上的大部分产品是要么面向高端应用的设备,配置豪华,价格很高。 而面向低端的设备又功能偏少,不能满足用户更多的需求。因此决定设计一款功能比较 强,而价格却很低廉的个人移动信息设备。 在综合考虑了目前市场的手持移动设备的软硬件状况之后,确定以三星公司极具性 价比的嵌入式微处理器s 3 c 4 4 b o x 为核心并运行免费开源的, u c l i n u x 的移动设备,这样 能极大的降低了成本。本文从b o o f l o a d e r 启原理出发进行了源代码级的分析,把u - b o o t 移植到了开发板。详细分了操作系统g c l i n 眦的内核结构,j u c l i n u x 的内存管理、进程管 理,并进行到开发板的移植分析和研究。在确定设备的用户需求后,对内核进行相应的 功能裁减,添加串口和网卡的驱动。m i c r o w i n d o w s 是g c l i n u x 操作系统上的图形用户界 面,本文分析了其图形a p i ,并移植了一些实用性很强的应用软件,进一步增强了设备 的功能。在整个软硬件协同设计中,包含了多项关键技术可供后续的嵌入式系统产品开 发中使用。 关键词:嵌入式系统a r m m c l i n u x 嵌入式g u i 代码移植 第1 i i 砸 基于手持移动设备的嵌入式l i n u x 移植研究 么a s 删c r w i t l it h ep r o g r e s s i v eo fe m b e d d e ds y s t c mt e c h n o l o g ya n dd e m a n do fc u s t o m e r sf o rh a n d s e t i th a sb e e nw i d l ya p p l i e di nm a n ya r e a s a sar e s u l t , p e r s o n a lh a n d s e ts p r e dv e r yr a p i d l ya n d f r o mt h eh i 吐一e n ds m a r tp h o n e st ol o w c o s ts t u d e n t se l e c t r o n i cd i c t i o n a r y 啪b es e e n e v e r y w h e r e h o w e v e r , m o s to ft h ep r o d u c t so i lt h em a r k e tc u r r e n t l ya r ch i g h - e n do r i e n t e d w i t hl u x u r y c o n f i g u r a t i o na n dv e r ye x p e n s i v e i nc o n t r a r y , t h ee q u i p m e n ti nl o w - e n da r es i m p l y i n f u n c t i o n a l i t ya n dc o u l d n tm e e tt h ed e m a n do fu s e r s t h e r e f o r e ,t h ea u t h o rp r o p o s e dal o w c o s th a n d s e tw i t hc o m p a r a t i v e l yp o w e r f u lf u n c t i o n c o n s i d e r i n gt h ec o n d i t i o no fs o f t w a r ea n dh a r d w a r eh a n d s e ti nt h ec u r r e n tm a r k e t ,t h e r e s e a r c h e ru s e ds a m s u n g ss 3 c 4 4 b o xc p u i t sah i 曲- p e r f o r m a n c ea n dc o s t - e f f e c t i v e3 2b i t r i s cp r o c e s s o rw i t ha r m 刀:d m lc o r e t h eo p c r a t es y s t e mi sb a s e do n a c l i n u x ,w h i c hh a s b e e nw i d e l ya p p l i e di ne m b e d d e ds y s t e m sw i t h1 1 0m m u b e c a u s eo fi t s s i g n i f i c a n t a d v a n t a g e s ,s u c ha so p e ns o t t r c ec o d e sa n dp o w e r f u ln e t w o r ks up :p o r te t c t h em a i nw o r ko f t h i sp a p e ri sa n a l y z i n gt h es o u r c ec o d e so fu - b o o ta n dp o r t i n go fi t ;r e s e a r c h u c l i n u xk e r n e l s t r u c t u r ea n dp r o c e s sm a n a g e m e n ta n dm e m o r ym a n a g e m e n t ,p o a e dt h e c l i n u xt ot h e p l a t f o r m ;p o r t e dm i c r o w i n d o w st ot h ep l a t f o r ma n dd e v e l o ps o m eu t i l i t y k e yw o r d :e m b e d d e ds y s t e m ,a r m ,m c t i n u x ,e m b e d d e dg u i ,c o d ep o r t i n g 笫l v :! i j : 基于手持移动设备的嵌入式l i n u x 移植研究 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立 进行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含 任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究在做 出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识 到本声明的法律责任由本人承担。 论文作者签名: 关于学位论文使用授权的声明 本人完全了解贵州大学有关保留、使用学位论文的规定,同意学校 保留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被 查阅和借阅;本人授权贵州大学可以将本学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文 和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名: 第4 6j ! i 魁 手 基于手持移动设备的嵌入式l i n u x 移植研究 1 1 嵌入式系统 1 1 1 嵌入式系统定义 第一章绪论 在现在日益信息化的社会中,各种各样的新型嵌入式系统设备在应用数量上已经远 远超过通用计算机,任何一个普通人可能拥有从大到小的各种使用嵌入式技术的电子产 品,小到m f 3 ,手持设备等微型数字化产品,大到智能家电,车载电子设备。而在工业 和服务领域中,使用嵌入式技术的数字机床,智能工具,工业机器人,服务机器人也将 逐渐改变传统的工业和服务方式目前嵌入式系统技术已经成为了最热门的技术之一, 吸引了大批的优秀人才投入其中。 广义上讲,可以认为凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。 作为系统核心的微处理器又包括三类:微控制器( m c t 0 、数字信号处理器( d s p ) 、嵌入 式微处理器m i ) 严格讲嵌入式系统是以应用为中心、以计算机技术为基础、软件硬 件可裁剪、适应应用系统对功能、成本、体积、功耗严格要求的专用计算机系统i 李岩 2 0 0 5 。 1 1 2 嵌入式系统特点 与通用型计算机系统相比,嵌入式计算机系统具有以下特点 a r m2 0 0 1 - 1 ) 嵌入式系统通常是面向特定应用的。嵌入式c p u 与通用型的最大不同之处就是 嵌入式c p u 大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、 集成度高等特点,能够把通用c p u 中许多由板卡完成的任务集成在芯片内部,从而有 利于嵌入式系统设计趋于小型化,移动能力大大增强,与网络的耦合也越来越紧密。 2 ) 嵌入式系统是将计算机技术、半导体技术和电子技术与各个行业的具体应用相 结合后的产物,是- - n 综合技术学科。由于空问和各种资源相对不足,嵌入式系统的硬 件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更 高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。 3 ) 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯 片或单片机本身中,而不是存储于磁盘等载体中。 1 1 3 手持移动设备 手持移动设备以其功能全、体积小、重量轻,携带方便等特性成为嵌入式领域中的 全能产品集计算、通信、网络、存储、娱乐、电子商务等多功能为一体,是人们工作 和学习的良好助手。 根据功能上的区别,手持移动设备分为掌上电脑( p d a ) 类、手机类、电子词典类、 记事本类等多种类型。电子词典类和记事本类价格较低,但由于功能有限,用户人群相 第1 贝 基于手持移动设备的嵌入式i a n u x 移植研究 对狭小目前呈萎缩势态,而掌上电脑类和手机类用户呈增长势头。新近出现的智能手机 是在p d a 的基础上整合手机功能,但整合后因成本关系,其价格较高,短期内难以降 低。p d a 则没有手机功能,但可以整合目前热销的数码产品( 如m f 3 播放机、电子书) 的功能,并有较大的显示屏。经过适当的功能组合,可以使用户最大限度地享受数码技 术带来的方便李善平2 0 0 3 1 。 目前市场上的手持设备的硬件与软件设计都很类似。硬件主要是由r i s c 系列的微 处理器核心配合一定的外围电路和芯片构成,高档的多采用i n t e lx s c a l e 系列核心,主 频在3 0 0 m h z 以上陈向群2 0 0 2 1 :例如m o t o r o l a 公司推出的a 1 2 0 0 智能手机,i n t e l ) 【s c a l e 处理器,c p u 主频3 1 2 m ,采用l i n u x 操作系统,售价在4 5 0 0 左右。中档的是a r m 9 核心档次,主频在2 0 0 m h z 以上;例如夏新公司推出的智能手机e 7 0 ,采用o m a p 7 7 0 处理器,主频2 0 0 m ,w i n d o w s c e 操作系统,售价在2 0 0 0 元左右。低档的多是a r m 7 核心,主频在3 0 m h z 以上。软件中最主要的部分是操作系统,目前大多采用w i n d o w s c e 和p a l m o s ,s y m b i a n ,商业版本的l i n u x ,应用软件都在这几种操作系统上设计。 1 2 本文设计的思路 1 2 1 手持设备市场分析 经过对市场上的掌上电脑类软硬件设计进行分析,发现有这样一些问题: 1 ) 高档的设备价格昂贵,c p u 主频高,但因存储容量有限,m o t o r o l a 的a 1 2 0 0 只 有不足1 0 m 的用户空间。不能充分发挥其高主频的优势,较之笔记本电脑( 采用硬盘存 储器、并没有太大优势,且价格己与低档的笔记本电脑在同一水平线,这样其用户人群 相对很小。 2 ) 中档价格在两三千元,c p u 主频适中,但在这样的频率在2 0 0 m h z 以上,工作, 电路设计要求高,主板多采用四层以上的电路板,显示屏采用彩色液晶屏,这样电路上 的成本很高,显示屏成本也较高,造成总体价格难以下降,限制了消费者的购买热情。 3 ) 低档价格低,c p u 主频较低,电路简单,采用黑白或灰度液晶显示屏,多见于 电子词典等个人设备。存储容量也十分有限,使得整体性能不强,功能比较弱。 4 ) w i n d o w s c e 和p a l m o s ,s y m b i a n 这几种操作系统是其公司专有的操作系统,需 要相当费用才能使用,这样对整体成本造成较大影响。操作系统的维护和升级也是一个 很大的难题。这样在设计、生产和维护中受制于人,这一部分需要综合考虑才能达到最 佳的效果。m o t o r o l a 和s a m s u n g 公司虽然推出了l i n u x 智能手机,可都是基于商业版本 的m o n t a v i s t al i n u x ,这套l i n u x 的售价在2 0 万美元左右,所以开发成本依然很高。 综合上面这几点,可以看到目前的用户还比较有限,高中档手持设备的主要用户局 限于商业人士和管理人员,低档手持设备虽然面向大众,但有限的功能使得手持设备完 全比不过m p 3 播放器这类功能单一但价格很低的数码产品。市场迫切需要一种能满足 大众要求、功能齐全、价格便宜、性价比高的产品来打开大众市场,两不是仅限于经济 条件好的少数人。 1 2 2 廉价手持设备的设计思路 廉价的手持设备功能上一定要有自己的优势,出了价格有竞争力,而且功能还必须 齐全,这样j 能为广大消费者接受。奉课题采取如下的硬件和软件设计: 第2 页 基于手捧移动设备的嵌入式l i n u x 移植研究 1 ) c p u 采用a r m 7 系列。a r m 7 系列是a r m 公司设计的r 1 s c 型计算机中的一 种,在手持设备与嵌入式系统中有广泛使用。因为是r i s c 体系,a r m 系列的c p u 在 同一工作频率下,性能要优于p c 中采用的x 8 6 体系。a r m 7 是没有m m u 的r i s c 型 c p u ,完全可以胜任手持设备的工作。a r m 7 系列c p u 主频范围大致在2 0 m h z 到 1 0 0 m h z ,性能根据主频的不同差别也很大。在手持设备中使用a r m 7 时,因考虑到有 多媒体应用,应选择工作主频较高的型号,大致在6 0 m h z 以上,可以胜任如m p 3 音乐 文件的实时播放等多媒体应用工作魏忠2 0 0 3 。 2 ) 手持设备作为掌上型的电脑,除性能要求外,还需要有与别的电脑通信的功能。 现代计算机之间通信的主要通过串口、并口、网口、u s b 接口等计算机外部接口进行 因手持设备体积小,所以设置并口这种体积较大的接口是不合适的;串口虽然速度不快, 但在手持设备的调试与软件升级中有非常重要的作用,所以必不可少网口速度快、体 积小、技术成熟,是快速传输大量数据的最好方式,且能方便的接入枷:锄e t 网,也是 必不可少的;u s b 接口是近十年来发展迅速的一种接口,速度快、体积小,而且有大量 的计算机外设都可以通过u s b 接口接入计算机,对手持设备的功能扩展有很大的用处 3 ) 采用p c l i n u x 作为操作系统。市场上的手持设备大多采用m i c r o s o f t 公司w i n c e 操作系统和p a l m 公司的p a l mo s ,牵涉使用费问题,提高了手持设备的成本,在大众 型手持设备上不适宜采用。为有效的降低成本,决定采用l i n u x 系统。* c l i n e x 操作系 统是l i n u x 的一个变种,专门针对没有m m u 的计算机。由于源自l i n e x 。p c l i n u x 的功 能相当强大,可以完成手持设备的各种工作。z c l i n u x 与l i n u x 一样开放源代码。任何 入都可以下载使用,这样也为手持设备的设计开发节省了成本。 4 ) 采用m i c r o w m d o w s 作为图形用户界面。使用手持设备需要图型用户界面,m c l i n u x 操作系统是字符界面的,需要加g u i 以方便使用。m i c r o w i n d o w s 是一种专为手持设备 和嵌入式系统设计的g u i ,与p c l i n u x 的结合也很好,并且是开放源代码的,所以在手 持设备上使用很合适。 5 ) 应用程序在* c l i n u x 和m i e r o w i n d o w s 上进行设计。有了操作系统和图型用户界 面以后,就可以在其上设计应用程序。由于t c l i n u x 和m i c r o w i n d o w s 提供了很方便的 a p i ,且可以利用的免费资源很多,应用程序的设计很方便。可以根据需要,参考市场 上各种手持设备,设计本手持设备的功能。最基本的功能是:记事本、电子词典、i n t e r n e t 浏览器、电子书、数码相机、电子游戏。可以根据需要,进一步扩展功能。 以上是对本课题研究的大众型手持设备的设计论证与软硬件要求,还要求整体成本 控制在7 0 0 元以下,这样才能使用户以低价格购得满足需要的产品。 1 2 3 执行方案 经过认真的研究决定课题的设计步骤具体可以分为如下几步; 1 ) 确定c p u 型号。全世界有很多公司生产a r m 7 系列的c p u ,针对本课题的需 要确定一种适合的c p u 型号,然后进一步确定开发版的硬件配置及购买。 2 ) 确定合适的b o o t l o a d e r ,使用免费开源的u b o o t ,并移植到开发版,移植过程中, 需要对c p u ,s d r a m ,f l a s h 的一些硬件参数比较了解。 3 ) 移植m c l i n u x 和m i c r o w i n d o w s 到系统。因开放源代码,运彳亍z c l i n u x 和 m i e r o w i n d o w s 操作系统没有技术支持。需要一个移植的过程。在移植# c l i n u x 到系统的 过程中,各种设备的驱动程序设计是一个最关键的过程,并根据功能确定的手持设备的 功能。 4 ) 应用程序设计。设计应用程序总体框架,设计具体模块,然后编程。可利用_ 丁i = 第3j 贝 基于手持移动设备的嵌入式l i n u x 移植研究 放源代码的优势,充分利用已有的代码资源,移植到开发版上运行,这样可以有效的减 小开发的工作量,提高开发效率。 2 1r i s c 体系结构 第二章a r m 处理器 传统的c i s c ( c o m p l e xi n s t r u c t i o ns e tc o m p u t e r ,复杂指令集计算机1 结构有其固有的 缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令, 计算机的体系结构会越来越复杂,然而,在c i s c 指令集的各种指令中,其使用频率却 相差悬殊,大约有2 0 的指令会被反复使用,占整个程序代码的舳而余下的 的指令却不经常使用,在程序设计中只占2 0 ,显然,这种结构是不太合理的 基于以上的不合理性,1 9 7 9 年美国加州大学伯克利分校提出了r i s c ( r e d u c e d i n s t r u c t i o ns e tc o m p u t e r ,精简指令集计算机) 的概念,r i s c 并非只是简单地去减少指 令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上r i s c 结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻 地方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。一般 认为,r i s c 体系结构应具有如下特点 s a m s u n g2 0 0 0 : 1 ) 采用固定长度的指令格式,指令归整,简单、基本寻址方式有2 3 种。 2 ) 使用单周期指令,便于流水线操作执行。 3 ) 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载厢二储指令可以 访问存储器,以提高指令的执行效率。 除此以外,a r m 体系结构还采用了一些特别的技术,在保证高性能的前提下尽量 缩小芯片的面积,并降低功耗: 1 ) 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令执行效率。 2 ) 可用加载,存储指令批量传输数据,以提高数据的传输效率。 3 ) 可在一条数据处理指令中同时完成逻辑处理和移位处理。 4 ) 在循环处理中使用地址的自动增减来提高运行效率。 当然,和c i s c 架构相比较,尽管r i s c 架构有上述的优点,但决不能认为r i s c 架 构就可以取代c i s c 架构,事实上,r i s c 和c i s c 各有优势,而且界限并不那么明显。 现代的c p u 往往采用c i s c 的外围,内部加入了r i s c 的特性,如超长指令集c p u 就 是融合了r i s c 和c i s c 的优势,成为未来的c p u 发展方向之一。 2 2 a r m 处理器 2 2 1 。4 r 彳 a r m ( a d v a n c e dr i s cm a c h i n e s ) ,既可以认为是一个公司的名字 a r m2 0 0 1 1 ,也 可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。 1 9 9 1 年a r m 公司成立予英国剑桥,主要出售芯片设计技术的授权。目前,采用 a r m 技术知识产权( i p ) 核的微处理器,即我们通常所说的a r m 微处理器,已遍及工 第4 页 基于手持移动设备的嵌入式“n 弧移植研究 业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于a r m 技术的微处理器应用约占据了3 2 位r i s c 微处理器7 5 以上的市场份额,a r m 技术正 在逐步渗入到我们生活的各个方面。 a r m 公司是专门从事基于r i s c 技术芯片设计开发的公司,作为知识产权供应商, 本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大 半导体生产商从a r m 公司购买其设计的a r m 微处理器核,根据各自不同的应用领域, 加入适当的外围电路,从而形成自己的a r m 微处理器芯片进入市场。目前,全世界有 几十家大的半导体公司都使用a r m 公司的授权,因此既使得a r m 技术获得更多的第 三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费 者所接受,更具有竞争力。 2 2 ,2a r m 微处理器的应用领域 到目前为止,a r m 微处理器及技术的应用几乎已经深入到各个领域: 1 ) 工业控制领域:作为3 2 的r i s c 架构,基于a r m 核的微控制器芯片不但占据 了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展, a r m 微控制器的低功耗、高性价比,向传统的8 位1 6 位微控制器提出了挑战 2 ) 无线通讯领域:目前已有超过8 5 的无线通讯设备采用了a r m 技术,a r m 以其高性能和低成本,在该领域的地位日益巩固。 3 ) 网络应用:随着宽带技术的推广,采用a r m 技术的a d s l 芯片正逐步获得竞 争优势。此外,a r m 在语音及视频处理上行了优化,并获得广泛支持,也对d s p 的应 用领域提出了挑战。 4 ) 消费类电子产品:a r m 技术在目前流行的数字音频播放器、数字机顶盒和游戏 机中得到广泛采用。 5 ) 成像和安全产品:现在流行的数码相机和打印机中绝大部分采用a r m 技术。手 机中的3 2 位s i m 智能卡也采用了a r m 技术。 2 2 3a r m 微处理器分类和特点 a r m 微处理器目前包括a r m 7 系列;a r m 9 系列;a r m 9 e 系列;a r m l 0 e 系列; s e c u r c o r c 系列等。 其中,a r m 7 、a r m 9 、a r m 9 e 和a r m l 0 为4 个通用处理器系列,每一个系列提 供一套相对独特的性能来满足不同应用领域的需求。s e c u r c o r e 系列专门为安全要求较 高的应用面设计。其它厂商基于a r m 体系结构的处理器,除了具有a r m 体系结构的 共同特点以外,每一个系列的a r m 微处理器都有各自的特点和应用领域。 采用r i s c 架构的a r m 微处理器一般具有如下特点: 1 ) 体积小、低功耗、低成本、高性能; 2 ) 支持t h u m b ( 1 6 位) ,a r m ( 3 2 位) 双指令集,能很好的兼容8 位1 6 位器件; 3 ) 大量使用寄存器,指令执行速度更快; 4 ) 大多数数据操作都在寄存器中完成; 5 ) 寻址方式灵活简单,执行效率高; 6 ) 指令长度固定。 第5 联 基于手持移动设备的嵌入式l i n e x 移植研究 2 2 4 a r m 7 微处理器系列 a r m 7 系列微处理器为低功耗的3 2 位r i s c 处理器,最适合用于对价位和功耗要求 较高的消费类应用a r m 7 微处理器系列具有如下特点 s a m s u n g2 0 0 0 1 : 1 ) 具有嵌入式l c e r t 逻辑,调试开发方便。 2 ) 极低的功耗,适合对功耗要求较高的应用,如便携式产品 3 ) 能够提供0 9 m i p 踟沮k 的三级流水线结构。 4 ) 代码密度高并兼容1 6 位的t h u m b 指令集。 5 ) 对操作系统的支持广泛,包括w m d o w sc e 、l i n u x 、p a l mo s 等。 1 6 ) 指令系统与a r m 9 系列、a r m 9 e 系列和a r m i o e 系列兼容,便于用户的产品 升级换代 7 ) 主频最高可达1 3 0 m i p s ,高速的运算处理能力能胜任绝大多数的复杂应用。 a r m 7 系列微处理器的主要应用领域为:工业控制、i n t e m e t 设备、网络和调制解 调器设备、移动电话等多种多媒体和嵌入式应用。a r m 7 系列微处理器包括如下几种类 型的核:a r m t t d m i 、a r m 7 t d m i - s 、a r m 7 2 0 r 、a r m 7 e j 。其中,a r m 7 t m d i 是 目前使用最广泛的3 2 位嵌入式r i s c 处理器,属低端a r m 处理器核。本课题所采用的 s a m s u n g 公司的s 3 c 4 4 b o x 即属于该系列的处理器 2 3s 3 c 4 4 b o x 处理器 s a m s u n g 公司推出的1 6 3 2 位r i s c 处理器s 3 c 4 4 b o x 为手持设备和一般类型应用 提供了高性价比和高性能的微控制器解决方案。为了降低成本,s 3 c 4 4 8 0 x 提供了丰富 的内置部件,包括:8 k b c a c h e ,内部s r a m ,l c d 控制器,带自动握手的2 通道u a r t , 4 通道d m a ,系统管理器( 片选逻辑,f p e d o s d r a m 控制器) ,代用p w m 功能的 5 通道定制器,f o 端口,r t c ,8 通道1 0 位a d c ,i i c - b u s 接口,i i s - b u s 接口, 同步s i o 接口和p l l 倍频器。 , s 3 c 4 4 8 0 x 使用了a r m 7 t d m i 内核,采用0 2 5 u m 工艺的c m o s 标准宏单元和 存储编译器。它的低功耗精简和出色的全静态设计特别适用于对成本和功耗敏感的应 用。同样s 3 c 4 4 8 0 x 还采用了一种新的总线结构,即s a m b a l i ( 三星a r mc p u 嵌入 式微处理器总线结构) o s 3 c 4 4 b o x 的杰出特性是它的c t u 核,是由a r m 公司设计的1 6 3 2 位a r m 7 t d m i r i s c 处理器( 最高主频6 6 m h z ) 。a r m 7 t d m i 体系结构的特点是它集成了t h u m b 代 码压缩器,片上的i c e 断点调试支持,和一个3 2 位的硬件乘法器。s 3 c 4 4 b o x 通过提 供全面的、通用的片上外设,大大减少了系统电路中除处理器以外的元器件配置,从而 最小化系统的成本。$ 3 c 4 4 b o x 处理器内部体系结构如图- i s a m s u n g2 0 0 1 所示。 $ 3 c 4 4 b o x 采用1 6 0 脚l q f p f b g a 封装,功能齐全,可扩展性强,价格非常便宜, 约三十块钱左右一颗,性价比非常的高,能够有效的降低手持设备的成本。 第6 负 基于手持移动设备的嵌入式l i a u x 移植研究 3 1 实验开发板 第三章开发环境的建立 在对手持设备的功能和结构进行了详细的分析之后,并结合实际情况,对市场上的 开发板做了仔细的调查,发现了一款很适合本研究的试验开发板l i d 4 4 b o x d v k - i 。这 是一款由北京蓝海微芯公司生产的入门级的嵌入式a r m 7 开发板,价格十分低廉。 蓝海微芯的这款u m 4 4 8 0 x d v k i 是由核心板( 4 层板) 加上底板( 双面板) 两部分组 成,扩展性很好。中央处理器$ 3 c 4 4 b o x ,2 mb y t en o rf l a s h ( s s t 3 9 v f l 6 0 1 ) i s s t 2 0 0 3 ;8 ms d r a m ( h y 5 7 v 6 4 1 6 2 0 ) :1 0 m 网络芯片c s 8 9 0 0 ,并带有两个串口,一个 u s b i 1 接口。开发板个设备之间的资源分配如表一l 【蓝海微芯2 0 0 4 所示: 地址区间 说明片选信号 o x o o o o o o t d q ) x 0 2 0 0 0 0 0 02 m f l a s h 存储器埘g c s o 峨0 c 1 0 0 c o 加。【0 4 0 0 0 0 2 0n a n df i a s hn g c s l 0 x 0 4 0 0 0 0 2 0 - - 0 x 0 4 0 0 0 0 2 en g c s 2 0 x 0 6 t d 0 0 0 g q k 0 6 0 0 0 0 0 1 网络接口芯片c s 8 9 0 0 接口n g c s 3 0 x 0 8 0 0 0 0 t d q ) x 0 8 0 0 0 0 0 1u s b 接口芯片p d i u s b l 2 n g c s 4 0 x 0 a 0 【,0 d 0 帆删0 0n g c s 5 l 硝* ) x 瑚。娟c 嫡1 ¥ r ¥警 8 m s d r a m 存储器 丑g c s 6 螂0 c 1 0 0 0 0 ,n g c s 7 表一1 设备资源分配表 第7 页 基于手持移动设备的嵌入式i a n e x 移植研究 3 2 构建交叉编译环境 3 2 。1 交叉编译 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,就 称这种编译器为交叉编译器。这个编译过程就叫交叉编译。 交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的我们常用的计 算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码( 比如c 代码) 编译成计算机可以识别和执行的二进制代码。比如,在w i n d o w s 平台上,可使用v i s u a l c h 开发环境,编写程序并编译成可执行程序。这种方式下,我们使用p c 平台上的 w i n d o w s 工具开发针对w i n d o w s 本身的可执行程序,这种编译过程称为n a t i v e c o m p i l a t i o n ,中文可理解为本机编译马忠梅2 0 0 2 。然而,在进行嵌入式系统的开发时, 运行程序的目标平台通常具有有限的存储空间和运算能力,比如常见的a r m 平台,其 一般的静态存储空间大概是1 6 到3 2m b ,而c p u 的主频大概在3 3 m h z 到5 0 0 m h z 之 间这种情况下,在a r m 平台上进行本机编译就不太可能了,这是因为一般的编译工 具链需要很大的存储空间,并需要很强的c t u 运算能力。为了解决这个问题,交叉编 译工具就应运而生了通过交叉编译工具,我们就可以在c t u 能力很强、存储控件足 够的主机平台上编译出针对其他平台的可执行程序。 要进行交叉编译,需要在主机平台上安装对应的交叉编译工具链,然后用这个交叉 编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。在业界广泛使用 嵌入式l i n u x 操作系统的今天,大多数交叉编译过程都是在l i n u x 上完成。这时,程序 员会在某个运行l i n u x 操作系统的p c 上安装交叉编译工具链,并使用g n u 提供的开发 工具方便地开发和调试嵌入式应用软件。 3 2 2 搭建交叉编译环境 针对n o m m u 的c p u ,# c l i n u x 专门开发了一套编译软件,可以从w w w u c l i n u x o r g 下载。文件名是a r m - e l f - t o o l s 2 0 0 3 0 3 1 4 s h 。目前这个是最新的编译套件。下载完成后使 用r o o t 用户安装,文件默认安装在u s r l o c a l 目录下面,可以看到有各种实用工具f 李驹 光2 0 0 3 1 。其中a t m - e l f - g c c 是最重要的开发工具,它将源文件编译成目标文件,然后由 a r m - e l f - l d 链接成可以运行的二进制文件。其它的为辅助工具:o b j d u m p 可以反编译二进 制文件,鹬为汇编编译器,g e n m m f s 为制作r o m d i s k 的工具,g d b 为调试器等,e l f 2 小 是一个转换工具,将编译生成的e l f 格式文件转换成u c l i n u x 支持的f l a t 文件格式 3 2 3j t a g 软件 j t a g ( j o i n t t e s t a c t i o n g r o u p ,联合测试行动小组) 是一种国际标准测试协议( i e e e 1 1 4 9 1 兼容) ,主要用于芯片内部测试。现在多数的高级器件都支持j t a g 协议,如d s p 、 f p g a 器件等陈渝2 0 0 5 。标准的j t a g 接口是4 线:t m s 、t c k 、t d l 、t d o ,分别 为模式选择、时钟、数据输入和数据输出线。 j t a g 最初是用来对芯片进行测试的,基本原理是在器件内部定义一个t a p ( t e s t a c c e s sp o r t ,测试访问口) 通过专用的j t a g 测试工具对进行内部节点进行测试。j t a g 第b 页 基于手持移动设备的嵌入式l i a u x 移植研究 测试允许多个器件通过j t a g 接口串联在一起,形成一个j t a g 链,能实现对各个器件 分别测试现在,j t a g 接口还常用于实现i s p ( h s y s t e mp r o g r a m m a b l e 在线编程) , 对f l a s h 等器件进行编程。 j t a g 编程方式是在线编程,传统生产流程中先对芯片进行预编程现再装到板上因 此而改变,简化的流程为先固定器件到电路板上,再用j t a g 编程,从而大大加快工程 进度。j t a g 接口可对芯片内部的所有部件进行编程。 在这里j t a g 最主要的作用是往f l a s h 中写入移植好的b o o t l o a d e r ,这样可以方便 的开发和调试b o o t l o a d e r j t a g 的缺点是写入速度非常的慢。 i j d 4 4 8 0 ) ( d v l g i 试验开发板所提供的f l a s h 烧写软件都是在w i n d o w s 平台运彳亍 的,并没有提供i a n u x 下面的烧写工具,所以这在l i n u x 里面开发很不方便,所以特地 安装l i n u x 下面的j 1 a g 软件。 l i n u x 下针对s 3 c 4 4 b o x 的j t a g 软件是源自o p e n w i n c e 中的j t a g 子项目,该项目 本来是针对微软的w i n c e 平台的开源项目。现在加入了对s 3 c 4 4 b o x 的支持,并移植 到了l i n u x 下面。网址是:h t t p :o p e n w i n c e s o u r c e f o r g e n e t j t a g o p e n w i n c e 中的j t a g 项目有很多好的特性: 1 ) 方便扩展j 1 a gc a b l e 和j t a g - a w a r ed e v i c e 2 ) 支持脚本文件 3 ) 提供了b s d l 文件的解析器,只要厂商提供b s d l 文件,就能生成对应的配置文件 在j t a g 的s i c 目录里面有几个重要的脚本文件,在每次操作f l a s h 的时候需要顺 序执行,这几个文件分别是: “ i t a g i n i t r c 初始化脚本文件 e r a s e c h i p r c 擦除整个f l a s h ,f i a s h 芯片为s s t 3 9 v f l 6 0 1 d e t e , c t f l a s h0 x 0 在写入f l a s h 之前要探测f l a s h 型号 4 1b o o 嚏l o a d e r 简单地说,b o o t l o a d e r 就是在操作系统内核运行之前运行的一段小程序。通过这段 小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境 带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常b o o t l o a d e r 是严重地依赖于硬件而实现的,因此,在嵌入式世界里建立一个通用的b o o t l o a d e r 几乎是不可能的。 每种不同的c p u 体系结构都有不同的b o o tl o a d e r ,有些b o o tl o a d e r 也支持多种体 系结构的c p u ,比如u b o o t 就同时支持a r m 体系结构和m i p s 体系结构。除了依赖 于c p u 的体系结构外,b o o tl o a d e r 实际上也依赖于具体的嵌入式板级设备的配置。这 也就是说,对于两块不同的嵌入式板而言,即使它们是基于同一种c i u 而构建的,要 想让运行在一块板子上的b o o tl o a d e r 程序也能运行在另一块板子上,通常也都需要修 改b o o tl o a d e r 的源程序。, 系统加电或复位后,所有的c p u 通常部从某个由c p u 制造商预先安排的地址上取 第9 页 基于手持移动设备的嵌入式l i a e x 移植研究 指令比如,基于a r m t t d m i 核心的c p u 在复位时通常都从地址0 x 0 0 0 0 0 0 0 0 取它的 第一条指令而基于c p u 构建的嵌入式系统通常都有某种类型的固态存储设备( 比如: e e p r o m 或f i a 峪l i 等) 被映射到这个预先安排的地址上因此在系统加电后,c p u 将 首先执行b o o tl o a d e r 程序。图3 就是一个同时装有b o o tl o a d e r 、内核的启动参数、内 核映像和根文件系统映像的固态存储设备的典型空间分配结构图 图- 3 固态存储设备的典型空闻分配结构 主机和目标机之间一般通过串口建立连接,b o o tl o a d e t 软件在执行时通常会通过串 口来通信,比如:输出打印信息到串口,从串口读取用户控制字符等。 大多数b o o tl o a d e r 都分为s t a g e l 和s t a g e 2 两大部分。依赖于c p u 体系结构的代码, 比如设备初始化代码等,通常都放在s t a g e l 中,而且通常都用汇编语言来实现,以达到 短小精悍的目的。而s t a g e 2 则通常用c 语言来实现,这样可以实现给复杂的功能,而且 代码会具有更好的可读性和可移植性。 b o o tl o a d e r 的s t a g e l 通常包括以下步骤f 詹荣开2 0 0 6 : 1 ) 硬件设备初始化 , 2 ) 为加载b o o tl o a d e r 的s t a g e 2 准备r a m 空间。 3 ) 拷贝b o o t l o a d e r 的s t a g e 2 到洲空间中。 4 ) 设置好堆栈。 5 ) 跳转到s t a g e 2 的c 入口点。 b o o tl o a d e r 的s t a g e 2 通常包括以下步骤: 1 ) 初始化本阶段要使用到的硬件设备。 2 ) 检测系统内存映射( m e m o r ym a p ) 。 3 ) 将k e r n e l 映像和根文件系统映像从f l a s h 上读到r a m 空间中。 4 ) 为内核设置启动参数。 5 ) 调用内
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 支气管扩张:临床诊疗与全程管理指南(患者版)
- 市集活动免责协议书
- 2024年全国中考化学试题分类汇编:第7单元《燃料及其利用》
- 21秋吉大《资产评估》在线作业二
- T91钢在NaCl溶液中的盐雾腐蚀性为研究
- 牛肉中玉米赤霉醇及其相关物残留物的GCMS检测方法研究
- 2026届甘肃省张掖市高三下学期第二次诊断性考试历史试题(含答案)
- 202-2026年国内长途搬家与物流配送合同协议合同二篇
- 2.2 FPGA主流芯片与选型
- 2026年九年级数学中考模拟试卷(江苏苏州卷)
- 实施指南(2025)《HG-T4282-2011塑料焊接试样拉伸检测方法》
- T-BDCA 0003-2025 卸妆油卸妆能力评价指南
- 建筑设备安装施工组织设计范文
- 2025年云南省高考地理真题卷含答案解析
- 2025年医卫类病案信息技术(师)-相关专业知识参考题库含答案解析
- 2025年四川省高考化学试卷真题(含答案解析)
- 云南省委党校研究生考试真题党建党史(附答案)
- 2025年吉林省中考语文试卷真题(含答案)
- TCW-32 ZK温控器使用说明书
- 大数据计量经济分析 课件 第10章 空间计量分析模型
- DB31/T 637-2012高等学校学生公寓管理服务规范
评论
0/150
提交评论