🚀返回专栏总目录
文章目录
- 一、用户空间和内核空间数据交换
- 二、实验驱动代码
- 三、应用测试代码
沉淀、分享、成长,让自己和他人都能有所收获!😄
一、用户空间和内核空间数据交换
内核空间和用户空间的内存是不能互相访问的。但是很多应用程序都需要和内核进行数据的交换,例如应用程序使用 read 函数从驱动中读取数据,使用 write 函数向驱动中写数据,上述功能就需要使用 copy_from_user 和 copy_to_user 俩个函数来完成。copy_from_user 函数是将
用户空间的数据拷贝到内核空间。copy_to_user 函数是将内核空间的数据拷贝到用户空间。
这俩个函数定义在了 kernel/include/linux/uaccess.h
文件下,如下所示:
- copy_to_user