基于ViewML的嵌入式浏览器移植

(6页)

'基于ViewML的嵌入式浏览器移植'
基于ViewML的嵌入式浏览器移植杨志文I马骋2 %普天惠讯公司北京100085)々清华大学精仪系北京100084)摘要 嵌入式浏览器在数字电视、PDA等领域具有重要的应用价值。木文介绍了一种嵌入式浏览器的移植方法,对ViewML的 系统结构和动态运行过程进行了详细的分析和描述,通过对图形接口等部分的移植,在基于PowerPC芯片和PSOS实时操作系 统的硕件平台上?成功地实现了一种嵌入式浏览器。关键词嵌入式浏览器ViewML移植Porting an Embedded Browser Based on ViewMLYang Zhiwen1 Ma Cheng21 (Putian Corp. Beijing 100085^ China} 2(Tsin^hua UniversityBeijing 100084? China)Abstract Embedded browser is widely used in the area such as digital TV and PDA. In this paper,a method of porting an embedded browser is introduced. Base on the analysis of ViewML^s structure and running process, some parts such as graphics interface are reprogrammed. Experiment shows that the reprogrammed embedded browser can running steadly on a system composed of PowerPC and PSOS.Key words Embedded browser ViewML Porting1引 言当今世界,数字电视、PDA等数字媒休和信息设 备日益普及,而嵌入式浏览器是一项必不可少的功能。 要在这些设备中实现嵌入式浏览器,目前主要有两类 方法:一种方法是在JVMCJava Virtual Machine)上运 行一个java语言的浏览器,但是由于嵌入式系统的 epu 一般计算速度较慢(无法和pc ft|比),从而导致浏 览器运行很慢,因此这种方法对硬件性能的要求较高, 目前应用一般不做考虑;另外一种方法:采用C或C+ + H主编程实现。但是,新的问题乂出现了 :开发一个浏 览器需要大量的时间和人力,这对于屮小型公司来说 是不能承受的,因此移植通用浏览器将是一个较好的 选择。针对目前已经存在的IE、Opera、Mozilla、 Konqueror.ViewML等多种通用浏览器°从商业成本 考虑,选用自由软件可以降低成本并且避免知识产权 纠纷?因而厉締媲商用的浏览器,另外,嵌入式系统 对存储器的资源亦销要求也非常严格,ROM和RAM 资源占用越小越好?同时?考虑到目前对于浏览器的性 能需要不是太多,只要支持htrnl3. 2和javascript 1. 1 就可以,因此可以选用ViewML。ViewML功能简单, 对于javascript的支持也不是很完善,但是它需要的 资源少,而且模块化比较淸楚,易于移植.2 ViewML的系统分析欲实现ViewMI.进行移植,首先需耍对它的结构 进行分析。ViewML的框架结构图如图1所示。从图1可以看出,VcwML对底层模块的依赖主 要有以下几部分:(1) Microwindows,这个模块为图形系统,它提供 f Xwindow的API函数的子集,其中包括鼠标、键 盘、图形驱动等,它向上支持FLTK(C++图形库)。(2) WWWLB,这是MIT提供的一部分网络通讯 库,主要是访问网络和本地文件,实现了 httpl. 1协议 等。(3) Std C+ +Library,这部分主?要是一些标准C+ + 图1 VicwML的框架结构库,也就是C+ +标准模板库。(4)IMLIB,这一部分主要为对图片的处理,如 jpeg.gif等图像格式。(5 ) Pt h read ,即VicwML需要多任务的操作系 统。(6)FLTK 9—个C卜+图形库,建立在microwindow 之上。ViewML的动态运行过程可以由图2表示。图2 ViewML的动态运行过程首先,运行ViewML,主程序创建主程序图形界 面,创建网络通讯子进程HTTPConnection,启动 Timer顶时器?进入等待,此时?子进程运行gctURL, 调用wwwlib?按照Http协议进行网络通讯,将数据放 进buffer屮。主迓程在定时器时间到后,调用 getfinishedURL,得到已完成通讯的URL,getdata得 到数据,进行解析显示。如果没有数据,则启动定时器. 调用通讯子进程。万方数据3 VewML的移植过程根据上面的系统分析,要移植ViewML,需要支持 C++的编译器和支持多任务的实时系统,主要实现七 部分的移植?包括:3.1线程的移植由于大多数实时系统,对于P()S1X( —种操作系 统接口的工业标准)标准支持的不确泄性,使得这部分 在那些对POSIX标准支持不好的系统中,显得比较困 难,例如PS()S就存在上述问题?因此需要对实时系统 的线程函数进行开发,主要是线程创建?删除?线程间 的互斥等。3.2图形的移植这部分工作相对来说比较复杂。由于是移植linux 程序,因此,Microwindow应该选择NANO-X,这样才 能支持上面的图形库山k,这部分要做的工作主要是 和各个驱动的连接,包括图形驱动、鼠标驱动、键盘驱 动三部分。图形驱动就是耍实现相应的图形驱动函数. 如 open (PSD psd ). set palette (PSD psd, int first ? int count, MWPALENTRY"pal)等,然后将这些函数指 针填到图形驱动结构的device, h的 SCREENDEVICE中即可,其实这个过程就是linux 下的图形驱动的实现过程。鼠标和键盘也类似,不过鼠 标和键盘要考虑相应的event处理,如果嵌入式系统 中没有鼠标和键盘等输入设备,可以考虑屏蔽掉,在 Micro window中,对应鼠标和键盘的事件处理函数分 别 是 GsCheckMouseEvent ( ) 和GsChcckKcyboardEvcnt (),顺着这两个函数进行下去 即可。关于字体,也在这部分处理,可以修改相应的字 体处理函数。该部分的数据结构如Device, h所示:Device, h/* Interface to Screen Device Driver This structure is also allocated for memory (offscreen ) drawing and blitting. / typcclcf struct mwscrccndcvicc {MWCOORDxrcs ;/'X screen res (
关 键 词:
基于 ViewML 嵌入式 浏览器 移植
 剑锋文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:基于ViewML的嵌入式浏览器移植
链接地址: //www.wenku365.com/p-43768194.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给剑锋文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 //www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开