天嵌 ARM开发社区

 找回密码
 注册
查看: 1540|回复: 2

关于TQ210采用Android4.0版本在10.4寸电阻屏上显示闪屏问题

[复制链接]
三水 发表于 2013-6-27 16:12:29 | 显示全部楼层 |阅读模式
我所采用的是Android4.0最新内核,即1.2版本,现象启动过程中就开始不停的左右闪动,系统起来以后也还是左右闪动……(如图),启动日志在附件里!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
TQ-ZQL 发表于 2013-6-27 18:20:27 | 显示全部楼层
Kernel_3.0.8_TQ210_for_Android_v1.2/drivers/video/samsung/s3cfb_fimd6x.c
int s3cfb_set_buffer_address(struct s3cfb_global *ctrl, int id)
{
        struct fb_fix_screeninfo *fix = &ctrl->fb[id]->fix;
        struct fb_var_screeninfo *var = &ctrl->fb[id]->var;
        struct s3c_platform_fb *pdata = to_fb_plat(ctrl->dev);
        dma_addr_t start_addr = 0, end_addr = 0;
        u32 shw;

if (fix->smem_start) {
start_addr = fix->smem_start + ALIGN(var->xres_virtual *
(var->bits_per_pixel / 8) * var->yoffset, PAGE_SIZE);

end_addr = start_addr + fix->line_length * var->yres;
}


改成
int s3cfb_set_buffer_address(struct s3cfb_global *ctrl, int id)
{
        struct fb_fix_screeninfo *fix = &ctrl->fb[id]->fix;
        struct fb_var_screeninfo *var = &ctrl->fb[id]->var;
        struct s3c_platform_fb *pdata = to_fb_plat(ctrl->dev);
        dma_addr_t start_addr = 0, end_addr = 0;
        u32 shw;

        if (fix->smem_start) {
                start_addr = fix->smem_start + (var->xres_virtual *
                                (var->bits_per_pixel / 8) * var->yoffset);

                end_addr = start_addr + fix->line_length * var->yres;
        }
 楼主| 三水 发表于 2013-6-28 09:58:30 | 显示全部楼层
问题解决了……非常感谢……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-16 07:38 , Processed in 1.078125 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表