📄 00-index、framebuffer_txt、internals_txt译文 - ~ 悠悠风信子 ~ - csdnblog.htm
字号:
href="http://blog.csdn.net/youyoufengxinzi/category/280580.aspx/rss">(RSS)</A>
<LI class=listitem><A
href="http://blog.csdn.net/youyoufengxinzi/category/281645.aspx">linux驱动</A><A
href="http://blog.csdn.net/youyoufengxinzi/category/281645.aspx/rss">(RSS)</A>
<LI class=listitem><A
href="http://blog.csdn.net/youyoufengxinzi/category/281906.aspx">常用</A><A
href="http://blog.csdn.net/youyoufengxinzi/category/281906.aspx/rss">(RSS)</A></LI></UL>
<H3 class=listtitle>收藏</H3>
<UL class=list></UL>
<H3 class=listtitle>相册</H3><!--category title-->
<UL class=list></UL>
<H3 class=listtitle>存档</H3>
<UL class=list>
<LI><A
href="http://blog.csdn.net/youyoufengxinzi/archive/2007/04.aspx">2007年04月(1)</A>
<LI><A
href="http://blog.csdn.net/youyoufengxinzi/archive/2007/03.aspx">2007年03月(4)</A>
<LI><A
href="http://blog.csdn.net/youyoufengxinzi/archive/2007/02.aspx">2007年02月(21)</A></LI></UL></TD></TR></TBODY></TABLE></TD>
<TD vAlign=top width="70%"
background="00-INDEX、framebuffer_txt、internals_txt译文 - ~ 悠悠风信子 ~ - CSDNBlog.files/post_bg.gif">
<TABLE height=90 cellSpacing=0 cellPadding=5 width="100%" align=center
bgColor=white border=0>
<TBODY>
<TR>
<TD
background="00-INDEX、framebuffer_txt、internals_txt译文 - ~ 悠悠风信子 ~ - CSDNBlog.files/post_bg.gif"><!--done-->
<DIV class=Tag>
<SCRIPT language=javascript
src="00-INDEX、framebuffer_txt、internals_txt译文 - ~ 悠悠风信子 ~ - CSDNBlog.files/urltag.htm"></SCRIPT>
<DIV style="CLEAR: both"></DIV></DIV><SPAN class=PreAndNext
id=viewpost.ascx_PreviousAndNextEntriesUp>
<DIV align=center><A
href="http://blog.csdn.net/youyoufengxinzi/archive/2007/02/27/1516238.aspx">上一篇: 写自己的frame
buffer device driver </A> | <A
href="http://blog.csdn.net/youyoufengxinzi/archive/2007/02/27/1516224.aspx">下一篇: 关于frambuffer</A></DIV></SPAN><BR>
<SCRIPT>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</SCRIPT>
<DIV class=post>
<DIV class=postTitle><A
href="http://blog.csdn.net/youyoufengxinzi/archive/2007/02/27/1516229.aspx"><IMG
height=13
src="00-INDEX、framebuffer_txt、internals_txt译文 - ~ 悠悠风信子 ~ - CSDNBlog.files/authorship.gif"
width=15 border=0> 00-INDEX、framebuffer.txt、internals.txt译文</A>
</DIV>
<DIV class=postText>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=center><SPAN><FONT color=#ff0000
size=5><STRONG> </STRONG><FONT
color=#000000>
</FONT><SPAN><SPAN><STRONG>文件00-INDEX译文</STRONG></SPAN></SPAN></FONT></SPAN>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=center><STRONG><SPAN><FONT color=#ff0000
size=5>
framebuffer.txt译文</FONT></SPAN></STRONG></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><STRONG><SPAN>1.</SPAN></STRONG><STRONG><SPAN>用户角度的<SPAN>/dev/fb*</SPAN></SPAN></STRONG></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>从用户的角度看,帧缓冲设备和其他位于<SPAN>/dev</SPAN>下面的设备类似。他是一个字符设备,通常<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>主设备号是<SPAN>29</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></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN><SPAN> </SPAN>0 = /dev/fb0<SPAN> </SPAN>First frame buffer<BR><SPAN> </SPAN>1 = /dev/fb1<SPAN> </SPAN>Second frame buffer<BR><SPAN> </SPAN><SPAN> </SPAN>...<BR><SPAN> </SPAN>31 = /dev/fb31<SPAN> </SPAN>32nd frame buffer</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>/dev/fb0current -> fb0<BR><SPAN> </SPAN>/dev/fb1current -> fb1<BR><BR>and so on...</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></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN>cp /dev/fb0 myfile<BR><BR></SPAN><SPAN>你也可以同时有多个显示设备,例如你的主板上出了内置的显卡还有另一独立的<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>显卡。对应的帧缓冲设备<SPAN>(/dev/fb0 and /dev/fb1 etc.)</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> X server</SPAN>一般使用<SPAN>/dev/fb0</SPAN>作为默认的显示帧缓冲区。你可以自定<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>把某个设备作为默认的帧缓冲设备,设置<SPAN>$FRAMEBUFFER</SPAN>环境变量即可。在<SPAN>sh/bash</SPAN>:<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN><SPAN> </SPAN>export FRAMEBUFFER=/dev/fb1<BR><BR></SPAN><SPAN>在<SPAN>csh</SPAN>中:<SPAN><BR><BR><SPAN> </SPAN>setenv FRAMEBUFFER /dev/fb1</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>X server</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>2.</SPAN></STRONG><STRONG><SPAN>程序员角度看<SPAN>/dev/fb*</SPAN></SPAN></STRONG></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>正如你所知,一个帧缓冲设备和内存设备类似<SPAN>/dev/mem</SPAN>,并且有许多共性。你可以<SPAN></SPAN></SPAN></P>
<P
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN>read,write,seek</SPAN><SPAN>以及<SPAN>mmap()</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>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -