微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 玩转Linux设备驱动你需要弄懂这些问题

玩转Linux设备驱动你需要弄懂这些问题

时间:05-15 来源:互联网 点击:

序的区别

应用程序以main开始

驱动程序没有main,它以一个模块初始化函数作为入口

应用程序从头到尾执行一个任务

驱动程序完成初始化之后不再运行,等待系统调用

应用程序可以使用glibc等标准C函数库

驱动程序不能使用标准C库

  五、用户态与内核态的区分

驱动程序是内核的一部分,工作在内核态

应用程序工作在用户态

数据空间访问问题

无法通过指针直接将二者的数据地址进行传递

系统提供一系列函数帮助完成数据空间转换

get_user

put_user

copy_from_user

copy_to_user

  六、Linux驱动程序功能

对设备初始化和释放资源

把数据从内核传送到硬件和从硬件读取数据

读取应用程序传送给设备文件的数据和回送应用程序请求的数据

检测和处理设备出现的错误(底层协议)

用于区分具体设备的实例

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

网站地图

Top