[i.MX] iMX6的framebuffer内存是在哪里分配的?

[复制链接]
6770|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的功能。
 楼主| vanbreaker 发表于 2013-12-11 15:38 | 显示全部楼层
FSL_TICS_imx 发表于 2013-12-11 15:07
楼主你好,是的,为framebuffer分配两倍于屏幕大小的内存就能实现double buffering的功能。 ...

这个内存在哪里分配的呢?
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;       
..........

}
 楼主| 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的驱动代码里面只给分配了屏幕大小的内存,我已经找到改过来了,现在可以用了。。
FSL_TICS_ZJJ 发表于 2013-12-13 11:02 | 显示全部楼层
感谢楼主的问题以及解决方案的分享,同时也感谢您对飞思卡尔产品的关注!
FSL_TICS_imx 发表于 2013-12-13 11:11 | 显示全部楼层
vanbreaker 发表于 2013-12-13 10:40
freescale的驱动代码里面只给分配了屏幕大小的内存,我已经找到改过来了,现在可以用了。。 ...

好的,非常高兴您的问题已经解决,欢迎有问题再提问,我们就在你身边:)
mini1986 发表于 2015-4-17 13:39 | 显示全部楼层
关注一下
zziaSimba 发表于 2015-9-24 20:21 | 显示全部楼层
vanbreaker 发表于 2013-12-13 10:40
freescale的驱动代码里面只给分配了屏幕大小的内存,我已经找到改过来了,现在可以用了。。 ...

请问, 具体代码在哪?
西门扫雪 发表于 2015-9-25 09:05 | 显示全部楼层
感觉很高级啊,谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

16

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部