driver
文章平均质量分 81
疯子°没有欲望
一起探索,一起学习,一起进步!
展开
-
linux系统之驱动与FDT
【摘要】【分析一】FDT与TAG【分析二】boot中对FDT的支持【分析三】Uboot下调试FDT【分析四】kernel中对FDT的支持【分析五】FDT兼容TAG【总结】【附录】注意:请使用谷歌浏览器阅读(IE浏览器排版混乱)【摘...转载 2020-02-23 20:24:29 · 1304 阅读 · 1 评论 -
SPI、I2C、UART的区别和联系
SPI、IIC、UART区别第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Uni...转载 2018-12-08 20:21:23 · 924 阅读 · 0 评论 -
platform总线、设备、驱动
platform虚拟设备总线,来挂接一些内部资源;设备:struct platform_device dev; 驱动:struct platform_driver dri;platform虚拟设备总线编写设备驱动流程图:设备:platform_devicestruct platform_device {const char * name;/*设备的名字,与驱动的...原创 2018-02-01 15:01:20 · 498 阅读 · 0 评论 -
Virtualmen字符设备驱动代码-----虚拟磁盘设备
驱动程序:Virtualmen.c #include <linux/init.h>#include <linux/module.h>#include <linux/types.h>#include <linux/fs.h>#include <linux/errno.h>#include <linux/cdev.h...原创 2018-01-26 15:40:57 · 478 阅读 · 0 评论 -
emmc、Nand flash、Nor flash之间的区别
一、定义及区别emmc:全称为embeded MultiMedia Card,是一种嵌入式非易失性存储器系统,由Nand flash和Nand flash控制器组成,以BGA方式封装在一款chip上。Nand flash:一种存储数据介质;若要读取其中的数据,需要外接的主控电路。Nor flash:也是一种存储介质;它的存储空间一般比较小,但它可以不用初始化,可以在其内部运行程序,一般...转载 2018-12-18 22:30:58 · 49079 阅读 · 0 评论 -
linux pinctrl 配置
Linux内核中的pinctrl子系统应用实例主要函数struct pinctrl *devm_pinctrl_get(struct device *dev) pinctrl_lookup_state //寻找一个pin的配置 pinctrl_select_state // 设置选择一个pin的配置由于近期在做一...转载 2019-01-14 13:44:07 · 987 阅读 · 0 评论 -
Linux 驱动下创建设备节点的方式
最近在学习Android下的LCD模块,在编写新需求时,要求底层提供节点给上层调用,这里我总结的三种Linux下如何创建设备节点的方法,而创建设备节点调用的函数都是Linux内核里面提供的函数接口,我们只需要调用这些函数接口去创建节点即可。1. /sys/class/下面某个目录下创建hello这个节点,可以通过调用以下函数:示例:static DEVICE_ATTR(hello, S_...原创 2019-02-03 20:04:37 · 4560 阅读 · 0 评论 -
Linux设备模型——设备驱动模型和sysfs文件系统解读
本文将对Linux系统中的sysfs进行简单的分析,要分析sysfs就必须分析内核的driver-model(驱动模型),两者是紧密联系的。在分析过程中,本文将以platform总线和spi主控制器的platform驱动为例来进行讲解。其实,platform机制是基于driver-model的,通过本文,也会对platform机制有个简单的...转载 2019-02-03 20:07:08 · 625 阅读 · 0 评论 -
SPI总线 通俗易懂讲解
转自:http://bbs.mydigit.cn/read.php?tid=726343SPI总线 MOTOROLA公司的SPI总线的基本信号线为3根传输线,即SI、SO、SCK。传输的速率由时钟信号SCK决定,SI为数据输入、SO为数据输出。采用SPI总线的系统如图8-27所示,它包含了一个主片和多个从片,主片通过发出片选信号-CS来控制对哪个从片进行通信,当某个从片的-CS信号有效时,能通过...转载 2018-05-21 15:31:12 · 30886 阅读 · 3 评论 -
linux系统下的/etc/init.d文件夹
一、简单说明 /etc/init.d 是 /etc/rc.d/init.d 的软链接(soft link)。可以通过 ll 命令查看。ls -ld /etc/init.dlrwxrwxrwx. 1 root root 11 Aug 30 2015 /etc/init.d -> rc.d/init.d 都是用来放服务脚本的,当Linux启动时,会寻找这些目录中的服务转载 2018-03-09 09:57:08 · 5477 阅读 · 0 评论 -
Fs4412中断处理和编程流程
中断处理:1.中断:在处理器中,中断是一个过程,即CPU正在执行程序过程中,遇到外部或内部紧急事件需要处理,暂时中止当前程序执行转而去为事件服务,待服务完毕,再返回到暂停处(断点)继续执行原来的程序。为事件独舞的程序称之为中断服务程序。2.中断的分类(硬中断和软中断,内部中断和外部中断) 中断的分为:硬件中断(包括:内部中断和外部中断);软件中断 1原创 2017-10-21 11:14:15 · 979 阅读 · 0 评论 -
根文件系统的制作
根文件系统的制作:在制作根文件的时候,首先我们要在虚拟机上解压一个busybox安装包,来制作文件系统下bin和sbin文件夹下的文件,这文件不能拷贝过来,因为我们这个文件要在arm开发板上使用,使用busybox来制作这些文件,为我们节省了好多时间。步骤:1.配置源码: 输入命令:make menuconfig 然后配置一下东西,配置好就编译,输入命令:make2原创 2017-10-29 09:58:54 · 735 阅读 · 0 评论 -
蜂鸣器驱动代码
驱动程序:beep_drv.c[cpp] view plain copy#include #include #include #include static int beep_major = 0; static struct class *pClass = NULL; module_para原创 2017-11-09 13:08:53 · 9654 阅读 · 1 评论 -
I2C总线
I2C总线:有两根线,一根SCL线,一根SDA线。、1.总线上数据的有效性 IIC总线是以串行方式传输数据,从数据字节的最高位开始传送,每一个数据位在SCL上都有一个时钟脉冲相对应。 在时钟线高电平期间数据线上必须保持稳定 的逻辑电平状态,高电平为数据1,低电平为数据0。 只有在时钟线为低电平时,才允许数据线上的电平状态原创 2017-11-12 10:09:03 · 781 阅读 · 0 评论 -
ARM开发板上的usb驱动移植及U盘挂载
基于zynq7000芯片的移植:USB驱动移植:1.在设备树文件中加入USB设备的信息;(每一款的板子不一样,你可以看这个内容和你板子上规范对比去写)ps7_usb1: usb@e0003000 {clocks = ;compatible = "xlnx,ps7-usb-1.00.a", "xlnx,zynq-usb-1.00.a";dr_mode = "host"原创 2017-12-26 08:26:33 · 5831 阅读 · 2 评论 -
4G模块AT命令调试发送、读取、删除短信
哇,第一次弄这个4G模块,花了一个星期,终于把这个调好了,中间遇到好多问题,这里就不说了,直接总结后发送给你们参考一下:一、kernel配置DeviceDrivers---→USBsupport---→USB SerialConverter support--→[*]USBGeneric Serial Driver USBdriver for GSM原创 2018-01-13 15:17:18 · 27332 阅读 · 6 评论 -
Linux的USB-Serial驱动(从系统初始化到生成tty设备的全过程)
真正做完了USB驱动,看了《Linux那些事》之后,才知道Linux的USB host驱动有多复杂。我做的还只是USB驱动中的一小部分USB转串口。而且还只是读代码和做小的改动,真正写这些的都是天才。 有关USB驱动的部分在我会在别的文章中逐步的介绍,这里介绍的是从Linux内核初始化到USB设备插入USB口到虚拟出tty设备的过程。先上一个原创的图,画的还挺丑的,不过应该能把过程说转载 2018-01-04 17:29:02 · 6917 阅读 · 2 评论 -
linux系统移植(FS4412开发板)
Linux系统移植主要由4大部分组成:1.交叉编译器的安装;2.u-boot的移植;3.kernel的编译与移植;4.根文件系统的制作与移植;一.交叉编译器的安装为什么要安装交叉编译器?速度:开发板的编译速度比较慢,而在虚拟机上编译速度快,节省时间;空间:编译一个文件时,需要消耗很多资源,而开发板的内存空间比较小,方便:在Linux系统下编译一个文件需要原创 2017-10-27 09:47:39 · 4178 阅读 · 0 评论