Linux-LCD应用层编程学习笔记
作者:互联网
LCD应用层编程
LCD驱动 --> 设备节点文件 --> fb0
设备节点文件 等同于 显存空间!
如果想要在屏幕上显示图像,只需要往显存中写入数据即可!
LCD应用程序就是往显存中写入数据的操作!!!
LCD应用程序编程步骤:
1)打开LCD驱动对应的设备节点文件(显存)
2)把内核中的显存空间映射到进程空间中
3)往映射空间中写入数据
4)关闭显存
mmap();
头文件:#include <sys/mman.h>
函数原型:void mmap(void addr, size_t length, int prot, int flags,
int fd, off_t offset);
函数功能:把内核中的一块空间映射到进程空间中。
映射空间大小由length指定。映射空间首地址通过函数返回值接收!
形参列表:
addr:映射空间首地址。 如果传参为NULL,在进程空间中系统自动分配映射空间
length:映射空间大小。
prot:映射空间的操作权限
PROT_EXEC : 可执行
PROT_READ : 可读
PROT_WRITE : 可写
PROT_NONE : 无任何操作权限
flags:映射空间的同步方式
MAP_SHARED :实时和内核空间同步
MAP_PRIVATE :映射空间不同步
fd:要映射的对象! <是一个文件或者一个设备>
offset:对内核空间建立映射的时候,是否有偏移! <映射空间和内核空间是否有偏移>
返回值:
成功:映射空间首地址
失败:NULL
标签:显存,映射,PROT,LCD,内核,Linux,空间,应用层 来源: https://blog.51cto.com/13258379/2481405