讲师博文
LCD驱动程序 来源 : 未知     2018-09-29

LCD驱动程序

通用文件是fbmem.c

假设

app:  open("/dev/fb0", ...)   主设备号: 29, 次设备号: 0

kernel:

         fb_open

          int fbidx = iminor(inode);

          struct fb_info *info = = registered_fb[0];

app:  read()

kernel:

fb_read

int fbidx = iminor(inode);

struct fb_info *info = registered_fb[fbidx];

if (info->fbops->fb_read)

return info->fbops->fb_read(info, buf, count, ppos);     

src = (u32 __iomem *) (info->screen_base + p);

dst = buffer;

*dst++ = fb_readl(src++);

copy_to_user(buf, buffer, c)         

问1. registered_fb在哪里被设置?

答1. register_framebuffer

怎么写LCD驱动程序?

1. 分配一个fb_info结构体: framebuffer_alloc

2. 设置

3. 注册: register_framebuffer

4. 硬件相关的操作

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:linux中sqlite数据库的简单使用

下一篇:Web服务器的搭建

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号