网站seo关键词设置,简述什么是seo及seo的作用,项目建设综述,怎样做网站网站一、驱动程序的框架
总共分为五步#xff1a;
1、自己设定或者系统分配一个主设备号
2、创建一个file_operations结构体
这个结构体中有操作硬件的函数#xff0c;比如drv_open、drv_read
3、写一个注册设备驱动函数
需要register_chrdev(major,name,结构体)#xff0…一、驱动程序的框架
总共分为五步
1、自己设定或者系统分配一个主设备号
2、创建一个file_operations结构体
这个结构体中有操作硬件的函数比如drv_open、drv_read
3、写一个注册设备驱动函数
需要register_chrdev(major,name,结构体)这一步是构造函数注册驱动的函数参数有三个很重要分别是主设备号、驱动名字、驱动结构体
注:为了辅助的创建设备节点还要写上两个函数
class_create、device_create
4、驱动入口加载驱动
开始使用register_chrdev函数
5、出口卸载驱动
使用unregister_chrdev函数 二、如何传输数据 1、从应用层到驱动层
使用
copy_to_user函数驱动数据传输到应用层面
copy_from_user函数应用层数据传输到驱动
2、从驱动层到硬件层
使用ioremap
使用内存映射的方法进行寄存器操作
三、LCD驱动的开发
在这个驱动开发的时候内核中已经有个fbmem.c文件函数把上面的框架弄好了只需要我们做修改就OK了fbmem.c这个文件不通用不能用到所有的MPU和LCD上所以需要我们修修改改。
fbmem.c只是一个框架应用到不同的MPU上。起到一个框架中转的作用。
如何使用到不同的LCD上呢
不同的硬件会在驱动程序中加入不同的fb_info结构体通过这个fb_info去操作硬件
开发操作步骤
用fbmem.c框架然后编写具体的硬件相关驱动程序抽象的fb_info结构体。
1、抓住核心结构体fb_info 2、分配fb_info
使用framebuffer_alloc 为啥使用它分配
3、设置fb_info
需要设置var、fbops、硬件相关内容如上电啥的
4、注册fb_info \ 注销 fb_info
使用register_framebuffer(struct fb_info *fb_info)函数 还没清除为啥是这个函数