Linux-Android Driver
zhuxp1
各种打杂,各种学习
展开
-
DEVICE_ATTR的使用
DEVICE_ATTR的使用使用DEVICE_ATTR,可以在sys fs中添加“文件”,通过修改该文件内容,可以实现在运行过程中动态控制device的目的。类似的还有DRIVER_ATTR,BUS_ATTR,CLASS_ATTR。这几个东东的区别就是,DEVICE_ATTR对应的文件在/sys/devices/目录中对应的device下面。而其他几个分别在driver,bus,class中对转载 2016-05-27 18:00:04 · 5274 阅读 · 0 评论 -
Linux USB驱动框架分析
初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了。好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发。但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催货。当然,还会顺带提一下其他的驱动程序写法。 事实上,Linux的设备驱动都遵循一个惯例——表征驱动程序(用dr转载 2016-06-03 18:28:23 · 1497 阅读 · 0 评论 -
Linux下的硬件驱动——USB设备(上)
USB设备越来越多,而Linux在硬件配置上仍然没有做到完全即插即用,对于Linux怎样配置和使用他们,也越来越成为困扰我们的一大问题。本文着力从Linux系统下设备驱动的架构,去阐述怎样去使用和配置以及怎样编制USB设备驱动。对于一般用户,可以使我们明晰 Linux设备驱动方式,为更好地配置和使用USB设备提供了方便;而对于希望开发Linux系统下USB设备驱动的程序员,提供了初步学习USB驱动转载 2016-06-03 18:31:34 · 718 阅读 · 0 评论 -
Linux下的硬件驱动——USB设备(下)
USB骨架程序(usb-skeleton),是USB驱动程序的基础,通过对它源码的学习和理解,可以使我们迅速地了解USB驱动架构,迅速地开发我们自己的USB硬件的驱动。前言在上篇《 Linux下的硬件驱动--USB设备(上)(驱动配制部分)》中,我们知道了在Linux下如何去使用一些最常见的USB设备。但对于做系统设计的程序员来说,这是远远不够的,我们还需要具有驱动程序的阅读、修改和开发能转载 2016-06-03 18:32:49 · 1638 阅读 · 0 评论 -
USB-SERIAL / PL2303 工作流程
Usb_serial_proble根据设备的端点信息,创建read_urb, init_urb, write_urb, 并注册相应的回调函数( pl2303_read_bulk_callback,pl2303_write_bulk_callback_urb, pl2303_read_init_callback. ) 和transmit buffer Usb_serial_open 会间转载 2016-07-02 19:45:42 · 1152 阅读 · 0 评论 -
Poll机制分析
最近看了一下Linux Poll 机制的实现,看了韦老师的分析文档,总结如下: int poll(struct pollfd *fds,nfds_t nfds, int timeout);总的来说,Poll机制会判断fds中的文件是否可读,如果可读则会立即返回,返回的值就是可读fd的数量,如果不可读,那么就进程就会休眠timeout这么长的时间,然后再来判断是否有文件可读,如果有,返回fd转载 2016-07-27 13:39:08 · 425 阅读 · 0 评论 -
poll和select机制
使用非阻塞I/O的应用程序也经常使用poll、selec和epoll系统调用。poll、selec和epoll的功能,本质上是一样的:都允许进程决定是否可以对一个和多个打开文件做非阻塞操作的读取和写入。这些调用也会阻塞进程,直到给定的文件描述符集合中的任何一个可读取或写入。因此,他们常常用于那些要使用多个输入和输出流而又不会阻塞阻于其中任何一个流的应用程序程序中。同一功能之所以要多个独立函数提供,转载 2016-07-27 14:18:27 · 287 阅读 · 0 评论