📄 00-index、framebuffer_txt、internals_txt译文 - ~ 悠悠风信子 ~ - csdnblog.htm
字号:
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>/dev/fb*</SPAN><SPAN>也允许尽心<SPAN>ioctl</SPAN>操作,通过<SPAN>ioctl</SPAN>可以读取或设定设备参数。颜色映射表<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>也是通过<SPAN>Ioctl</SPAN>设定。查看<SPAN><linux/fb.h></SPAN>就知道有多少<SPAN>ioctl</SPAN>应用以及相关数据结构。<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>这里给出摘要:<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN></SPAN> </P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN>- </SPAN><SPAN>你可以获取设备一些不变的信息,如设备名,屏幕的组织(平面,象素<SPAN>,...)</SPAN>对应内存区<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN><SPAN> </SPAN></SPAN><SPAN>的长度和起始地址。<SPAN><BR><BR><SPAN> </SPAN>- </SPAN>也可以获取能够发生变化的信息,例如位深,颜色格式,时序等。如果你改变这些值,<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN><SPAN> </SPAN></SPAN><SPAN>驱动程序将对值进行优化,以满足设备特性(返回<SPAN>EINVAL</SPAN>,如果你的设定,设备不支持)<SPAN><BR><BR><SPAN> </SPAN>- </SPAN>你也可以获取或设定部分颜色表。<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN></SPAN><SPAN>所有这些特性让应用程序十分容易的使用设备。<SPAN>X server</SPAN>可以使用<SPAN>/dev/fb*</SPAN>而不需知道硬件<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN></SPAN><SPAN>的寄存器是如何组织的。<SPAN> XF68_FBDev</SPAN>是一个用于位映射(单色)<SPAN>X server</SPAN>,唯一要做的就是<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN></SPAN><SPAN>在应用程序在相应的位置设定是否显示。<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN></SPAN></SPAN> </P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN></SPAN><SPAN>在新内核中,帧缓冲设备可以工作于模块中,允许动态加载。这类驱动必须调用<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN>register_framebuffer()</SPAN><SPAN>在系统中注册。使用模块更方便!<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN></SPAN></SPAN> </P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><STRONG><SPAN>3.</SPAN></STRONG><STRONG><SPAN>帧缓冲分辨率设定<SPAN></SPAN></SPAN></STRONG></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN></SPAN> </P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>帧缓冲的分辨率可以用工具<SPAN>fbset</SPAN>设定。他可以改变视频设备的显示模式。主要就是<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>改变当前视频模式,如在启动过程中,在<SPAN>/etc/rc.* </SPAN>或<SPAN> /etc/init.d/* </SPAN>文件中调用,<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>可以把视频模式从单色显示变成真彩<SPAN>.</SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN></SPAN> </P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>fbset</SPAN><SPAN>使用存储在配置文件中的视频模式数据表,你可以在文件中增加自己需要的显示模式。<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN></SPAN> </P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><STRONG><SPAN>4.X Server</SPAN></STRONG></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN></SPAN> </P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>X server (XF68_FBDev)</SPAN><SPAN>是对帧缓冲设备的最主要应用。从<SPAN>XFree86<SPAN> </SPAN>3.2</SPAN>后,<SPAN>X server</SPAN>就是<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>XFree86 </SPAN><SPAN>的一部分了,有<SPAN>2</SPAN>个工作模式<SPAN>:</SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN></SPAN> </P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN>- </SPAN><SPAN>在<SPAN>/etc/XF86Config</SPAN>文件中,如果<SPAN>`Display'</SPAN>段关于<SPAN> `fbdev'</SPAN>的配置:<SPAN><BR><BR><SPAN> </SPAN>Modes "default"<BR><BR><SPAN> </SPAN>X server </SPAN>将使用前面讨论的,从环境变量<SPAN>$FRAMEBUFFER</SPAN>获取当前帧缓冲设备<SPAN>.<BR><SPAN> </SPAN></SPAN>你也可以设定颜色位深,使用<SPAN>Depth</SPAN>关键字,使用<SPAN>Virtual</SPAN>设定虚拟分辨率。这也是<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN></SPAN><SPAN>默认设置。<SPAN><BR><SPAN> </SPAN><BR><BR><SPAN> </SPAN>- </SPAN>然而你也可以通过设定<SPAN>/etc/XF86Config,</SPAN>改变分辨率。这样有很多灵活性,唯一的<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN><SPAN> </SPAN></SPAN><SPAN>不足就是你必须设定刷新频率。可以用<SPAN>fbset -x<BR><BR></SPAN>通过<SPAN>fbset</SPAN>或<SPAN>xvidtune</SPAN>切换显示模式。<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><STRONG><SPAN>5.</SPAN></STRONG><STRONG><SPAN>视频模式频率<SPAN></SPAN></SPAN></STRONG></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN></SPAN> </P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>CRT</SPAN><SPAN>显示器是用<SPAN>3</SPAN>个电子枪轰击磷粉完成颜色的显示的。<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>电子枪从左到右的水平扫描,并从上至下的垂直扫描。通过改变枪的电压,所显示的颜色<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>可以不同。<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>当电子枪完成一行扫描重新回到下一行的开始,被称作<SPAN>“</SPAN>水平折回<SPAN>”</SPAN>。当一屏幕全部<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>扫描完毕,电子枪将回到最左上脚,被成为<SPAN>“</SPAN>垂直折回<SPAN>”</SPAN>。在折回的途中电子枪是关闭的。<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN></SPAN> </P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>电子枪打点的移动速度取决于点时钟。如果点时钟是<SPAN>28.37516 MHz</SPAN>,打一个点需要<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>35242 ps</SPAN><SPAN>。<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN>1/(28.37516E6 Hz) = 35.242E-9 s</SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN></SPAN> </P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>如果屏幕分辨率是<SPAN>640x480</SPAN>,那么一行的时间是:<SPAN></SPAN></SPAN></P>
<P
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -