LCD驱动

来源:互联网 发布:淘宝lol限定皮肤 编辑:程序博客网 时间:2024/06/06 17:36

数据结构

重要函数:

mmap:

1.运用层:

1void *mmap(void *addr, size_t length, int prot, int flags,                  int fd, off_t offset);功能:在进程的虚拟地址空间建立一个内存映射。参数: addr :指定映射的起始地址,如果写NULL,系统自动分配      length:映射的长度        prot:指定映射区域的访问权限,不能和open的打开模式冲突                PROT_EXEC :可执行                PROT_READ :可读                PROT_WRITE :可写                PROT_NONE  :不可访问       flags:指明了映射方式                    MAP_SHARED  :共享方式,多个进程映射同一区域,应用层映射空间的修改会互相影响, msync或munmap函数调用时回写到内核空间内存。                    MAP_PRIVATE :私有方式,多个进程映射同一区域,内核中先拷贝同一区域再映射,应用层的修改不会互相影响,不能回到回写到内核中拷贝前的内存。         fd :文件描述符(普通文件或设备文件)     offset :偏移量,必须页对齐。映射的开始地址= 文件首地址+偏移量返回值:void * : 成功返回映射的虚拟地址,失败返回(void *)-1 宏名为:MAP_FAILED,置错误码 【2int munmap(void *addr, size_t length); 功能:取消映射 参数:addr :已经映射的虚拟地址     length :要取消映射的长度返回值: int :成功返回0,失败返回-1,并置错错误码
  1. 驱动层:

核心层提供的接口:

fb_info的申请:

fb_info的释放:

注册帧缓冲设备:

注销帧缓冲设备:

源码跟踪心得:

注册及调用流程见思维导图。

0 0
原创粉丝点击