打印
[i.MX]

iMX6的framebuffer内存是在哪里分配的?

[复制链接]
6292|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
vanbreaker|  楼主 | 2013-12-10 17:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教一下,今天本来是想试下framebuffer的double buffering功能,但是用应用程序去测试的时候发现framebuffer的内存和屏幕的大小是一样的,下面是应用程序测出来的一些framebuffer参数:
---Fix Screen Information---
physical mem start:0x18000000
mem length:0x180000
line length:2048
---Var Screen Information---
xres:1024, yres:768
virt_xres:1024, virt_yres:768
bits per pixel:16
于是想在系统给framebuffer分配内存的时候多分配0x180000的内存就行了,但是没找到这个内存是在哪里分配的,从代码上看,imx的ipuv3_framebuffer在作为platform_driver注册后,调用的probe函数会通过系统启动时为platform device填写的resource信息读取framebuffer的起始地址和内存大小,但是我在framebuffer的platform dev的描述信息里发现resource信息没有被填写,所以想请教两个问题:
1.framebuffer的内存是在什么地方分配的
2.是不是只要为framebuffer分配两倍于屏幕大小的内存就能实现double buffering的功能里

相关帖子

沙发
FSL_TICS_ZJJ| | 2013-12-11 10:49 | 只看该作者
该问题已经通知I.MAX的相关人员,请耐心等待!

使用特权

评论回复
板凳
vanbreaker|  楼主 | 2013-12-11 11:48 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-12-11 10:49
该问题已经通知I.MAX的相关人员,请耐心等待!

好的,谢谢!

使用特权

评论回复
地板
FSL_TICS_imx| | 2013-12-11 15:07 | 只看该作者
楼主你好,是的,为framebuffer分配两倍于屏幕大小的内存就能实现double buffering的功能。

使用特权

评论回复
5
vanbreaker|  楼主 | 2013-12-11 15:38 | 只看该作者
FSL_TICS_imx 发表于 2013-12-11 15:07
楼主你好,是的,为framebuffer分配两倍于屏幕大小的内存就能实现double buffering的功能。 ...

这个内存在哪里分配的呢?

使用特权

评论回复
6
FSL_TICS_imx| | 2013-12-12 17:23 | 只看该作者
vanbreaker 发表于 2013-12-11 15:38
这个内存在哪里分配的呢?

楼主你好,framebuffer 内存大小是在linux下/include/linux/fb.h中
struct fb_fix_screeninfo {
char id[16];                        /* identification string eg "TT Builtin" */
unsigned long smem_start;        /* frame buffer 的起始地址(物理地址)*/
        __u32 smem_len;                        /* frame buffer 的大小 */
        __u32 type;       
..........

}

使用特权

评论回复
7
vanbreaker|  楼主 | 2013-12-13 10:40 | 只看该作者
FSL_TICS_imx 发表于 2013-12-12 17:23
楼主你好,framebuffer 内存大小是在linux下/include/linux/fb.h中
struct fb_fix_screeninfo {
char id[ ...

freescale的驱动代码里面只给分配了屏幕大小的内存,我已经找到改过来了,现在可以用了。。

使用特权

评论回复
8
FSL_TICS_ZJJ| | 2013-12-13 11:02 | 只看该作者
感谢楼主的问题以及解决方案的分享,同时也感谢您对飞思卡尔产品的关注!

使用特权

评论回复
9
FSL_TICS_imx| | 2013-12-13 11:11 | 只看该作者
vanbreaker 发表于 2013-12-13 10:40
freescale的驱动代码里面只给分配了屏幕大小的内存,我已经找到改过来了,现在可以用了。。 ...

好的,非常高兴您的问题已经解决,欢迎有问题再提问,我们就在你身边:)

使用特权

评论回复
10
mini1986| | 2015-4-17 13:39 | 只看该作者
关注一下

使用特权

评论回复
11
zziaSimba| | 2015-9-24 20:21 | 只看该作者
vanbreaker 发表于 2013-12-13 10:40
freescale的驱动代码里面只给分配了屏幕大小的内存,我已经找到改过来了,现在可以用了。。 ...

请问, 具体代码在哪?

使用特权

评论回复
12
西门扫雪| | 2015-9-25 09:05 | 只看该作者
感觉很高级啊,谢谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

16

帖子

1

粉丝