Linux驱动
linux各驱动学习
Creator_Ly
微信号:Creator_Ly
从事智能家居路由器、网关相关产品
尝试记录生活工作的点点滴滴
展开
-
14-Linux gpio模拟spi
1.config配置首先是spidev,要在/dev/下面产生设备文件,需要spidev的支持CONFIG_SPI_SPIDEV=y使用的是gpio模拟spi,gpio模拟spi的时序原理是bitbang文件实现的,所以这个也需要打开,如果是在openwrt下动态加载的话就是如下两个配置CONFIG_PACKAGE_kmod-spi-bitbang=y+CONFIG_PACKAGE_kmod-spi-gpio=y如果是直接内核的话是如下两个CONFIG_SPI_BITBANG=yCONF原创 2020-11-12 11:34:57 · 2152 阅读 · 1 评论 -
13-Linux-gpio-system
对于gpio的应用其实会在很多地方,最常用的就是led和key,我们也可以使用类似单片机的写法,去直接读写寄存器来控制,没有文件的体现,但这样总感觉不够Linux,所以我们还是要使用linux已有的一些设备节点来实现。一 概述Linux内核中gpio是最简单,最常用的资源(和 interrupt ,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之间的整数标识,不能使用负数,gpio与硬件体系密切相关的,不过linux有一个框架处理gpio,.原创 2020-11-12 11:34:04 · 356 阅读 · 0 评论 -
12-Linux mmc system
Linux mmc systemMMC、SD、SDIO的技术本质是一样的(使用相同的总线规范,等等),都是从MMC规范演化而来;MMC强调的是多媒体存储(MM,MultiMedia),SD强调的是安全和数据保护(S,Secure);SDIO是从SD演化出来的,强调的是接口(IO,Input/Output),不再关注另一端的具体形态(可以是WIFI设备、Bluetooth设备、GPS等等)。先查看下MMC的驱动框架,如下:在Linux中MMC/SD卡的记忆体都当作块设备。MMC/SD设备驱动原创 2020-11-12 11:33:12 · 361 阅读 · 0 评论 -
11-Linux usb system(driver)
Linux usb system(driver)USB的应用用来用广泛了,键盘、鼠标、打印机、摄像头、网卡…而且传输的速度也越来越快,USB2.0的480MB/s,到USB3.0已经是USB2.0的十倍了。Linux中USB的内容实在是太多了,有兴趣的可以查看《Linux那些事兒之我是USB》这本书,这边对USB的驱动进行简要的说明和总结。还是先看一下框架图,如下:由图可知USB驱动的各个层次:USB主机控制器,位于/drivers/usb/host/下面,USB主机控制器接口标准有OHCI原创 2020-11-12 11:32:39 · 400 阅读 · 0 评论 -
11-Linux usb system(descriptor)
Linux usb system(descriptor)为了更好地描述USB设备的特征,USB提出了设备架构的概念。从这个角度来看,可以认为USB设备是由一些配置、接口和端点组成,即一个USB设备可以含有一个或多个配置,在每个配置中可含有一个或多个接口,在每个接口中可含有若干个端点。这个步骤一般是在设备接入主机时设备进行枚举时完成的这些单元之间的关系如下:解释说明:USB设备可以看作提供了多个串口的设备,依据USB的规范,我们将每个串口称作端点(Endpoint),要和这个端点通信,我们就要原创 2020-11-12 11:32:05 · 583 阅读 · 1 评论 -
10-Linux nand system
Linux nand system现在很多嵌入式设备都使用nand flash,特别是一些需要大容量的存储介质时,nand flash的高性价比是别的存储介质不能代替的,下面就行nand系统的简要分析,并将nand flash独有的ECC和OOB进行说明。注:有兴趣的可以先查看如何编写Linux下Nand Flash驱动这篇文章,里面对部分内容分析的很透彻。nand flash的驱动不同于i2c/spi这类总线类驱动,nand与cpu直接的传输是通过IO来进行的,所以nand的驱动只有控制器驱动,原创 2020-11-12 11:30:42 · 377 阅读 · 0 评论 -
9-Linux phy system
Linux phy systemPHY芯片为OSI的最底层-物理层(Physical Layer),通过MII与数据链路层的MAC芯片相连,对于MAC与PHY之间的一些知识可以查看Mac与Phy组成原理的简单分析,这篇文章进行熟悉。PHY与MAC整体的连接框架:PHY的硬件系统算是比较复杂的,PHY与MAC相连,MAC与CPU相通,PHY与MAC通过MII和MDIO/MDC相连,MII是走网络数据的,MDIO/MDC是用来与PHY的寄存器通讯的,对PHY进行配置。类似的SWITCH芯片一般也有两原创 2020-11-12 11:29:11 · 594 阅读 · 0 评论 -
C语言执行shell命令(system exec popen pipe)
我们在C语言里面有时候需要执行一些shell命令,或者通过shell命令获取一些返回的数据。无需返回执行结果 system/exec如果执行命令不要返回,那最常用的就是直接使用system如sysytem("reboot")可以使用exec家族的函数,失败返回-1#include <unistd.h>int execl(const char *path, cons...原创 2020-02-02 15:57:09 · 1934 阅读 · 0 评论 -
iptable
IPtables分为2部分,一部分位于内核中,用来存放规则,称为NetFilter。还有一段在用户空间中,用来定义规则,并将规则传递到内核中,这段在用户空间中的程序就叫做iptables。所以对于用户空间来说,就是按照需要生成一条条规则,然后向内核中提交,存放到NetFilter,让这些规则在数据传输与处理的过程中起作用。1 iptable命令iptable的整体命令规则如下:所有...原创 2019-01-11 11:02:31 · 541 阅读 · 0 评论 -
8-Linux spi system
Linux spi system原创 2017-03-31 13:31:32 · 1014 阅读 · 0 评论 -
7-Linux profile and inittab file
Linux profile and inittab file原创 2017-03-31 13:30:48 · 1034 阅读 · 0 评论 -
5-Linux proc system
Linux proc system原创 2017-02-10 20:43:49 · 866 阅读 · 0 评论 -
3-Linux platform system
Linux platform system原创 2017-01-03 17:07:27 · 1033 阅读 · 0 评论 -
6-Linux mtd system
Linux MTD system原创 2016-12-05 15:12:11 · 1615 阅读 · 1 评论 -
1-Linux time system
Linux time system原创 2016-12-14 16:03:22 · 1485 阅读 · 0 评论 -
4-Linux i2c system
Linux i2c system原创 2016-12-28 15:12:39 · 844 阅读 · 0 评论 -
2-Linux print system
Linux print system原创 2016-11-04 20:45:09 · 1436 阅读 · 0 评论 -
Linux ARM C语言中调用汇编函数
在系统启动移植的分析过程中的,会遇到几处C语言中调用汇编的函数,我们来一起看下。1、lookup_processor_type函数在启动分析的时候,从start_kernel -> setup_arch -> setup_processor -> lookup_processor_type /* * This provides a C-API version of __lookup_proces原创 2016-11-28 15:49:39 · 1670 阅读 · 0 评论