1. 怎么編寫字符設備驅動程序
主設備號
構造 file_operations 結構體,填充 open/read/write 等成員函數
注冊驅動:register_chrdev(major, name, &fops)
入口函數
出口函數
2. Framebuffer 驅動程序框架
分為上下兩層:
fbmem.c:承上啟下
實現、注冊 file_operations 結構體
把 APP 的調用向下轉發到具體的硬件驅動程序
xxx_fb.c:硬件相關的驅動程序
實現、注冊 fb_info 結構體
實現硬件操作
調用關系:
例子1: app:open("/dev/fb0",...)主設備號:29,次設備號:0 -------------------------------------------------------------- kernel: fb_open intfbidx=iminor(inode); structfb_info*info==registered_fb[0]; 例子2: app:read() --------------------------------------------------------------- kernel: fb_read intfbidx=iminor(inode); structfb_info*info=registered_fb[fbidx]; if(info->fbops->fb_read) returninfo->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)
3. 怎么編寫Framebuffer驅動程序
核心結構體:
分配 fb_info
framebuffer_alloc
設置 fb_info
var
fbops
硬件相關操作
注冊 fb_info
register_framebuffer
審核編輯:黃飛
-
驅動程序
+關注
關注
19文章
862瀏覽量
49115 -
Framebuffer
+關注
關注
0文章
8瀏覽量
8235
原文標題:Framebuffer 驅動程序框架
文章出處:【微信號:嵌入式開發愛好者,微信公眾號:嵌入式開發愛好者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
Framebuffer 驅動程序框架

如何編寫RK3288 framebuffer驅動程序呢
Windows XP驅動程序編寫方法
Windows98/2000驅動程序編寫方法
編寫Small RTOS51 的驅動程序
Windows設備驅動程序編寫時的主要問題及解決方案
Linux設備驅動程序的編寫
微軟發布開源框架驅動程序模塊新框架
如何編寫ADX122驅動程序?

評論