随笔分类 -  linux驱动

摘要:在Linux中,modprobe和insmod都可以用来加载module,不过现在一般都推荐使用modprobe而不是insmod了。 modprobe和insmod的区别是什么呢? 1.modprobe可以解决load module时的依赖关系,比如load moudleA就必须先load mou 阅读全文
posted @ 2023-04-25 12:09 轻轻的吻 阅读(292) 评论(0) 推荐(0) 编辑
摘要:kernel_power_off(); kernel_halt(); orderly_poweroff(true); //有时关不掉,原因待查 阅读全文
posted @ 2023-04-25 09:35 轻轻的吻 阅读(126) 评论(0) 推荐(0) 编辑
摘要:参考链接:https://zhuanlan.zhihu.com/p/558543523 queue_delayed_work 跟schedule_delayed_work 类似, 区别: schedule_delayed_work 是在系统默认的工作队列上执行一个work, queue_delaye 阅读全文
posted @ 2023-04-24 16:30 轻轻的吻 阅读(581) 评论(0) 推荐(0) 编辑
摘要:在使用requeset_threaded_irq()申请中断线程的时候,发生中断后需要先执行上半部处理函数primary_handler和下半部处理函数buttom_handler,默认primary_handler为NULL,这时IRQF_ONESHOT标识不可少,否则中断会申请失败 上半部中断处 阅读全文
posted @ 2023-01-29 15:12 轻轻的吻 阅读(1145) 评论(0) 推荐(1) 编辑
摘要:exec族函数介绍 阅读全文
posted @ 2022-04-17 11:11 轻轻的吻 阅读(18) 评论(0) 推荐(0) 编辑
摘要:阻塞与非阻塞访问、poll函数提供了较好的解决设备访问的机制,但是如果有了异步通知,整套机制则更加完整了。 异步通知的意思是:一旦设备就绪,则主动通知应用程序,这样应用程序根本就不需要查询设备状态,这一点非常类似于硬件上“中断”的概念,比较准确的称谓是“信号驱动的异步I/O”。信号是在软件层次上对中 阅读全文
posted @ 2022-04-14 17:23 轻轻的吻 阅读(1293) 评论(0) 推荐(1) 编辑
摘要:1、ADC转换时怎么转换的,步骤是什么? ADC的分辨率指的是模数转换器所能表示的最大数是多少,即ADC的位数,如果ADC是10位ADC,那么分辨率是2的10次方,即1024的分辨率,如果模拟量是温度,测量范围是0~100度,那么可以把100度分成1024份,每一份你都能感知,当温度有100/102 阅读全文
posted @ 2022-03-05 10:22 轻轻的吻 阅读(12) 评论(0) 推荐(0) 编辑
摘要:当有大量数据的时候,我们不能存储所有的数据,那么计算机处理数据的时候,只能先处理先来的,那么处理完后呢,就会把数据释放掉,再处理下一个。那么,已经处理的数据的内存就会被浪费掉。因为后来的数据只能往后排队,如过要将剩余的数据都往前移动一次,那么效率就会低下了,肯定不现实,所以,环形队列就出现了。 1、 阅读全文
posted @ 2022-02-16 10:17 轻轻的吻 阅读(1088) 评论(0) 推荐(0) 编辑
摘要:串口一般有两种方式:查询和中断;STM32还支持第三种DMA方式。 1、查询: 串口程序不断地循环查询标志,看看当前有没有数据要它传送或接收。如果有的话进行相应的写操作和读操作进行传送或接收数据。 特点: 查询方式的效率是比较低的,并且由于STM32的UART硬件上没有FIFO,如果程序功能比较多, 阅读全文
posted @ 2022-02-16 10:02 轻轻的吻 阅读(1447) 评论(0) 推荐(0) 编辑
摘要:一、前言 在linux中,serial也对应着终端你,通常被称为串口终端。在shell上,我们看到得/dev/ttyS*就是串口终端所对应的设备节点。 uart(Universal Asynchronous Receicer and transmitter)即为“通用异步收发器”。它是串口设备驱动的 阅读全文
posted @ 2022-01-27 15:55 轻轻的吻 阅读(893) 评论(0) 推荐(0) 编辑
摘要:一、物理地址空间是什么 理解虚拟地址空间还得从物理地址空间开始说起。我们知道内存就像一个数组,每个存储单元被分配了一个地址,这个地址就是物理地址,所有物理地址构成的集合就是物理地址空间。物理地址也就是真实的地址,对应真实的那个内存条。 如果CPU使用物理地址向内存寻址的话,就是下面这样,这条指令中的 阅读全文
posted @ 2022-01-24 13:52 轻轻的吻 阅读(329) 评论(0) 推荐(0) 编辑
摘要:一、USB是什么 USB,通用串行总线,是一种计算机与外围设备进行数据交互的通信协议。 任何东西的出现都是有理可循的,在以前计算机刚兴起的时候,要连接一个新的设备,需要断电关闭计算机,连接好设备,配置好硬件,再上电运行,这个过程相当费时费力,为了能拥有随意接入设备这种热拔插特性,USB总线协议应运而 阅读全文
posted @ 2022-01-21 17:52 轻轻的吻 阅读(3062) 评论(0) 推荐(0) 编辑
摘要:一、概述 通用异步收发传输器,通常称为UART,是一种异步收发传输器。将数据由串口通信与并行通信件做传输转换,作为并行输入称为串行输出的芯片。 一种通用串行数据总线,用于异步通信。 总线双向通信,可以实现全双工传输。 二、协议介绍 UART作为异步串口通信协议的一种,工作原理是将传输数据的每一个字符 阅读全文
posted @ 2022-01-21 15:15 轻轻的吻 阅读(404) 评论(0) 推荐(0) 编辑
摘要:一、简介 设备树定义是保留着存在于系统中的设备信息,当机器引导时,OS通过使用驱动程序和其他组件获得的信息建立此树,并且当添加或删除设备时更新此树。 设备树保留着存在于系统中的设备信息。当机器引导时,OS通过使用驱动程序和其他组件获得的信息建立此树,并且当添加或删除设备时更新此树。 设备树是分级的, 阅读全文
posted @ 2022-01-20 19:04 轻轻的吻 阅读(1193) 评论(0) 推荐(0) 编辑
摘要:一、uboot是用来干什么的,有什么作用? uboot 属于bootloader的一种,是用来引导启动内核的,它的最终目的就是,从flash中读出内核,放到内存中,启动内核。所以,由上面描述的,就知道,UBOOT需要具有读写flash的能力。 二、uboot是怎样引导启动内核的? uboot刚开始被 阅读全文
posted @ 2022-01-19 17:49 轻轻的吻 阅读(710) 评论(0) 推荐(0) 编辑
摘要:一、spi驱动框架简介 spi核心层 提供spi控制器驱动和设备驱动的注册方法、注销方法、spi通信硬件无关接口 spi主机驱动 主要包含spi硬件体系结构中适配器(spi控制器)的控制,用于产生spi读写时序。 spi设备驱动 通过spi主机驱动与CPU交换数据。 二、驱动源码分析 1、spide 阅读全文
posted @ 2022-01-16 17:10 轻轻的吻 阅读(1673) 评论(0) 推荐(0) 编辑
摘要:一、概述 I2C (Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,一个i2C总线上可以挂载多个从设备,多个设备同时使用总线时,怎么防止数据冲突,这就需要i2c的总线仲裁机制。 二、i2c总线仲裁机制 1、I2C总线上 阅读全文
posted @ 2022-01-09 17:12 轻轻的吻 阅读(3225) 评论(0) 推荐(0) 编辑
摘要:一、IIC驱动框架简介 1、IIC物理总线 SCL:时钟线,数据收发同步。 SDL:数据线,具体数据 支持一主多从,各设备地址独立,标准模式传输速率为100kbit/s,快速模式为400kbit/s 2、常见IIC设备 EEPROM 触摸芯片 温湿度传感器 mpu6050 3、框架图 I2C核心 提 阅读全文
posted @ 2022-01-09 10:38 轻轻的吻 阅读(1401) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示