(计算机应用技术专业论文)嵌入式浏览器的源码分析——总体设计与html解析.pdf_第1页
(计算机应用技术专业论文)嵌入式浏览器的源码分析——总体设计与html解析.pdf_第2页
(计算机应用技术专业论文)嵌入式浏览器的源码分析——总体设计与html解析.pdf_第3页
(计算机应用技术专业论文)嵌入式浏览器的源码分析——总体设计与html解析.pdf_第4页
(计算机应用技术专业论文)嵌入式浏览器的源码分析——总体设计与html解析.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式浏览器的源码分析——总体设计与html解析.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着市场需求的不断扩大和细化,为实现专用功能和特殊目的的嵌入式产 品越来越多的被人们所熟知。网络的发展给嵌入式系统提供了更广阔的空间, 连接服务器或接入互联网的需求使浏览器成为嵌入式系统中重要的组成部分。 开源的嵌入式浏览器还不多,k o n q u e r o r e m b e d d e d 是其中应用最广泛,也是功能 最强大的一款。 文章分成六个主要部分。第一部分简单介绍了嵌入式浏览器的现状和发展 前景,引出丌源浏览器k o n q u e r o r e m b e d d e d 及编程工具q t 。 第二部分详细叙述t k o n q u e r o r e m b e d d e d 在l i n u x 操作系统下向a r m 9 平台 的编译移植过程。k o n q u e r o r e m b e d d e d 作为q t o p i a 的应用程序,需要q t 共享库支 持,编译过程主要涉及环境变量的设置矛l c o n f i g u r e 参数的选择。 第三部分是作者在分析k o n q u e r o r e m b e d d e d 的基础上,实现的嵌入式浏览器 总体设计。此总体设计针对h t m l 网页的解析,不涉及x m l 网页。系统由视图、 文档、d o m 标准、j a v a s c r i p t 、h t m l 解析、排版渲染和网络传输七个子系统组 成,与k o n q u e r o r e m b e d d e d 的主要区别在视图、文档子系统。文章设计了各个子 系统的数据结构。 第四部分是k o n q u e r o r e m b e d d e d 源码分析,首先阐述了源码用到的关键技 术,包括k i o 、k p a r t 、d c o p 、d o m 。然后说明了源码的整体架构和模块划分, 对它的消息机制和消息传递做了较为详细的剖析,主要是k i o 和k p a r t 的消息传 递。 第五部分是h t m l 解析过程。k o n q u e r o r e m b e d d e d 在解析和显示网页时,遵 循d o m 标准,文章介绍了d o m 和h t m l 的特点和规范,详细分析了源码中的 h t m l 分词解析和d o m 树的构建。 第六部分对浏览器中有关方面提出了改进建议,针对k o n q u e r o r e m b e d d e d 对 有些中文网页显示乱码的问题提出中文国际化建议。针对d o m 树的查询遍历效 率不高的问题,文章建议在源码使用x p a t h 。 关键词:k o n q u e r o r e m b e d d e d ;嵌入式系统:a r m ;移植:d o m ;h t m l ; a b s t r a c t a l o n gw i t ht h ee x t e n s i o na n ds p e c i a l i z a t i o no f t h em a r k e td e m a n d ,p e o p l ek n o w m o r ea n dm o r ee m b e d d e dp r o d u c t i o n sf o ra c h i e v i n gs p e c i a la i ma n d f u n c t i o nv e r y w e u t h ed e v e l o p m e n to fn e t w o r kp r o v i d e sw i d e rs p a c e t h ed e m a n d o fc o n n e c t i o n w i t hs e r v e ro rw o r l dw i d ew e bm a k e st h a tb r o w s e rb e c o m e sa ni m p o r t a n tp a r t i nt h e e m b e d d e dp r o d u c t i o n s t h e r ea r ef e wb r o w s e r sw h i c ho p e ns o u r c ec o d e - k o n q u e r o r e m b e d d e di su s e dm o s tw i d e l ya n dp r o v i d e s m o s tf u n c t i o n so ft h ee m b e d d e d b r o w s e r s t h ep 印e rm a k e su po fs i xp a r t s t h e f i r s t p a r t i n t r o d u c e st h es t a t u sa n d f o r e g r o u n d a n de l i c i t sk o n q u e r o f f e m b e d d e d a n dp r o g r a m m el a n g u a g e ( q t ) - t h es e c o n dp a r td e s c r i b e st h ep r o c e s so ft h et r a n s p l a n t a t i o nt oa r m 9 i nt h e l i n u xo p e r a t i n gs y s t e r ni nd e t a i l k o n q u e r o r e m b e d d e d i saa p p l i c a t i o ni nq t o p i a ,a n d r e q u i r e sq ts h a r e dl i b r a r y c o m p i l e rm a i n l y i n v o l v e se n v i n n e n t ss e t t m g 肌d c o n f i g u r e sp a r a m e t e r s t h et h i r dd a r ti sb r i e fd e s i g nb a s e d o nt h ea n a l y z i n go fk o n q u e r o r e m b e d d e d t h e b r i e fd e s i g na i m sa th t m lp a r s i n g t h es y s t e mc o m p o s e sb yv i e w , d o c u m e n t ,d o m s t a n d a r d ,j a v a s c r i p t ,h t m lp a r s i n g ,r e n d e r a n dn e t w o r kc o m m u n i c a t i o n l h em a m c h a n g e sa r ev i e wa n dd o c u m e n t t h ep a p e rd e s i g n sc h i l ds y s t e m sd a t a s t r u c t u r e t h ef b u r mp a r ti st h ea n a l y s eo fk o n q u e r o r e m b e d d e ds o u r c ec o d e f i r s t l y , t h e p a p e re x p o u n d ss o m ek e yt e c h n o l o g i e s t h e yi n c l u d ek i o ,k p a r t ,d c o p a n dd o m t h ep a p e ri l l u s t r a t e st h ew h o l ef r a m ea n dm o d u l ep a r t i t i o no f t h es o u r c ec o d e ,a n d p a r s e st h em e s s a g em e c h a n i s ma n dt r a n s f e r ( k i oa n dk p a r t ) o f t h es o u r c ec o d e t h ef i f t hp a ni sh t m lp a r s i n gp r o c e s s k o n q u e r o r e m b e d d e d f o l l o w sd o m s t a n d a r di nt h ep r o c e s so fp a r s i n ga n dd i s p l a y i n gh t m lp a g e s t h ep a p e ri n t r o d u c e s t h ec h a r a c t e ro fd o m a n dh t m l ,a n da n a l y z e st h ep r o c e s so fp a r s i n gt o k e n sa n d b u i l d i n gd o m t r e e i nt h es i x t hp a r t ,t h ep a p e rg i v e s s o m es u g g e s t i o n s a i m m i n g a tt h e p h e n o m e n o nt h a tk o n q u e r o r e m b e d d e dd i s p l a y s c h a o sc h i n e s ec o d i n g ,t h ep a p e r a b s t r a c t t a b l eap r o p o s a lo fc h i n e s ei n t e m a t i o n a l i z a t i o n f o rt h ei n e f f i c e n c yo fq u e r ya n d t r a v e r s a li nd o mt r e e ,t h ep a p e rs u g g e s t st oi n t r o d u c et h ex p a t hi nt h es o u r c ec o d e k e yw o r d s :k o n q u e r o r e m b e d d e d ;e m b e d d e ds y s t e m ;a r mt r a n s p l a n t ;d o m ;h t m l l l i 学位论文版权使用授权书 本人完全了解北京机械工业学院关于收集、保存、使用学位论文 的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和 电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、 缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以 及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向 国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目 的的前提下,学校可以适当复制论文的部分或全部内容用于学术活 动。 , 学位论文作者签名:鼍磊 俐年1 月彩日 ( 注:非保密论文无需签字) 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 年月 日年 月 日 硕士学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 签名:参磊 劭卯莎年1 月1 日 第l 章引言 1 1 概述 第1 章引言 随着市场需求的不断扩大和计算机技术的发展,为实现专用功f j - , 匕t - , 和特殊目 的的嵌入式产品越来越多的出现在人们的生活和工作中。从手机、p d a 至u 汽车、 卫星等,它们都可以归入嵌入式系统的范畴里。现今的信息社会,网络无处不 在,针对嵌入式设备的浏览器也被更多的关注和研究。在嵌入式设备上拥有一 个浏览器是必然的发展方向。但浏览器的结构很复杂,涉及网络通讯、网页分 析、显示渲染等诸多方面,必须用到一些关键的技术,所以选取一款浏览器进 行分析、移植是一条快捷而有效的道路。 在嵌入式系统中,l i n u x 是应用广泛的操作系统,开放源码使移植和裁减非 常方便。a r m 体系是3 2 位r i s c 架构,在嵌入式芯片中处于统治地位。根据嵌入 式系统的特点,本文研究的浏览器是基于l i n u x 并在a r m 芯片上运行的程序。 在为数不多的嵌入式浏览器中,k o n q u e r o r e m b e d d e d 是其中非常出色的一 款。它具有现代浏览器的框架和特点,能够随互联网技术的发展而更新。 k o n q u e r o r e m b e d d e d 以k d e q t 为基础,采用先进的组件技术,能够接入互联网, 浏览各种网页,也可以浏览本地文件,在嵌入式系统中能起到文件管理器的作 用。k o n q u e r o r e m b e d d e d 是开放源码的,为分析它的结构和移植裁减提供了很大 的便利。同时国内的嵌入式浏览器非常少,解析k o n q u e r o r e m b e d d e d 有很重要的 价值和意义。 本文在l i n u x 下将k o n q u e r o r e m b e d d e d 移植到a r m 9 上,通过用到的关键技 术,分析了整体架构和h t m l 语言的分析过程以及一些分析结论,并尝试进行了 浏览器的总体设计。 1 2 嵌入式浏览器介绍 1 2 1 嵌入式浏览器概述 第1 章引言 随着网络科技的进步,因特网与无线网络的融合将成为必然趋势。要在嵌 入式设备上访问因特网,浏览器是必不可少的。目前,嵌入式浏览器已经逐渐 成为高端手机和p d a 的标准配置。嵌入式浏览器的另一大作用就是在网页中利 用c g i ( 通用网关接口) 来调用其他可执行程序。这样控制页面可以做的很美观, 而且可扩展性好。 从总体上看,嵌入式浏览器有如下特点:【3 】 多样性 嵌入式浏览器是针对各种具体设备而言的,设备的多样性决定了浏览器的 多样性。根据具体的应用需求,对浏览器进行定制是必须的。所以嵌入式浏览 器一般情况下不能通用。 地位重要 桌面计算机环境中,操作系统处于硬件和应用程序之间。操作系统管理硬 件设备并为应用程序提供必要的接口。所以,操作系统是整个计算机系统最核 心的部分。浏览器只是操作系统支持的众多应用程序中的一个。 嵌入式系统中,情况完全不同。嵌入式操作系统和嵌入式浏览器的关系是 非常密切的,甚至是不可分割的。嵌入式浏览器是嵌入式操作系统最重要的应 用软件,甚至可能成为唯一的直接支持的应用软件。其他的应用都可以通过 p l u g i n 接口、直接用h t m l 、j a v a s c r i p t 及其扩展语言来实现。 要求特殊 嵌入式浏览器的特殊之处在于要根据具体的硬件及软件平台进行定制。不 同的平台要求不同的浏览器,所以设计中,扩展性和可移植性就显得非常重要。 1 2 2 嵌入式浏览器现状及发展前景 随着嵌入式系统的飞速发展,许多公司投入了很大力量来研发嵌入式浏览 器,出现了一些商业化的产品。但没有任何一个产品,能够像m i c r o s o f t 的i n t e r n e t e x p l o r e r 在p c 市场上占垄断地位。 嵌入式浏览器的技术仍然在向前发展,除了继续跟随 h t m l ,x m l ,h t t p ,d o m , j a v a s c r i p t 等协议或语言的新版本,继续升级以及支持更多的应 用外,还在继续拓展其他的应用模式和领域,如把浏览器技术应用到更多传统 的电器领域,以提供交互式的应用等等。这些都有着更好的发展前景。 2 第1 章引言 现在已经面市的嵌入式浏览器大多是商业版本的,j t h o p e r a 、m se x p l o r e r 等。 开源的浏览器很少,国外的有k o n q u e r o r e m b e d d e d ,d i l l o ,国内的有飞漫公司的 m o n q u e r o r 嵌入式浏览器可以广泛应用于以下一些领域: 【9 】 掌上电脑:无线上网已成为掌上电脑的一项重要功能,因而嵌入式浏览器 是掌上电脑必备软件之一。掌上电脑以其便携性及相对方便的交互界面成为移 动互联网的最佳终端。就象互联网为p c 带来新的生机一样,无线互联也必将 为掌上电脑带来一场革命。 信息家电:信息家电就是基于嵌入式w e b 技术重新改造家用电器,把电视机、 空调、电冰箱、微波炉等家用电器通过网络连上i n t e r n e t 。用户可以远程控制家 电设备。 工业控制:在工业应用领域,智能设备、仪器、应用器具和传感器应用倾向 于采用以”瘦w e b 服务器”为主。这类设备利用嵌入式浏览器通过c g i 等接口,在 动态h t m l 页面中显示和调整设备内部运行状态、系统配置和控制数据参数。这 样,不但用户操作简单易学,而且维护简便,用户可以通过下载新的代码,动态 地对其设备进行重编程序和功能升级,设备生产厂家也可通过互联网远程进行 故障检测和设备维护。 1 2 3 嵌入式浏览器研究的目的 近年来,生产拥有完全自主知识产权的嵌入式系统成为可能并逐渐在中国 形成一个热门,而作为嵌入式系统中最重要的应用软件之一的嵌入式浏览器也 逐渐受到重视并形成了一个新的研究热点,研发嵌入式浏览器的公司也纷纷涌 现。然而,嵌入式浏览器的开发涉及到一个广泛的技术标准集合,并且其中一 些标准还在不断的发展变化,这就意味着浏览器的实现不仅非常复杂,而且其 构架还必须具有较好的可扩展性,再加上国外的公司在这方面起步早,而且已 经研发出成熟的产品,因而国内公司投入大量人力去研发嵌入式浏览器常常具 有较大的风险,目前拥有完全自主产权并进入实用阶段浏览器的国内公司很少, 绝大部分还只处于宣传阶段。本课题以k o n q u e r o r e m b e d d e d 为参考原型,主要是 要借助较为成熟的嵌入式浏览器框架,在博创公司的开发板上实现浏览器的主 要功能,并力求符合w 3 c 标准。在此基础上,可以进行产品化的实践。 第l 章引言 1 2 4k o n q u e r o “e m b e d d e d 介绍 k o n q u e r o r 是l i n u x t著名浏览器,它基于q t 语言,而q t 是l i n u x 下图形桌面 k d e 的开发语言。k o n q u e r o r e m b e d d e d 浏览器是k d e 开发团队开发的一个开放源代 码的网络浏览器,部分支持h t m l 4 0 的规范,并且支持j a v aa p p l e t s ,j a v a s c r i p t ,c s s l 矛h c s s 2 的一部分,但是由于该浏览器是自由软件,因此向具体嵌入 式平台移植时存在一定的难度,本课题主要参考它的框架和思路。 1 2 5 q t 、q t o p i a 和k d e 1 q t q t 是一个跨平台的c + + 图形用户界面库,由挪威t r 0 1 l t e c h 公司出品,目 前包括q t ,基于f r a m e b u f f e r 的q t e m b e d d e d ,快速开发工具q td e s i g n e r ,国 际化工具q tl i n g u i s t 等部分。q t 支持所有u n i x 系统,当然也包括l i n u x ,还支持 w i n d o w s 平台。 q t 具有下列优点:0 3 】 优良的跨平台特性 q t 支持下列操作系统:m i c r o s o f tw i n d o w s9 5 9 8 ,m i c r o s o f tw i n d o w sn t , l i n u x ,s o l a r i s ,s u n o s ,h p u x ,d i g i t a lu n i x ( o s f 1 ,t r u 6 4 ) ,i r i x ,f r e e b s d , b s d o s ,s c o ,a i x ,o s 3 9 0 ,q n x 等等。 面向对象 q t 的良好封装机制使得q t 的模块化程度非常高,可重用性较好,对于用 户开发来说是非常方便的。q t 提供了一种称s i g n a l s s l o t s 的安全类型来替代回调 函数,这使得各个模块之间的协同工作变得十分简单。 丰富的a p i q t 包括多达2 5 0 个以上的c + + 类,还提供很多模板类,设计界面灵活,支 持2 d 3 d 图形渲染,支持o p e n g l 。 大量的开发文档 q t e m b e d d e d 是t r o l l t e c h 公司开发的面向嵌入式系统的q t 版本,与x ll 版本 的q t 在最大程度上接口兼容,采用帧缓存( f r a m e b u f f e r ) 作为底层图形接口。 q t e m b e d d e d 类库完全采用c + + 封装,并且有着丰富的控件资源以及较好的可移 植性,大范围的q t e m b e d d e d a p i 可用于多种开发项目。 4 第1 章引言 由于q t 具有面向对象、技术成熟等优点,并且目前高端嵌入式设备生产商 几乎都选择q t 作为开发工具。 2 q t o p i a q t 是t r o l l t e c h 公司开发的一个通用的c + + 跨平台类库。根据所应用的图形系 统不同,q t 可分为以下四个版本:q t w i n d o w s 版,适用于w i n d o w s 平台;q t x 1 l 版,适合于使用了x 系统的各种l i n u x 和u n i x 平台;q t m a c 版,适合于苹果m a co s x ;q t z 版,适合于具有帧缓冲( f r a m eb u f f e r ) 的嵌入式l i n u x 平台。 q t o p i a 是构建于q t e 之上的桌面应用平台,其软件主要层次如图1 1 所示。 t r o l l t e c h 公司提供p d a 版q t o p i a $ 1 手机版q t o p i a ,其中p d a 版q t o p i a 提供开放的源 代码,而手机模块代码部分则是收费的,因此本文选用p d a 版q t o p i a 作为开发嵌 入式浏览器的平台。1 2 4 q t o p i a q t e 帧缓冲 嵌入式l i n u x 内核 图1 1q t o p i a 的软件层次 q t o p i a 平台主要以插件的形式提供各种应用服务,从而使得功能的扩展和裁 减非常方便。q t o p i a 插件分为应用程序插件、服务器插件和系统插件。而浏览器 程序则属于应用程序插件的一种。 3 k d e k d e ( kd e s k t o pe n v i r o n m e n t ) 是使用图标、窗口、菜单和面板之类常用图 形化对象的图形化桌面;它允许用户使用鼠标和键盘来进入l i n u x 系统。 同时k d e 提供了一个应用程序开发框架。过去在u n i x x 1 1 下编程是一个极 其困难和冗长乏味的过程。k d e 认识到,只有给它的用户提供大量并且一流的 应用程序,才能被称为一个优秀的操作平台。k d e 工程已经开发出一个一流的 复合文档应用程序框架,应用了最新的框架技术,k d e 的k p a r t s 复合文档技术和 d c o p 消息机制能够让开发者运用前沿技术快速创建一流的应用程序。【2 - 2 j k d e 还提供了一个办公应用程序套件,它基于k d e 的k p a r t s 技术,包括一个 表格处理软件,一个文稿演示程序,一个组织器,一个新闻客户端等等。 第2 章k o n q u e r o r e m b e d d e d 移植 第2 章k o n q u e r o r e m b e d d e d 移植 浏览器的移植包括编译和移植两个过程,编译的作用是将软件编译成a r m 格 式,这样才能在开发板上正确运行,移植实际上是将有关文件拷贝到开发板上。 2 1 软硬件环境 本文在博创公司的u p n e t a r m 2 4 1 0 一s 丌发板上移植浏览器,c p u 为 a r m 9 2 0 t 内核的三星$ 3 c 2 4 1 0 芯片,具有m m u ,可以运行标准的a r m l i n u x 内核。开发板的f l a s h 为6 4 m ,s d r m 是6 4 m 。开发板还配置l c d 触摸屏和 e t h e r n e t 网卡,满足浏览器运行的硬件环境。 k o n q u e r o r e m b e d d e d ! j ! 文t j 览器移植需要q t o p i a 、q t e 币i j 其他一些程序的支持: q t o p i a - f r e e - 2 1 1 :q t o p i a 开发平台 q t 2 3 10 : q t e 版本,为q t o p i a 提供支持 q t 一2 3 2 :q t x 11 版本,编译q t e 需要此版本的q v f b 矛l l u i c t m a k e 1 1 3 :t m a k e 工具 t s l i b : 触摸屏工具包 j p e g 一6 b : j p e g 解码库 e 2 f s p r o g s - l i b s 一1 3 7 :e x t 2 文件系统工具包,q t o p i a 用到了其中的l i b u u i d q t o p i a 是t r o l l t e c h 公司为采用嵌入式l i n u x 系统的电子设备开发的综合应用 平台,它是基于q t e 的。q t 是l i n u x 下的c + + 编程语言,q t e 是q t 的嵌入式版本。 2 2 编译过程 对k o n q u e r o r e m b e d d e d 进行编译,要将所需软件编译成a r m 格式,其中最主 要的过程包括设置环境变量、运行c o n f i g u r e 和m a k e 。普通软件编译的编译器是 l i n u x - g + + ,而a i 蝴格式的编译器是l i n u x a r m - g + + 。c o n f i g u r e 带有许多参数,根据 系统需要选择相应的参数,生成m a k e f i l e 文件,m a k e 过程就是在执行m a k e f i l e 文 件。 1 设置环境变量 6 羔尘塑型型塑堡堕 e x p o r tq t e d i r = p w d 、q t 2 3 10 e x p o r td q t d i r = p w d 、q t x l1 - f r e e 3 3 4 e x p o r tq t 2 d i r = p w d q t 一2 3 2 e x p o r tq p e d i r = p w d 、q t o p i a f r e e 2 1 1 e x p o r tt m a k e d i r = 、p w d 、t m a k e 1 13 e x p o r te 2 f s l i b = p w d 、e 2 f s p r o g s 1 i b s 1 3 7 e x p o r tj p e g d i r = 、p w d 、j p e g - 6 b e x p o r tt s l i b d i r = p w d 、t s l i b 2 编译支持软件 编甬p e g 6 b c d $ j p e g d i r o l d c c = $ c c e x p o r tc c 2 a r m l i n u x g c c c o n f i g u r e - 一h o s t = a r m - l i n u x - - e n a b l e s h a r e d p r e f i x = $ j p e g i n s t m a k ei n s t a l l 编译t s l i b c d $ t s l i b d i r e x p o r tc c = a r m - l i n u x g c c a u t o g e n s h - 一h o s t = a r m l i n u x p r e f i x = $ t s l i b i n s t m a k e - j 4 m a k ei n s t a l l 3 编译q t e 【2 8 】 e x p o r tt m a k e p a t h = $ t m a k e d i r l i b q w s l i n u x a r m g + + e x p o r tq t d i r = $ q t e d i r c d $ q t d i r e x p o r tp a t h = $ q t d i r b i n :$ q t o p i ab a s ep a t h e x p o r tl d l i b r a r y _ p a t h = $ q t d i r l i b :$ l dl i b r a r yp a t h m a k e - j 4s u b - s r c 4 编译q t x l l 其中主要编译u i c ,:t c k u i c 拷贝到q t e 中。 e x p o r tq t d i r = $ q t 2 d i r 7 第2 章k o n q u e r o r e m b e d d e d 移植 e x p o r tp a t h = $ q t d i r b i n e x p o r tl d _ l i b r a r y _ p a t h = ”$ q t d i r i i b :$ l d l i b r a r y p a t h ” c d $ q t d i r e c h oy e sj c o n f i g u r e - n o o p e n g l n o x f t m a k e - j 4s u b s r c c dt o o l s d e s i g n e r u t i l m a k e - j 4 c d u i c# 编译u i c m a k e - j 4 c p $ q t d i r b i n u i c $ q t e d i r b i n 5 编译q v f b 将o t e 的q v f b 编译完成后,拷i ) - 1 至l j q t e 的b i n 路径下。 e x p o r tt m a k e p a t h = ”$ t m a k e d i r l i b l i n u x - 乎h ” c d $ q t e d i r t o o l s q v f b t m a k e om a k e f i l eq v f b p r o m a k e m vq v f b $ q t e d i r b i n 6 编译q t o p i a 2 0 】 在c o n f i g u r e 的参数中,主要增加了触摸屏驱动( t s l i b ) 和图形库( j p e g - 6 b ) 的编 译。 c d $ q p e d i r e x p o r tq t d i r = $ q t e d i r e x p o r tt m a k e p a t h = $ t m a k e d i r l i b q w s l i n u x 。a r m g + + e x p o r tp a t h = $ q p e d i r b i n :$ d q t d i w b i n :$ q t o p i a _ b a s e _ p a t h e x p o r t l d _ l i b r a r 蔓p a t h = $ q p e d i r l i b :$ d q t d i r l i b :$ q t e d i w l i b :$ l d _ l i b r a r y p a t h c o n f i g u r e - x p l a t f o r ml i n u x - a r m g + + 一t h r e a d w i t h - l i b m a d w i t h l i b f f m p e g w i t h - l i b a m r e d i t i o n p h o n e n o - q t o p i a d e s k t o p - d i s p l a y s i z e 17 6 x 2 0 8 l a n g u a g e s ”z h c n ”$ e x t r a _ q t o p i a _ l i b p a t h e v a l i $ j p e g i n s t i n c l u d e i $ e 2 f s l i b i n s t i n c l u d ei $ t s l i b i n s t i n c l u d e l $ j p e g i n s t l i b 8 第2 章k o n q u e r o r e m b e d d e d 移植 - l $ e 2 f s l i b i n s t l i b l $ t s l i b i n s t l i b - l t s - l j p e g - l u u i d 7 编译k o n q u e r o r e m b e d d e d 为清楚起见,将所有坏境变量重新设置: e x p o r ta r = a r m - l i n u x - a r e x p o r ts t r i p = a r m l i n u x - s t r i p e x p o r tr a n l i b 2 a r m l i n u x - r a n l i b e x p o r tc x x 3 a r m l i n u x g + + e x p o r tc c c = a r m l i n u x c + + e x p o r tc c 2 a r l t l l i n u x g c c e x p o r tc r o s s c o m p i l e = l e x p o r tl d = a r m - l i n u x l d e x p o r ta s = a r m - l i n u x a s e x p o r tn m = a r i l l - l i n u x n m e x p o r tq t d i r = h o m e w l e m b e d d e d q t o p i a 2 11 - t a r g e t q t - 2 3 1o e x p o r tt m a k e d i r = h o m e w l e m b e d d e d q t o p i a 211 - t a r g e t t m a k e 1 13 e x p o r tt m a k e p a t h 2 $ t m a k e d i r l i b q w s l i n u x o x i r l g + + e x p o r tq p e d i r = h o m e w l e m b e d d e d q t o p i a 211 - t a r g e t q t o p i a f r e e 一2 1 1 e x p o r tp a t h = $ q t d i r b i n :$ q p e d i r b i n :$ t m a k e d i r b i n :h o m e w l e m b e d d ed t o o l s u s r l o c a l a r m 3 4 1 b i n :$ p a t h e x p o r tk o n q d i r = p w d k o n q u e r o r - e m b e d d e d e x p o r tk o n q i n s t = 、p w d 、k o n q u e r o r - i n s t a l l e x p o r tb u i l d b a s e = h o m e w l e m b e d d e d q t o p i a 211 - t a r g e t 开始编译: c d $ k o n q d i r c o n f i g u r e p r e f i x = $ b u i l d b a s e k o n q u e r o r - i n s t a l l 、 一h o s t = a r m 1 i n u x | 一e n a b l e s h a r e dt - 一e n a b l e q t e m b e d d e d 一e n a b l e e m b e d d e d1 e n a b l e m t e n a b l e q p e | 9 第2 章k o n q u e r o r e m b e d d e d 移植 一e n a b l e q t o p i a 一一e n a b l e - f t p | 一e n a b l e c g i 、 e n a b l e s i d e b a r | e n a b l e f o m s u b s | 一e n a b l e l a r g e i c o n s 一e n a b l e - js h o s t e x t | 一e n a b l e t s l i b - - w i t h q t - d i r = $ b u i l d b a s e q t - 2 3 10 w i t h - q t - l i b r a r i e s = $ b u i l d b a s e q t 一2 3 1 0 l i b 一w i t h q t - i n c l u d e s 2 $ b u i l d b a s e q t 一2 3 1 0 i n c l u d e 一w i t h q t o p i a - d i r 2 $ b u i l d b a s e q t o p i a f r e e 一2 1 1 一w i t h q t o p i a - l i b r a r i e s 2 $ b u i l d b a s e q t o p i a - f r e e 一2 1 1 l i b 一一w i t h q t o p i a - i n c l u d e s 2 $ b u i l d b a s e q t o p i a f l e e 一2 1 1 i n c l u d e 一w i t h - g u i = q p e 一w i t h o u t s s l 一w i t h e x t r a - l i b s 2 $ b u i l d b a s e q t o p i a f r e e - 2 1 1 i m a g e o p t q t o p i a l i b :h o m e w l e m b e d d e d t o o l s u s r l o c a l a r m 3 4 1 l i b :h o m e w l e m b e d d e d t o o l s u s r l o c a l a r m 3 4 1 a r m 1 i n u x l i b w i t h e x t r a - i n c l u d e s = h o m e w l e m b e d d e d e x t r a i n c l u d e 2 3 移植步骤 浏览器的运行需要q t o p i a 平台,所以移植步骤包括q t o p i a 的移植和 k o n q u e m r e m b e d d e d 的移植。 1 q t o p i a 移植 q t o p i a 编译完成后将在一个固定路径下产生移植所需要的文件夹,包括: a p p s ,b i n ,e t c ,h e l p ,i l8 n ,l i b ,p i e s ,p l u g i n s ,s e r v i c e

温馨提示

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

评论

0/150

提交评论