微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > arm驱动linux设备地址映射到用户空间

arm驱动linux设备地址映射到用户空间

时间:11-19 来源:互联网 点击:

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;
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top