- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于嵌入式Linux通用打印系统研究与设计
基于嵌入式Linux通用打印系统研究与设计
摘 要:首先通过对Linux打印系统原理进行了分析研究,然后结合嵌入式应用的特点设计了一种基于嵌入式Linux的通用打印系统方案,实现了脱离PC机驱动并具有复杂打印的功能,并在S3C2410平台上进行了实验验证,且给出了系统的软件方案的设计。??
关键词:嵌入式打印;Linux打印;CUPS;交叉编译??
中图分类号:TP311.52 文献标识码:A 文章编号:1672-7800(2011)04-0078-03?お?
??
基金项目:广西研究生教育创新计划项目(2010105960812M33)??
作者简介:李泽球(1983-),男,广西桂平人,桂林理工大学硕士研究生,研究方向为嵌入式系统;黎卫红(1959-),男,广西玉林人,广西科技厅成果管理与科学技术普及处高级工程师,硕士研究生导师,研究方向为信息处理。
0 引言??
随着嵌入式技术的飞速发展和Linux开源操作系统的优越性,目前出现许多以嵌入式linux为平台的电子产品。在许多的产品中都需要有打印的功能,但是目前绝大部分的嵌入式产品的打印方案都是采用基于热敏式的打印机,这种方案的打印只能进行一些简单的打印功能,不能进行复杂的、彩色的打印需求,有很大的局限性;另外的一种方案是采用外置一台PC机进行打印机驱动,这种方案虽然可以实现完整的打印功能,但同时造成了资源的浪费,不符合嵌入式技术的设计原则。基于以上的考虑,本文设计了一种基于嵌入式Linux平台的打印方案,它能够实现基于PC机驱动的打印效果,又不需要外置一台PC机进行驱动,在一定的程度上为嵌入式产品提供了一种相对完美的打印解决方案。??
1 Linux打印系统原理??
Linux采用的打印系统是标准的通用Unix打印系统(CUPS)。CUPS实际上是一个集成的打印服务程序,包括了前端接收打印命令的相关程序,后端控制打印机硬件的程序,中间层则是打印驱动。CUPS驱动其实是一系列的程序加定义文件的总和,这些各种文件是进行各式文件格式转换的程序和格式定义文件。??
CPUS的执行原理是当CUPS接受到打印命令时,首先会进行一个格式的预转换,比如将bmp等各种文件先转换成PostScript格式。然后进一步将PostScript格式转换成 CUPS内部格式,这个称为PostScript到CUPS-PostScript转换,这两种PostScript格式还是有差别的,在MIME中定义了这两种不同的PostScript。??
以上这些都是CPUS打印过程中的预处理工作,接下来CUPS的工作围绕PostScript展开,CUPS会根据PPD(PostScript Printer Description 文件)文件来选择相应的处理流程。PPD文件其实是驱动的核心,不同的打印机有不同的PPD文件,PPD 包含有关输出设备的信息,CUPS使用PPD文件中的信息来确定在打印文档时向打印机发送哪些 PostScript 信息。CPUS最大的特点是它把所有打印机都“看成”PostScript打印机,即便打印机本身不支持PostScript,也可以通过CUPS 自带的PostScript解释程序(PsToRaster)或者GhostScript来解释PostScript文件,从而把普通的打印机模拟成 PostScript打印机。??
CPUS根据打印机类型的不同把打印流程分为3种处理方式,第一种是把打印文件直接转换成 PostScript格式文件,然后送入打印机进行打印。后面两种是分别用CUPS的PsToRaster或GhostScript文件转换程序来进行转换为CPUS-PostScript文件格式,虚拟出一台 PostScript打印机,然后再通过这台虚拟PostScript打印驱动打印机进行打印。CPUS提供的这3种处理方式决定了它能够支持各种不同的打印机,因此这也是CUPS兼容性非常好的原因。CPUS打印的流程原理如图1所示。??
2 Linux打印系统在嵌入式平台上的设计??
根据对Linux打印系统原理的深入分析,了解到Linux打印过程的各种处理方式的具体过程,那么在嵌入式这种小内存平台的设计打印方案也就有了一定的理论基础。因为在嵌入式平台中受限于硬件平台,如果直接把CPUS和GhostScript进行交叉编译并移植到嵌入式平台上,那么其实所需要的内存空间在80多M以上,对于嵌入式平台是不现实的。本文的设计方案是对CPUS打印的原理进行了更深入的研究分析,提取其中的最基本模块进行组合修改设计成一个最精小的微型嵌入打印系统,再将其交叉编译移植到嵌入式平台之上。??
2.1 基于
文档评论(0)