搜索
bottom↓
回复: 2

嵌入式framebuffer驱动问题?

[复制链接]

出0入0汤圆

发表于 2014-7-17 18:22:18 | 显示全部楼层 |阅读模式
目前正在学习Linux嵌入开发 芯片是at91sam9260 屏是:黑白屏160*160 UC1698控制器,与芯片的接口是:i80接口,驱动想写成framebuffer形式的怎么处理?
/* 1. 分配一个fb_info */
at91_lcd = framebuffer_alloc(0, NULL);

/* 2. 设置 */
/* 2.1 设置固定的参数 */
strcpy(at91_lcd->fix.id, "mylcd");
at91_lcd->fix.smem_len = 160*160/8;
at91_lcd->fix.type     = FB_TYPE_PACKED_PIXELS;
at91_lcd->fix.visual   = FB_VISUAL_MONO01; /* TFT */
at91_lcd->fix.line_length = 160/8;

/* 2.2 设置可变的参数 */
at91_lcd->var.xres           = 160;
at91_lcd->var.yres           = 160;
at91_lcd->var.xres_virtual   = 160;
at91_lcd->var.yres_virtual   = 160;
at91_lcd->var.bits_per_pixel = 1;

/* RGB:565 */
//        at91_lcd->var.red.offset     = 11;
//        at91_lcd->var.red.length     = 5;

//        at91_lcd->var.green.offset   = 5;
//        at91_lcd->var.green.length   = 6;

//        at91_lcd->var.blue.offset    = 0;
//        at91_lcd->var.blue.length    = 5;

at91_lcd->var.activate       = FB_ACTIVATE_NOW;


/* 2.3 设置操作函数 */
at91_lcd->fbops              = &at91_lcdfb_ops;

/* 2.4 其他的设置 */
at91_lcd->screen_size   = 160*160/8;
at91_lcd->screen_base = dma_alloc_writecombine(NULL, at91_lcd->fix.smem_len, (dma_addr_t *)&at91_lcd->fix.smem_start, GFP_KERNEL);

static struct fb_ops at91_lcdfb_ops = {
.owner         = THIS_MODULE,
.fb_fillrect        = cfb_fillrect,
.fb_copyarea        = cfb_copyarea,
.fb_imageblit        = cfb_imageblit,
};
驱动是装载没有问题 cat abc > /dev/fb0屏幕上也可以显示几个点,但是cat abc > /dev/tty1 屏幕却没有显示
之后我又自己重新编写:
.fb_fillrect        = cfb_fillrect,
.fb_copyarea        = cfb_copyarea,
.fb_imageblit        = cfb_imageblit,
这三个函数但是屏幕依旧没有反应
怎么才能让framebuffer和tty1关联起来啊,谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2014-7-17 20:00:13 | 显示全部楼层
需要加上vfb的驱动吧, 这样才能够在framebuffer上显示文本.

出0入0汤圆

 楼主| 发表于 2014-7-18 07:50:38 | 显示全部楼层
谢谢,果然成功了。但是又出现了一个问题:就是无法卸载启动rmmod lcd 的时候提示:rmmod: remove 'lcd': Resource temporarily unavailable,这是怎么回事?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 03:37

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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