+ -
当前位置:首页 → 问答吧 → 【求助】请教FramkeBuffer下怎么映射寄存器的地址?

【求助】请教FramkeBuffer下怎么映射寄存器的地址?

时间:2006-11-10

来源:互联网

我知道在FrameBuffer下,用open打开/dev/fb0后就可以用mmap映射显存到用户内存了,那么怎么映射显示芯片的寄存器呢?也是用mmap吗,里面的参数怎么设置呢?请熟悉的朋友指点一下,谢谢!      

作者: alldying   发布时间: 2006-11-10

应该不需要映射

显卡的寄存器很多,一般人很难对他进行编程的,直接编程容易死机。何况寄存器大部分属于秘密,你能不能获得spec都是疑问

framebuffer应该有个高级接口,很多库有了framebuffer驱动后应该可以直接用接口      

作者: AIKO_sex   发布时间: 2006-11-10

谢谢AIKO_sex。

我现在想知道的就是你说的这个高级接口。我用过一下minigui,helloworld运行的时候能明显看得出窗口从上往下画的过程,仔细看了一下minigui的编程指南才发现只有FrameBuffer支持硬件加速,minigui才有硬件加速,可是Linux2.4的内核支持硬件加速的那几种显示芯片里不包括我用的s1d13506。

大概的看了一下内核里支持硬件加速的那几种显示芯片是在FrameBuffer的驱动里实现的,不过看起来很复杂,工作量也很大。s1d13506的显存地址和寄存器地址是在同一地址空间,顺序排列的,既然显存可以在应用程序里映射到用户空间来,寄存器应该也可以,今天看了下s1d13506的Programming Notes and Examples的2D BitBLT Engine部分,好象也不是很难(其他部分没看,不知道有没有影响),如果能通过ioctl提供接口操作寄存器,那么还是有可行性的。

不知道理解得对不对,还是希望AIKO_sex和其他熟悉的朋友指点一下,谢谢!      

作者: alldying   发布时间: 2006-11-11

我上次给的网站地址里就有支持的驱动补丁,      

作者: AIKO_sex   发布时间: 2006-11-11

谢谢AIKO_sex。

你上次给我的网站地址的东西我都下载了,其中有一个是补丁,不过只是Linux2.4下的FrameBuffer补丁,没有硬件加速部分。呵呵,如果我搞错了,能详细指明下吗?      

作者: alldying   发布时间: 2006-11-13

寒一个

那个硬件加速部分如果没有别人正式支持,还要自己写,驱动部分只能支持把显存映射到fb

寄存器部分估计是io基础地址+寄存器      

作者: AIKO_sex   发布时间: 2006-11-14

谢谢AIKO_sex。

我仔细看过了,确实没有,而且内核支持硬件加速部分的几种显卡里也没有我用的s1d13506,看来只能死马当活马医,自己动手了。看了下内核里FrameBuffer的驱动,ioctl里是有个default的扩展接口可以用,但是还没有个清晰的思路,驱动简直象迷宫一样,不过决定今天下午,最晚明天上午要动手了,时间紧,如果AIKO_sex兄有什么好招还希望告之,呵呵,谢谢!      

作者: alldying   发布时间: 2006-11-14

热门下载

更多