嵌入式Linux学习篇:
内存映射
内存映射:将用户空间的一段内存区域映射到内核空间,映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,内核空间对这段区域的修改也直接反映用户空间,这样即提高的效率。
mmap函数的使用
gec@ubuntu:~$ man 2 mmap
头文件:
#include <sys/mman.h>
函数原型:
void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);
返回值:用户空间中得到的显存的首地址。
形参一:
void *addr ---- 驱动程序中,显存的地址。可以设置为NULL,自动找到显存的地址。
形参二:
size_t length ---- 映射的内存空间的大小
形参三:
int prot ---- 映射后内存的访问方式
提供值:
PROT_READ Pages may be read. 可读
PROT_WRITE Pages may be written. 可写
形参四:
int flags ----一般为MAP_SHARED&#x