zoukankan      html  css  js  c++  java
  • LCD驱动

    数据结构

    重要函数:

    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的释放:

    注册帧缓冲设备:

    注销帧缓冲设备:

    源码跟踪心得:

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

  • 相关阅读:
    Linux下Redis的安装和部署
    js实现复制到剪贴板功能,兼容所有浏览器
    解决file_get_contents无法请求https连接的方法
    PHP使用正则表达式验证电话号码(手机和固定电话)
    php MYSQL 一条语句中COUNT出不同的条件
    学到的较复杂的 mysql 语名
    数据库相关 sql 语句
    php对象比较
    魔术方法
    inner join left join right join
  • 原文地址:https://www.cnblogs.com/xxg1992/p/6636374.html
Copyright © 2011-2022 走看看