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

基于ViewML的嵌入式浏览器移植杨志文I马骋2%普天惠讯公司北京100085)々清华大学精仪系北京100084)摘要嵌入式浏览器在数字电视、PDA等领域具有重要的应用价值。木文介绍了一种嵌入式浏览器的移植方法,对ViewML的系统结构和动态运行过程进行了详细的分析和描述,通过对图形接口等部分的移植,在基于PowerPC芯片和PSOS实时操作系统的硕件平台上•成功地实现了一种嵌入式浏览器。关键词嵌入式浏览器ViewML移植PortinganEmbeddedBrowserBasedonViewMLYangZhiwen1MaCheng21(PutianCorp.Beijing100085^China}2(Tsin^huaUniversityBeijing100084•China)AbstractEmbeddedbrowseriswidelyusedintheareasuchasdigitalTVandPDA.Inthispaper,amethodofportinganembeddedbrowserisintroduced.BaseontheanalysisofViewML^sstructureandrunningprocess,somepartssuchasgraphicsinterfacearereprogrammed.ExperimentshowsthatthereprogrammedembeddedbrowsercanrunningsteadlyonasystemcomposedofPowerPCandPSOS.KeywordsEmbeddedbrowserViewMLPorting1引言当今世界,数字电视、PDA等数字媒休和信息设备日益普及,而嵌入式浏览器是一项必不可少的功能。要在这些设备中实现嵌入式浏览器,目前主要有两类方法:一种方法是在JVMCJavaVirtualMachine)上运行一个java语言的浏览器,但是由于嵌入式系统的epu一般计算速度较慢(无法和pcft|比),从而导致浏览器运行很慢,因此这种方法对硬件性能的要求较高,目前应用一般不做考虑;另外一种方法:采用C或C++H主编程实现。但是,新的问题乂出现了:开发一个浏览器需要大量的时间和人力,这对于中小型公司来说是不能承受的,因此移植通用浏览器将是一个较好的选择。针对目前已经存在的IE、Opera、Mozilla、Konqueror.ViewML等多种通用浏览器°从商业成本考虑,选用自由软件可以降低成本并且避免知识产权纠纷•因而厉締媲商用的浏览器,另外,嵌入式系统对存储器的资源亦销要求也非常严格,ROM和RAM资源占用越小越好•同时•考虑到目前对于浏览器的性能需要不是太多,只要支持htrnl3.2和javascript1.1就可以,因此可以选用ViewML。ViewML功能简单,对于javascript的支持也不是很完善,但是它需要的资源少,而且模块化比较淸楚,易于移植.2ViewML的系统分析欲实现ViewMI.进行移植,首先需耍对它的结构进行分析。ViewML的框架结构图如图1所示。从图1可以看出,VcwML对底层模块的依赖主要有以下几部分:(1)Microwindows,这个模块为图形系统,它提供fXwindow的API函数的子集,其中包括鼠标、键盘、图形驱动等,它向上支持FLTK(C++图形库)。(2)WWWLB,这是MIT提供的一部分网络通讯库,主要是访问网络和本地文件,实现了httpl.1协议等。(3)StdC++Library,这部分主•要是一些标准C++图2ViewML的动态运行过程首先,运行ViewML,主程序创建主程序图形界面,创建网络通讯子进程HTTPConnection,启动Timer顶时器•进入等待,此时•子进程运行gctURL,调用wwwlib•按照Http协议进行网络通讯,将数据放进buffer中。主迓程在定时器时间到后,调用getfinishedURL,得到已完成通讯的URL,getdata得到数据,进行解析显示。如果没有数据,则启动定时器.调用通讯子进程。万方数据3VewML的移植过程根据上面的系统分析,要移植ViewML,需要支持C++的编译器和支持多任务的实时系统,主要实现七部分的移植•包括:3.1线程的移植由于大多数实时系统,对于P()S1X(—种操作系统接口的工业标准)标准支持的不确泄性,使得这部分在那些对POSIX标准支持不好的系统中,显得比较困难,例如PS()S就存在上述问题•因此需要对实时系统的线程函数进行开发,主要是线程创建•删除•线程间的互斥等。3.2图形的移植这部分工作相对来说比较复杂。由于是移植linux程序,因此,Microwindow应该选择NANO-X,这样才能支持上面的图形库山k,这部分要做的工作主要是和各个驱动的连接,包括图形驱动、鼠标驱动、键盘驱动三部分。图形驱动就是耍实现相应的图形驱动函数.如open(PSDpsd).setpalette(PSDpsd,intfirst♦intcount,MWPALENTRY"pal)等,然后将这些函数指针填到图形驱动结构的device,h的SCREENDEVICE中...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?