已阅读5页,还剩82页未读, 继续免费阅读
(微电子学与固体电子学专业论文)基于软核soc的嵌入式linux显示技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着集成电路和系统集成技术的发展,对于应用于特定领域,满足特定的要 求的嵌入式系统提出了更高的要求。例如要求有灵活的软硬件配置,快速的软件 开发方法。与此同时,l i n u x 在嵌入式领域也迅速发展。因此具有灵活的软硬件 配置能力的基于软核开源s o c 的嵌入式l i n u x 平台,会越来越多的应用于嵌入式 领域。 l e o nf p g a 平台是一个基于s p a r cv 8 体系结构的一个软核s o c 软硬件平台, 它包括了免费的硬件i p 核,嵌入式l i n u x 系统软件及其开发环境等,这样的一 体化开发环境为嵌入式系统开发提供了极大的便利。但这个开发平台中,显示系 统软件的支持还很有限没有合适的图形用户界面程序,显示设备不够丰富。 与此同时,传统的照搬计算机系统中软件开发方法已经无法满足嵌入式系统的需 要。基于这些情况,本课题结合优秀软件开发方法研究基于l e o n 软核s o c 的嵌 入式系统的显示技术,从系统的垂直层次研究s o c 软件。 课题研究内容包括嵌入式l i n u x 开发环境,编写底层驱动程序,移植和改进 图形界面。开发方法上选择了适合快速开发嵌入式软件的模型一演化模型。 本课题提供的改进l e o n 平台适用于有各种g u 工需求的应用场合,例如数码 相框,嵌入式仪器仪表等,笔者研究成果如下: 为a r ml i n u x 和l e o nl i n u x 建立了统一方便的嵌入式开发环境; 编写了单色液晶驱动,增加了一个彩色液晶屏驱动; 移植q t 和m i n i g u i 两个图形用户界面( g u i ,g r a p h i cu s e ri n t e r f a c e ) 。 关键字:嵌入式系统,l e o n ,图形用户界面,l i n u x ,帧缓冲设备驱动 a b s 仃a c t a b s t r a c t w i t ht h ed e v e l o p m e n to fi n t e g r a t e dc i r c u i t sa n di n t e g r a t e ds y s t e m , h i g h e rr e q u i r e m e n t , s u c ha sf l e x i b l es o f t w a r eh a r d w a r ec o n f i g u r a t i o na n d r a p i dd e v e l o p m e n tm e t h o d , i ss e tu pt oe m b e d d e ds y s t e m sw h e n u s e di n s p e c i a la p p l i c a t i o n s m e a n w h i l e ,l i n u xs 0 1 u t i o n sa r eb e i n gr a p i d l yu s e d i ne m b e d d e ds y s t e m s t h e r e f o r e , s o f tc o r ea n do p e ns o u r c es o c b a s e d e m b e d d e dl i n u xp l a t f o r m ,w i t hf l e x i b l es o f t w a r eh a r d w a r ec o n f i g u r i n g a b i l i t y , w i l lb em o r ea n dm o r eu s e di nt h ee m b e d d e df i e l d l e o nf p g ap l a t f o r misa no p e ns o u r c es o f t w a r ea n dh a r d w a r ep l a t f o r m b a s e do ns p a r cv 8a r c h i t e c t u r e l e o nc p ui n c l u d e sf r e eo p e ns o u r c ei p 己o r e s , e m b e d d e dl i n u xs y s t e ms o f t w a r e , a n do t h e rd e v e l o p i n ge n v i r o n m e n t s u c h a ni n c o r p o r a t ed e v e l o p i n gp l a t f o r mp r o v i d e sag r e a tc o n v e n i e n c et o d e v e l o pe m b e d d e ds y s t e m s b u t , l e o np l a t f o r mo n l yp r o v i d e sa1i m i t e d s u p p o r tt oi t sd i s p l a ys o f t w a r es y s t e m f o re x a m p l e ,i tl a c k sap r o p e r g u i ( g r a p h i cu s e ri n t e r f a c e ) s o f t w a r e ,a n dt h ef l e x i b l ed i s p l a ys 0 1 u t i o n i sn o te n o u g ha b u n d a n t a g a i n ,t h et r a d i t i o ns o f t w a r ed e v e l o p m e n tm e t h o d c o u l dn o tm e e te m b e d d e dd e v e l o p m e n tr e q u i r e m e n t s u c hb e i n gt h ec a s ea b o v e , t h isp a p e rf o c u s e so nt h ed is p l a yt e c h n o l o g yo fl e o ns o f tc o r es o c b a s e d e m b e d d e ds y s t e m ,i nt h ev i e wp o i n to fs y s t e mv e r t i c a l1 e v e l st od e v e l o p s o cs o f t w a r ew i t hs o m es u p e rs o f t w a r ed e v e l o p m e n tm e t h o d s t h em a i n w o r k o f t h i sp a p e ri n c l u d e se m b e d d e dl i n u xd e v e l o p i n g e n v i r o n m e n t ,1 0 w1 e v e ld r i v i n gp r o g r a mw r i t i n g ,p o r t i n ga n di m p r o v i n g g u i e v o l v i n gm o d e l , am o d e lt ob es u i t a b l et od e v e l o pe m b e d d e ds o f t w a r e , is s e l e c t e di nt h ed e v e l o p i n gm e t h o d 0 1 0 9 yi nt h isp a p e r t h i sp a p e rp r o v i d e sa ni m p r o v e dl e o nl i n u xd e v e l o p m e n tp l a t f o r m , w h i c hc a nb eu s e di n v a r i o u sg u i n e e d e da p p li c a t i o n s , s u c ha s n u m e r a l p h o t oc a s i n g , e m b e d d e di n s t r u m e n ta n dm e t e r k e y w o r d s :e m b e d d e ds y s t e m , l e o n ,g u i ,l i n u x ,f r a m e b u f f e rd e v i c ed r i v e r i i l 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 己在论文中作了明确的说明并表示了谢意。 关于论文使用授权的说明 2 d 对箩,己乙 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:塑缁建 导师签名:物勿 , 、1 、 日期:2 口谚多,己乙 1 1 课题背景 第一章绪论 嵌入式系统对于性能有很高的要求,随着集成电路技术的进步和软件开发方 法的演进,这种要求得到了一定程度的满足。2 0 0 3 年年底风河公司提出了设备 软件优化( d e v i c es o f t w a r eo p t i m i z a t i o n ,d s o ) 同样是这种要求的体现。本课 题紧随嵌入式系统发展的这一最新动向,在嵌入式系统开发的垂直方向显示 技术进行深入的研究。这对于满足越来越苛刻的嵌入式系统需要有重大意义,同 时有利于实验室开展进一步的研究工作。 1 2 课题来源 本课题依托于国家发改委下一代互联网示范工程2 0 0 5 年研究开发、产业 化及应用实验( 分项c n g i 0 4 1 0 一l di p v 6 无线传感器网络节点) 项目,经费 来源于国家发改委项目提供的经费以及部分实验室经费。 1 3 显示领域的研究进展 1 3 1 显示设备的发展 从低端的8 位m c u 到高端的3 2 位嵌入式系统,都需要各种显示设备。传统 的嵌入式系统使用l e d ,l c d 等做为显示设备。近几年新近出现了有机发光设备。 一般来说有机发光设备依材料的不同大致可分为二种技术,一为发展高分子材料 为发光层的技术,简称p l e d ,另一为发展小分子为发光层材料,简称0 l e d 【6 】。 国内使用的较多的有机发光设备是o l e d ,它是由在柯达公司从事科学研究 工作的华裔科学家邓青云( d r c w t a n g ) 博士发现的口1 。o l e d 显示时不需要 背光,且只有显示的部分才有功率消耗,所以0 l e d 在实际使用时的功耗要远低 于t f ,r l c d 和s t n 显示模块。超低功耗再加上超薄厚度,使0 l e d 在数码相机, 手机等嵌入式系统中得到越来越多的应用。 从软件角度讲,o l e d 和l c d 采用相同的接口,因此l c d 驱动几乎可以照搬 为0 l e d 显示设备的驱动,后文所有对于l c d 驱动的叙述完全适用于o l e d 。 北京t 业大学t 学硕士学位论文 1 3 2 显示设备驱动的发展 嵌入式l i n u x 下的显示设备驱动已经从最初的不统一的图形库( 例如 s v g a l i b ) 演变为使用从l i n u x 2 2 内核引入的f r a m e b u f f e r 设备驱动。 f r a m e b u f f e r 设备驱动的优点是为应用软件提供的一个统一的操作界面。这样只 要支持f r a m e b u f f e r 就可以保证g u i ( 图形用户界面) 有很好的可移植性。 另一方面,随着l i n u x 内核的不断发展,f r 锄e b u f f e r 设备在保持对外接口 不变的同时,其内部结构逐渐调整,更便于支持不同的显示设备。其中两个重要 的变化: 把c o n s o l e 从具体的设备驱动中独立出来,这样降低了对具体显示设备 驱动的开发难度; 支持l i n u x 2 6 中最新的p l a t f o r m 总线和s y s f s 伪文件系统。把 f r 锄e b u f f e r 设备注册为p l a t f o 瑚总线设备并注册到s y s f s 文件系统。 这一方面使f r 硼e b u f f e r 设备驱动的代码,结构更加清晰;另一方面也 便于开发者利用s y s f s 伪文件系统而不是p r o c 伪文件系统进行调试。 1 3 3 图形用户界面( g ui ) 的发展 m i c r o w i n d o w s ,m i n i g u i ,q te m b e d d e d 是三个常见的嵌入式g u i 系统。其 中m i n i g u i 是北京飞漫软件技术有限公司出品的可以用于高中低不同应用领域 的嵌入式系统的轻量级图形用户支持系统。这是一个完全由国人开发的软件,遵 循g p l 和商业授权的双授权。其上有丰富的应用软件,容易扩展系统功能。q t e m b e d d e d 是由奇趣科技推出的用于高端嵌入式领域的图形用户支持系统。它由 c + + 编写,功能强大,但是对系统要求也比较高。 在嵌入式l i n u x 下主流应用的q t ,m i n i g u i 等g u i 环境都已经从最初支持多 个底层图形库,过渡到使用f r a m e b u f f e r 设备做为底层图形库。 1 3 。4 智能手机的发展 据电子工程专辑报道:未来的五年里,l i n u x 在全球智能手机中的应用将比 微软w i n d o w sm o b i l e 和s y m b i a n 等操作系统增长更快。但由于分类众多,不统 一仍然是移动l i n u x 的一个大问题1 1 。智能手机平台的基础是g u i 及操作系统的 的显示设备驱动,研究嵌入式l i n u x 的显示技术能够促进智能手机的发展。 2 第一章绪论 1 4 课题内容和研究方法 1 4 1 课题内容 a r m _ l e o n 统一l i n u x 开发环境的建立和使用:本开发环境的基础是s n a p g e a r l i n u xp 3 6 版。s n a p g e a rl i n u x 是一个完整的嵌入式l i n u x 解决方案,提供了装 载引导程序( b o o t l o a d e r ) ,l i n u x 内核,应用软件和完整的编译配置环境。文 献阳3 介绍了该环境的使用,笔者不再赘述。后文分三部分介绍;a r m l e o n 统一 l i n u x 开发环境的建立,添加应用程序,使用嵌入式l i n u x 的文件系统。 l i n u x 显示驱动程序的编写:从l i n u x 2 2 开始加入了f r a m e b u f f e r 设备驱 动,该驱动简单的说是提供一个g u i 和具体硬件之间的中介硬件抽象层。基 于这个中介的图形显示用户界面就会有很好的移植性。课题这部分的研究关键是 在熟悉显示硬件和l i n u x 驱动机理基础上编写驱动程序。 图形用户界面开发环境的建立:嵌入式g u l 种类繁多,各有不同的应用领域, 此部分研究工作首先是分析各种嵌入式g u i 的优缺点,然后移植卜2 个适合 a r m l e o n 系统的g u i 。 1 4 2 研究方法 传统软件开发方法是瀑布开发方法,这种方法无法适应当前嵌入式软件开发 的要求。在本课题中采用演化模型中的增量模型( 如图1 1 ) ,即首先完成一个 系统子集的开发,再按同样的开发步骤增加功能( 系统子集) ,如此递增下去直至 满足全部系统需求。这种模型的系统总体设计在初始子集设计阶段就应作出设 想,本文的演化过程如下: ( 1 ) ,建立基于a r ms 3 c 2 4 1 0 和l e o n 的l i n u x 2 6 的开发环境,并将二者统 一为a r m - l e o nl i n u x 开发环境; ( 2 ) ,实现单色显示设备的显示驱动程序;基于已有f r 硼e 岫u f f e r 的t f tl c d 显示驱动程序增加一个新的t f tl c d 的支持; ( 3 ) ,g u i 的移植和修改。 北京工业大学t 学硕十学位论文 图1 一l 增量模型 i n c r e m e n t a lm o d e l 为了更好的实现这种开发方法,本课题大量运用了软件模拟环境,有效降低 了各个演化步骤的风险,采用的仿真器模拟器包括: g r s i i i 卜_ g a i s l e r 公司推出l e o n 的指令集仿真器,仿真带有m 舢的 l e o n 3c p u 及部分外围硬件,可以在此仿真器上运行l i n u x 。 s k y e y e 开源跨平台仿真器,支持a r m 和b l a c k f i nd s p 等多个体系 结构,本课题中使用s k y e y e 仿真a 珈s 3 c 2 4 4 0 开发板,与实验室2 4 4 0 开发板配合,测试与体系结构无关的软件部分。 q v f b 奇趣科技推出的l i n u xf r a m e b u f f e r 仿真器,可以用于仿真运 行在l i n u xf r a m e b u f f e r 设备上的g u i ,例如q t ,m i n i g u i 等。用于测 试与具体硬件无关的g u i 及其应用软件。 1 5 论文结构 本论文共六章,分研究和实践两条线。第三,第五两章是研究部分,第二, 四,六章是实践部分,分别完成1 4 1 节提出的三大演化内容。各章主要内容 如下: 绪论。介绍本论文课题背景,来源,课题内容和研究方法。 第二章建立嵌入式l i n u x 开发环境。本章是演化模型的第一步,目的是提 供后面演化模型的基础。叙述了如何建立嵌入式l i n u x 开发环境,包括两部分: 建立a r m l e o n 统一嵌入式l i n u x 开发环境;移植b o o t l o a d e r ( 引导装载程序) 叫l - b o o t 。移植u _ b o o t 是本章的叙述重点。 第三章l i n u x 帧缓冲设备驱动。概要性的介绍l i n u x 设备驱动模型,包括 当前主流l i n u x 字符设备驱动的结构和驱动开发方法。最后分析了l i n u x 帧缓 冲( f r 锄e b u f f e r ,以下简称f b ) 驱动程序的基本结构和对外接口。 第四章编写f r a m e b u f f e r 设备驱动程序。首先具体分析l i n u xf r 硼e b u f f e r 对硬件接口,然后利用f b 设备接口增加一个t f tl c d 液晶驱动程序,编写一个 4 第一荦绪论 单色液晶驱动。 第五章g u i 比较和选型。首先从外部对目前嵌入式领域中主流的g u i 系统 进行比较,然后深入比较m i n i g u 工和q t 两个g u i ,最后为课题选择合适的g u i 。 第六章g u i 的编译配置和运行。叙述了编译配置和运行q t 和m i n i g u i 两个 g u i 的过程。其中q t 的修改是本章重点。 结论。总结了课题的成果和存在的问题。 5 第二章建市嵌入式l i n u x 开发环境 第二章建立嵌入式l in u x 开发环境 建立嵌入式l i n u x 开发环境有大量资料可供参考,这里不再重复介绍,只选 择本课题中比较有特点的内容加以介绍: a r m l e o n 统一开发环境的建立和使用方法。 大型b o o t l o a d e r ( u b o o t ) 的移植方法和过程。 2 1a r m l e o nlin u x 开发环境的建立和使用 2 1 1 建立a r m l e o nlin u x 统一开发环境 a r m - l e o n 统一平台实现关键是为两个平台建立统一的配置文件。界面中直 接选择a r m ,l e o n 或g r s i m 系统会自动选择对应的硬件平台。这是通过l i n u x 2 6 中的k c o n f i g 内核配置文件实现的。 2 1 2 添加应用程序到lin u x 使应用程序在l i n u x 中运行有两种方法:一是与l i n u x 一起编译,二是单独 编译。后者适用于仅仅需要程序编译应用程序的情况。例如使用n f s 远程调试应 用程序:l i n u x 运行在开发板上,应用程序运行在n f s 文件系统上。本系统中使 用的是与l i n u x 一起编译的方法。 2 1 3 嵌入式lin u x 的文件系统 嵌入式系统中最常用的存储介质是f l a s h ,它的寿命远小于硬盘,所以嵌入 式1 i n u x 一般不在f l a s h 上使用e x t 2 文件系统。通常选择下面几种文件系统: r o m f s 。这是一个只读文件系统,如果系统中不需要有临时的文件保存,使用r o m f s 比较合适;如果应用程序需要把数据暂时保存成文件,断电后不需要保存,可以 选用r 锄d i s k ;如果希望能保存文件,需要使用j f f s ,j f f s 2 ,y a f f s 等文件系 统。 r a m d i s k 是在内存中虚拟出一个e x t 2 文件系统。所以首先要使内核支持 r a m d i s k ,然后加入对e x t 2 文件系统的支持,e x t 2 文件系统需要在编译l i n u x 之前生成,使用时先要把这个文件系统写入到一个块设备,然后把这个块设备挂 载到所需的目录。 7 北京工业大学t 学硕十学位论文 2 2 大型b o o t io a d e r ( u b o o t ) 的移植 2 2 1u b o o t 简介 u _ b o o t 是一个比较通用的大型b o o t l o a d e r ,发展自a r m b o o t 和p p c b o o t 项 目,其支持的体系结构和操作系统可以在t 0 0 1 s m k i m a g e c 中的a r c n n 硼e 和 o s n a m e 数组看到: a r m ,m 工p s ,m i p s6 4b i t , b l a c k f i n ,a l p h a , i n t e lx 8 6 ,i a 6 4 ,m c 6 8 0 0 0 , m i c r o b l a z e ,n 1 0 s ,n 1 0 si i ,p o w e r p c ,i b ms 3 9 0 ,s u p e r h ,s p a r c ,s p a r c6 4 b i t , a v r 3 2 : l i n u x ,v x w o r k s ,r t e m s ,r t o s ,4 4 b s d ,d e l l ,e s i x ,f r e e b s d ,i r i x ,l y n x o s , n c r ,n e t b s d , o p e n b s d ,p s o s ,q n x , s c 0 ,s 0 1 a r i s ,s v r 4 ,u b o o t 。 u b o o t 官网:h t t p :w w w d e n x d e w i k i u b o o t 下文简述了把u _ b o o t1 2 0 移植到a r m 开发板的过程,这个过程至关重要, 因为l e o n 已经有了u - b o o t 移植,完成此移植后,a r m 和1 e o n 就可以建立起统 一的开发平台了。 2 2 2 移植思路 通过搜索资料确定移植分为三个步骤:使用工c e 测试u 咄o o t 在r 锄中运行 是否正确;u 岫o o t 第一阶段的移植;u - b o o t 第二阶段的移植; 移植所使用的软件版本:a r m 一1 i n u x g c c3 3 2 ,u 咱o o t1 2 o 。 由于此前已经有众多移植文档,笔者主要针对己有文档的问题进行说明: 更注意将来的可移植性,u - b o o t 第一阶段从n a n df l a s h 到r a 嬲的搬移 代码移植性更好,并且没有加入m e m - c l e a r 代码。 更注意代码结构是否清晰,n a n d j e g a c y _ r w 的c m d 参数直接使用宏定义, 而不是数字; 深入理解u - b o o t 。 第二章建它嵌入式l i n u x 开发环境 2 2 3u - b o o t 的使用方法 2 2 3 1 编译和烧写u - b o o t 只有打上正确的移植补丁,编译就不会有问题: t a rj x v fu b o o t 一1 2 o t a r b z 2 c du b o o t 1 2 0 p a t c h 。一p l u b o o t 1 2 0 p a t c h 一2 0 0 7 0 9 11 一1 3 1 7 2 2 3 2 下载l in u x 内核。 ( 1 ) 用m k i m a g e 生成u _ b o o t 引导所需映像。 竽丽蕃再角加灰色赢色自百盘文衾宗。代码吊使甫;,历,莉磊某做药茬蒋藉萼z , : 复r o o t l o c a l h o s tt o o l s 荐m k i m a g e aa r m 一0l i n u x tk e r n e l c n o n e a k j ;0 x 3 0 0 0 8 0 0 0 一eo x 3 0 0 0 8 0 0 0 nl i n u x 2 6 2 l d z 工m a g e 一2 0 5 4z 王m a g e 一2 0 5 4 j n k 。 7 j i m a g en a m e : l i n u x 2 6 2 l 映像名称7 j ; j : c r e a t e d : w e ds e p52 0 :4 7 :5 32 0 0 7 影响建立日期 m” 0一 ;i m a g et y p e :删l i n u xk e r n e li m a g e ( u n c o 抛p r e s s e d )映像类型,; a d a t as i z e :9 7 6 8 0 4b y t e s = 9 5 3 9 lk b :0 9 3m b+ : ; “ i l o a da d d r e s s :0 x 3 0 0 0 8 0 0 0 一 # 。 菱墼怼,嬲i 吵曩,。翼翟9 哩警q 旦旦。i ;噻堡全旦量。磊蠢一一;缸厶赫泓,。赢。蒜赢。囊 l 一 一:一0 揣,柚抽砒一一赫0 “盘:。o 矗+ 一 帅二4 一。1 赢t 船。蛊“f d & ;t 兢;d j 4 0 m # “粕“* m f := 赫瓣 ( 2 ) 下载lin u x 内核 这里只说明w i n d o w s 下使用t f t p 的方法。l i n u x 方法见文献 1 4 。w i n d o w s 下是使用t f t p d 3 2 提供t f t p 服务,需要设置服务器i p 地址,服务器目录。 纩矿一忡”p 哪一 一肇删“9 7 斯:甲坤4 铲? j 停学二霉罚j 鼍i 砰粥珊i ,t ,# ” t f t p b o o t3 1 0 0 0 0 0 0z 工m a g e2 0 5 4m k ; 丁f t pf r o ms e r v e r1 7 2 2 3 1 9 1 3 2 :,o u ri pa d d r e s si s1 7 2 2 3 1 9 6 0: ; 尹i l e n a m ez 工m a g e 一2 0 5 蛐,+ ; ; l o a da d d r e s s :o x 31 0 0 0 0 0 0 ? i 乳o a d i 玎g : 凄 裹二h # 譬苎麓芋# # 譬# 警毽冀芝群! ! 譬譬苎蔓芽尊j ! 譬馨薏芋麓警# # 譬冀警警繁# 警芋尊并# # # 等# # # # # 譬彗群譬芒。墓 9 北京- 、世大学t 学硕士学位论文 ” 。 。 一4 勰 ;+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # t ,# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # d o n e : 弘 b y t e s ,t r a n s f e r r e d = 9 7 6 8 6 8( e e 7 e 4h e x ) i ,设置环境变量:。 ;。 s e t e n vg a t e w a y jp17 2 2 3 :1 9 2 5 4 保存环境变量: 嚣a v e e n v : 瓴,t?k 0 0 z 。j :。孟,。懈m :;_ ,竹诒? 。7 0 赫。勰_ 帆。i 等。如* h ,| j 删 托盘;虢。,! ? * i ? o 二_ 诂料l i i 4 ”穗 注:根据代码和文档,当环境变量”a u t o s t a r t = y e s ”时,t f t p b o o t 会自动弓 导下载的内核。这个没有试验,待做。 ( 3 ) 直接启动r a m 中的内核,验证其是否正确: 藿砭4 童o “箨 b 品m 。鼍i o o 面6 莎,启动o x l o o o o 丽面碰酾操作素统鼍z7 ,甲一; ! 夯# b o o t i n gi m a g ea t3 l 0 0 0 0 0 0 : : i m a g en a m e : l i n u x 2 6 2 l c r e a t e d :, 2 0 0 7 一0 9 0 52 0 :4 7 :,5 3u t c i m a g et y p e : d a t as i z e : a r ml i n u xk e r n e 工i m a g e( u n c o m p r e s s e d ) 9 7 6 8 0 4b y t e s = 9 5 3 。9k b l q a da d d r e s s :3 0 0 0 8 0 0 0 , j e n t r yp o i n t : 3 0 0 0 8 0 0 0 。 v e r jf y i n gc h e c k s u m ( ) k 0 鼯 s t a r ti n gk e r n e l 垂 趸j n e o m p r e s si n g 警i n u x 一一,j ;,j d o n e , i b o o t i n gt h ek e r n e l 。 ; i ? l i n u xv e r s i o n2 6 。2 l o o t 1 0 e a l h o s t 1 0 c a l d o m a i n ) ( g e cv e r s i o n3 4 1 ) # l 遵号皂。k 。+ j 。曩。洳二;? 赢矗。毫。,。二。量。,。j i 。,。| 。二。_ i 焉。? : 乱, 。、= 。捌* “、? 一t 嘲“ n ,靠¥ 书螂# j _ 。;i ,知赫一j 。 p o o ,t ;珏h o a 赫,mo 、, 牌铀,i 一盎j 、x - 。,;矗;,嚣 第二亏建立嵌入式l i n u x 开发环境 一 一一 ” 一 一”:”9 丁州o 一,”,。小= 。吧一“”? 。:j 孙i a u g2 22 0 :5 67 :3 3g m t2 0 0 7 一 。 j ?; 以下是l i n u x 正常启动1 0 9 ,省略! 。:? e _ 一z 。j,:。i? 。q,n电,。;? 惦,:二。,| 以。”。r _ f 。f 巍 ( 4 ) 内核启动正确,烧写到f i a s h 中,并且设置启动参数: 、t f t p b o o t 3 1 0 0 0 0 0 0z i 南a g e _ 2 0 5 4 k。使用t f t p 把内核下载到r a 薪 ,0 x 3 1 0 0 0 0 0 0 地址 。2 ; i 丁f t pf r o ms e r v e r1 7 2 ,2 3 1 9 1 3 2 :o u rr pa d d r e s si s1 7 2 2 3 1 9 6 0 ,i 。7 。 争i l e n 锄e ,z i m a g e ? 0 5 4 韭 毒 :多 l o a da d d r e s s :o x 3 1 0 0 0 0 0 0,j ;? i l o a d i n g :一 。 一 蓬 冰h # # # # # # # # # # # # # # # # # # # # = 蛘# # # # # # # # # # # # # # # # t # # # # # # # # # # # # # # # # # # # # # # # # # # # # j ,一 :# 一童 算# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # t 并# # # # # # # 并# # # # # # # # # # # # # #三 _ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 翟 ;妻 s量 姐0 n e亳 ;, ;: b y t e st r a n s f e r r e d = 9 7 6 8 6 8( e e 7 e 4h e x )妻 j 冀 j 把0 x 4 0 0 0 0 起始地址的大小为0 x f 0 0 0 0 的f l a s h 数据擦除j ; y f 2 4 4 0 # n a n de r a s e v4 0 0 0 0f 0 0 0 0i 一 矗 n a n de r a s e :d e v i c eoo f f s e t2 6 2 1 4 4 ,s i z e9 8 3 0 4 0 j g 。 带 o ki =絮 蓍,i 把o x 4 0 0 0 0 起始地址的大小为o x f 0 0 0 0 的f l a s h 数据复制到o x 3 l o o o o o o i ; | y f 2 4 4 0 # n a n dw r it e310 0 0 0 0 04 0 0 0 0f o 0 0 0 ,萋 ” 善 , 釉a n dw r i l e :d e v i c eoo f f s e t2 6 2 1 4 4 js i z e9 8 3 0 4 0 i “ x ;9 8 3 0 4 0b v t e sw r i t t e n w :0 ki #, 7 i y f 2 4 4 0 # s e t e n vb o o t c m dn a n dr e a d3 1 0 0 0 0 0 04 0 0 0 0f 0 0 0 0 :b o o t m3 1 0 0 0 0 0 ;j 勇限2 4 4 0 # s a e e n v? : j 耋s a v i n g e n v i r o n m e n tt 。n a n d i ; 鹜曼澳曼翌坠二,曼堕卿曼一望舅驾虫:纛蔓曼登黝荔如。一蠢盆出。矗二一。一矗。:一。茹:。 * # r = 二o o “”u 一o k一 二揣: 删船¥$ 自一时z “z o 勰。 肿黜“日日 注意,这里的偏移地址要和l i n u x 内核中设置的n a n df l a s h l i n u x 内核分区 的偏移地址一致。 北京 业大学工学硕十学位论文 ( 5 ) 验证从f i a s h 中引导l i n u x 内核是否正确: 断电后,再次启动开发板。过程和( 3 ) 类似,略。 2 2 4 移植u b o o t 整个的u 岫o o t 移植完成了两部分:( 1 ) u _ b o o t 第一阶段移植,完成u 岫o o t 自身从f l a s h 到s d r a m 的复制;( 2 ) u - b o o t 第二阶段移植,完成n a n d1 e g a c y 操 作函数,s a v e e n v 函数; 2 。2 4 1u - b o o t 在r a m 中运行 目的:验证u - b o o t 能否正常启动,为下一步工作打基础; 编译方法: m a k ed i s t c l e a n# 彻底删除m a k e 产生的文件中间文件,如果开发过程中 修改了目录,需要d i s t c l e a n h ,否则依赖关系是旧的,无法编译。一般下使用”m a k e c l e a n ”删除中间文件即可。 m a k es m d k 2 4 4 0 c o n f i g # 配置u _ b 0 0 t 为s m d k 2 4 4 0 配置文件 m a k ea r c h = a r m # 编译u - b o o t ,执行体系结构是a r m 使用i c e 下载到r a m 中,可以看到u - b o o t 在r 锄中运行成功起始地址是从 i n c l u d e c o n f i g s s m d f 2 4 1 0 h 文件c f g l o a d _ a d d r 宏看到的( o x 3 3 0 0 0 0 0 0 ) 。 2 2 4 2 编译运行v ivi v i v i 是韩国m i z i 公司为s m d k 2 4 1 0 开发板开发的小型b o o t l o a d e r ,通过阅 读v i v i 第一阶段代码,了解复制v i v i 自身f l a s h 到s d r 锄的方法。 修改如下路径:交叉编译环境a r m - l i n u x 一,及其库,“n u x 头文件: r o s sc 0 押i l e = u s r l o c a l a r m 2 9 5 3 b i n a r m - 1 i n u x 一 鼍 i ; l i n u xi n c l u d ed 工r = u s r 1 0 c a l a r m 2 9 5 3 a r 硼一l i n u x i n c l u d e j 1? : 器翘c e j i b s :i u s r 1 0 c a l a r m 2 9 5 3 l i b g c c n b a r m - l i n u x & 9 5 3 :4 编译时,下面两个选项没有选: 琶n a b l es i l p l em e m o r yt e s t ( c o n f i g b o o t u p m e m t e s t ) n y ? ( n e w ) n “” ; i s u p p o r tm d 5( c o n f i g m d 5 ) n y ? ( n e w ) n 。 1 2 第二章建步嵌入式l i n u x 开发环境 v i v i 的存储空间分配,自p l a t f o r m s m d k 2 4 1 0 h : “ 1 二一一二:呵一一。一4 :一”= 科4 t :”w 一一+ 一、;= ? 4 “t “r :。:。r 一“嚅4 一o r 隧卑7。t: j ; # d e f i n ev i v i a m _ s i z e s z _ 狲。j : i # d e f i n | ev i v i r a m b a s e ( d r a m b a s e + d r a m s i z e v 工v ir a ms i z e ) : f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026重庆九洲智造科技有限公司招聘设备技术员1人建设考试备考试题及答案解析
- 2026年山东省土地发展集团有限公司权属公司社会招聘(第一批)建设笔试备考题库及答案解析
- 2026湖南长沙市望城区事业引才博士公开引进10人建设考试参考试题及答案解析
- 2026四川广安安创人力资源有限公司招聘协议制人员8人建设笔试备考试题及答案解析
- 2026河南大学淮河医院招聘22人建设笔试参考题库及答案解析
- 四川天府检验检测有限责任公司2026年第一批员工公开招聘(22人)建设笔试备考试题及答案解析
- 2026河北保定安国市审计局辅助人员招聘5人建设考试备考题库及答案解析
- 2026沈阳地铁集团有限公司所属公司招聘84人建设笔试备考题库及答案解析
- 2026四川绵阳市游仙区供销合作社联合社招聘编外用工人员2人建设笔试模拟试题及答案解析
- 2026北京大学人事部招聘1名劳动合同制人员建设考试参考题库及答案解析
- 子宫内膜息肉诊治课件
- 成都职业技术学院2025年四季度编制外公开(考试)招聘23名工作人员笔试考试参考试题及答案解析
- 《航空航天概论》总复习课件
- 全品 高考古诗文背诵篇目(60篇)
- 广东省广州市2025年中考道德与法治真题(含答案)
- 第三腰椎横突综合征-课件
- 2025年高校辅导员考试题库及答案
- 健康按摩服务合同范本与风险提示
- 黑龙江小学生诗词大赛备考试题库400题(一二年级适用)
- GB/T 46072-2025聚合物增材制造鉴定原则激光粉末床熔融试样的一般原则和制备
- 人工智能在医学生物化学课程中的应用研究
评论
0/150
提交评论