主题 : android2.3.1移植 双缓冲问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 51213
精华: 0
发帖: 27
金钱: 135 两
威望: 27 点
综合积分: 54 分
注册时间: 2011-06-30
最后登录: 2013-02-01
楼主  发表于: 2013-01-20 13:09

 android2.3.1移植 双缓冲问题

      我从google上下载的android2.3.1源码,直接make出来的文件系统,烧写到开发板里,能后正常启动,但是其中的一个缓冲区里没有数据,屏幕一旦需要刷新就会黑屏一下,屏会不断的闪烁,内核是我用官方的内核,这个问题应该从哪里着手解决呢?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2013-01-20 16:35

 回 楼主(chusong) 的帖子

我想你最好比较一下友善之臂提供的Android源代码和你下载的源代码中的gralloc部分看看是否有针对Framebuffer驱动做过修改。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 51213
精华: 0
发帖: 27
金钱: 135 两
威望: 27 点
综合积分: 54 分
注册时间: 2011-06-30
最后登录: 2013-02-01
2楼  发表于: 2013-01-22 09:16

 回 1楼(kasim) 的帖子

我对比了以下3个目录:
hardware\libhardware\modules\gralloc\
hardware\msm7k\libgralloc\
hardware\msm7k\libgralloc-qsd8k
        这三个目录下的文件和官方提供的一模一样,没有任何的更改,后来我发现在vendor\samsung\smdkv210\proprietary\目录下有个gralloc.s5pc110.so,请问跟这个有关系吗?这个库是怎么来的?
另外这个目录下还有:
gralloc.s5pc110.so
libEGL_POWERVR_SGX540_120.so
libGLESv1_CM_POWERVR_SGX540_120.so
libGLESv2_POWERVR_SGX540_120.so
libglslcompiler.so
libIMGegl.so
libpvr2d.so
libpvrANDROID_WSEGL.so
libPVRScopeServices.so
libsrv_init.so
libsrv_um.so
libusc.so
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2013-01-22 11:31

 回 2楼(chusong) 的帖子

mini210/tiny210上的gralloc模块是gralloc.s5pc110.so,但看起来友善之臂没有开放这部分的源代码。
我想你可以试试把友善之臂文件系统里的system/vendor目录放到你编译生成的system image里。你可以把image中的ro.board.platform属性设成s5pc110, 这样系统在加载gralloc模块的时候可以找到gralloc.s5pc110.so
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 51213
精华: 0
发帖: 27
金钱: 135 两
威望: 27 点
综合积分: 54 分
注册时间: 2011-06-30
最后登录: 2013-02-01
4楼  发表于: 2013-01-23 09:27

 回 3楼(kasim) 的帖子

我按照这个方法更更改了,发现这样简单的更改还像不行,android的文件系统能起来,控制台可以用,图形界面进不去了,logcat发现有些服务起不来了,有没有什么更好的解决办法?如果我把源码目录下的device和vendor目录拷贝过去,在编译一下这样可以吗?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
5楼  发表于: 2013-01-23 13:14

 回 4楼(chusong) 的帖子

应该可以,Android的build系统是搜索Android.mk的。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."