arm驱动linux设备地址映射到用户空间
unsigned int fileBufferSize;
fileBufferSize = fileStat.st_size;/*mmap回写时,字节最大大小
为fileStat.st_size,所以定义字节大fileStat.st_size*/
Tip:mmap回写时,回写字节最大大小为fileStat.st_size,所以定义字节大fileStat.st_size。(这个我没有根据,只是实验结果是这样)
mapChar = mmap(NULL,fileBufferSize,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);//获得映射区域地址MAP_SHARED更改mapchar后改变fd文件内容
/*****************/
/********打印映射区域内容;和mapChar*********/
printfDivLine("打印映射区域内容;和mapChar");
printfMapChar("mapChar", mapChar);
/**************/
/*******通过mapChar将数据写入映射区域*******/
strcpy(mapChar, "writeSrc,writeSrc,writeSrc,writeSrc,writeSrc,writeSrc,");//写入映射区域
printfDivLine("通过mapChar将数据写入映射区域");
printfMapChar("mapChar", mapChar);
/**********checkChar验证*********/
checkChar = mmap(NULL,fileBufferSize,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);//获得映射区域地址
close(fd);//不使用fd时就可以close
printfDivLine("checkChar验证");
printfMapChar("checkChar", checkChar);
munmap(mapChar, fileBufferSize);//释放mapchar的映射,此时文件的映射在内存内然存在
munmap(checkChar, fileBufferSize);
return 0;
}
arm驱动linux设备地址映射用户空 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)