- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何编写一个显卡的驱动程序
如何编写一个显卡的驱动程序在后续的几篇里面会详细介绍如何编写一个显卡的驱动程序。
framebuffer device在内核里面作为显卡驱动模型,许多函数和数据结构都是特定,正是这些特定的东西为我们的编程提供了方便。要开发frame buffer device驱动,你应该阅读Source\Source\Documentation\fb下面的说明文件,三个重要文件00-INDEX, framebuffer.txt,internals.txt,其他文件都是针对具体显卡芯片的说明了。
文件00-INDEX译文
文档/documentation/fb的索引文件。如果你对frame buffer设备有什么想法,mail:Geert Uytterhoeven geert@
00-index 这个文件
framebuffer.txt frame buffer 设备介绍
internals.txtframe buffer设备内部快速浏览
modedb.txt关于视频模式的资料
aty128fb.txt关于ATI Rage128显卡的frame buffer设备
clgenfb.txt关于Cirrus Logic的显卡
matroxfb.txt关于Matrox的显卡
pvr2fb.txt关于PowerVR 2的显卡
tgafb.txt关于TGA(DECChip 21030)显卡
vesafb.txt关于VESA显卡
帧缓冲设备(framebuffer.txt译文)
维护: Geert Uytterhoeven geert@
最后校正:?? May 10, 2001
翻译:good02xaut@
0.介绍
帧缓冲设备提供了显卡的抽象描述。他同时代表了显卡上的显存,应用程序通过定义好的接口可以访问显卡,而不需要知道底层的任何操作。该设备使用特殊的设备节点,通常位于/dev目录,如/dev/fb*.
1.用户角度的/dev/fb*
从用户的角度看,帧缓冲设备和其他位于/dev下面的设备类似。他是一个字符设备,通常主设备号是29,次设备号定义帧缓冲的个数。
通常,使用如下方式(前面的数字代码次设备号)
??????? 0 = /dev/fb0??? First frame buffer
??????? 1 = /dev/fb1??? Second frame buffer
????? ...
??????? 31 = /dev/fb31? 32nd frame buffer??
考虑到向下兼容,你可以创建符号链接:
????? /dev/fb0current - fb0
???? /dev/fb1current - fb1
and so on...
帧缓冲设备也是一种普通的内存设备,你可以读写其内容。例如,对屏幕抓屏:
? cp /dev/fb0 myfile
你也可以同时有多个显示设备,例如你的主板上出了内置的显卡还有另一独立的显卡。对应的帧缓冲设备(/dev/fb0 and /dev/fb1 etc.)可以独立工作。
应用程序如 X server一般使用/dev/fb0作为默认的显示帧缓冲区。你可以自定把某个设备作为默认的帧缓冲设备,设置$FRAMEBUFFER环境变量即可。在sh/bash:
??? export FRAMEBUFFER=/dev/fb1
在csh中:
??? setenv FRAMEBUFFER /dev/fb1
设定后,X server将使用第二个帧缓冲区设备。
2.程序员角度看/dev/fb*
正如你所知,一个帧缓冲设备和内存设备类似/dev/mem,并且有许多共性。你可以read,write,seek以及mmap()。不同仅仅是帧缓冲的内存不是所有的内存区,而是显卡专用的那部分内存。
/dev/fb*也允许尽行ioctl操作,通过ioctl可以读取或设定设备参数。颜色映射表也是通过Ioctl设定。查看linux/fb.h就知道有多少ioctl应用以及相关数据结构。
这里给出摘要:
? - 你可以获取设备一些不变的信息,如设备名,屏幕的组织(平面,象素,...)对应内存区??? 的长度和起始地址。
? - 也可以获取能够发生变化的信息,例如位深,颜色格式,时序等。如果你改变这些值,??? 驱动程序将对值进行优化,以满足设备特性(返回EINVAL,如果你的设定,设备不支持)
? - 你也可以获取或设定部分颜色表。?
所有这些特性让应用程序十分容易的使用设备。X server可以使用/dev/fb*而不需知道硬件的寄存器是如何组织的。 XF68_FBDev是一个用于位映射(单色)X server,唯一要做的就是在应用程序在相应的位置设定是否显示。
在新内核中,帧缓冲设备可以工作于模块中,允许动态加载。这类驱动必须调用regi
您可能关注的文档
- 金域缇香二期1#塔吊基础计算书.doc
- oracle bbed 跳过归档恢复数据库.docx
- 鞋厂成型作业管理办法FH-WI-01.doc
- 体艺2+1体育达标标准.doc
- 陈锦春 黄少民简易数字时钟设计1.doc
- EH油在汽机运行中的作用.doc
- 选修1-2_推理与证明.docx
- 汇编语言比较准确延时程序.doc
- 微机接口实验-北京科技大学.doc
- 单片机原理及应用实验指导书(6个实验)1.doc
- 浙江省名校新高考研究联盟Z20联盟2025届高三生物上学期第一次联考试题含解析.doc
- 二年级数学下册第一单元试卷3苏教版.doc
- 2025版高考地理大一轮复习课时跟踪检测三地理信息技术的应用含解析新人教版.doc
- 2025版高考地理总复习第六章人口的变化第一节人口的数量变化与人口的合理容量讲义含解析新人教版.docx
- 山东省新泰二中2024_2025学年高二生物下学期第一次月考试题.doc
- 北京市第四中学高三化学15天冲刺专题一电化学题型攻略教案.doc
- 2024年高考化学一轮总复习化学反应速率作业含解析新人教版.doc
- 山东省济宁市兖州区2024_2025学年高二生物下学期期中试题含解析.doc
- 校本研修工作总结报告7篇.pdf
- 村环境卫生工作总结.pdf
最近下载
- 2024年部编版六年级上册语文第二单元综合检测试卷及答案.pptx VIP
- 【工程安全交底】现场小工、零工安全技术交底.pdf VIP
- 学习新质生产力什么是新质生产力PPT课件.pptx VIP
- descum参考课件参考课件.ppt
- (2024秋新改)苏教版一年级数学上册《练习一》PPT课件.pptx VIP
- 风电场升压站受电和风机启动前阶段质量监督监理单位汇报内容.doc
- 2024年四川省绵阳市中考英语试题卷(含答案解析).docx
- 华电煤业集团有限公司煤炭建设项目工程造价管理办法.doc VIP
- 九上英语《Don't cross that rope》Museums课件.ppt VIP
- QC∕T 1115-2019 -自动变速器(AT)技术要求与试验方法.pdf
文档评论(0)