- 博客(19)
- 收藏
- 关注
原创 sen log处理
echo 输入文件不存在: %input_file_path%:: 将提取的内容添加到输出文件。:: 查找0x34并提取之后的内容。:: 去除前后空白字符。:: 去除最后一个逗号。:: 替换多余的逗号。:: 读取文件并提取符合条件的内容。:: 检查输入文件是否存在。:: 设置输入文件路径。:: 设置输出文件路径。
2024-11-25 23:01:48
330
原创 虚拟块设备驱动
make_request_fn :优化目标对象的请求队列中的各个请求,将bio对象中的相关数据转存到请求对象req中,然后将其作为参数传递给请求处理的回调函数request_fn。用来表示一个实际磁盘设备(分区、未分区)的抽象,gendisk将直接被块设备驱动序分配及操控,磁盘的一个独立分区被看做是一个设备,对应/dev目录下的一个设备节点。此时的make_request_fn是驱动程序自己完成的而非系统提供,驱动程序实现的make_request_fn直接面对bio,而不是请求对象req。
2022-09-14 09:42:16
555
原创 STM32MP157 | 虚拟网卡设备驱动
网络设备是Linux的第三类标准设备,没有对应的设备文件,使用内部设备名访问。网络设备及其驱动属于整个TCP/IP协议层的一部分,实现遵循TCP/IP协议栈的要求。网络设备异步接收外部的数据包,主动请求将硬件收到的数据包交给内核。
2022-09-13 18:07:06
1081
原创 v4l2应用程序接口
V4L2(Video For Linux Two)是内核提供给应用程序访问音、视频驱动的统一接口。V412可以支持多种设备,它可以有以下几种接口:- 视频采集接口(video capture interface):这种应用的设备可以是高频头或者摄像头,V4L2的最初设计就是应用于这种功能的。- 视频输出接口(video output interface):可以驱动计算机的外围视频图像设备,如可以输出电视信号格式的设备。- 直接传输视频接口(video overlay interface):
2022-09-13 10:10:28
2871
原创 STM32MP157 | 使用输入(input)子系统上报按键事件
输入子系统用于实现Linux输入设备驱动的一种框架。Linux内核将其中固定的部分放入内核中,驱动开发只需要实现其中不固定的部分。输入子系统对应的设备文件是固定名称/devlinputlevent0…1…2.….输入子系统对应的设备文件(驱动)的主设备号是13。
2022-09-09 20:47:50
609
原创 STM32MP157 | 使用 Linux 内核定时器消抖
(1)什么是定时器(timer)定时器实际上就是Soc当中的一个内部外设。(1)定时器可以让SoC在执行主程序的同时,可以(通过定时器)具有计时功能,到了一定时间(计时结束)后,定时器会产生中断提醒CPU,CPU会去处理中断并执行定时器的ISR。从而去执行预先设定好的事件。(2)定时器就好像是CPU的一个秘书一样,这个秘书专门管帮CPU来计时,并到时间后提醒CPU要做某件事情。
2022-09-09 16:12:23
341
原创 STM32MP157 | 基于 Linux 中断子系统的按键检测
中断是指程序执行过程中,遇到急需处理的事件时,暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完成后再返回原程序被中断处或调度其他程序执行的过程,中断是由外部硬件设备产生,又称为外部中断。
2022-09-08 21:08:10
357
原创 STM32MP157 | 基于 Linux SPI 驱动M74HC595数码管显示
M74HC595器件是采用硅栅C2MOS技术制作的具有输出锁存器(3态)的高速CMOS 8位移寄存器。该设备包含一个8位串行进、并行出移位寄存器,它提供一个8位d型存储寄存器。存储寄存器有8个3状态输出。为移位寄存器和存储寄存器都提供了单独的时钟。移位寄存器有直接覆盖清除,串行输入和串行输出(标准)引脚级联。移位寄存器和存储寄存器都使用正边缘触发时钟。如果两个时钟连接在一起,移位寄存器状态将始终是存储寄存器前面的一个时钟脉冲。
2022-09-08 15:51:34
1506
原创 STM32MP157 | SPI总线
1> SPI接口是Motorola 首先提出的全双工同步串行外围接口,2> 采用主从模式(Master Slave)架构, 支持多slave模式应用,一般仅支持单Master。3> 时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后4> SPI接口有2根单向数据线,为全双工通信,目前应用中的数据速率可达几Mbps的水平。5> SPI总线被广泛地使用在等设备与MCU间,要求通讯速率较高的场合。
2022-09-07 22:43:52
750
原创 STM32MP157 |UART,RS232,RS485总线的区别
TTL指双极型三极管逻辑电路,市面上很多“USB转TTL”模块,实际上是“USB转TTL电平的串口”模块。这种信号0对应0V,1对应3.3V或者5V。与单片机、SOC的IO电平兼容。不过实际也不一定是TTL电平,因为现在大部分数字逻辑都是CMOS工艺做的,只是沿用了TTL的说法。我们进行串口通信的时候 从单片机直接出来的基本是都 是 TTL 电平。TTL,RS232,RS485都是一种逻辑电平的表示方式TTL电平:全双工(逻辑1: 2.4V–5V 逻辑0: 0V–0.5V)
2022-09-07 21:51:36
1283
原创 STM32MP157 | 基于 Linux I2C 驱动读ap3216c传感器
AP3216C是一个集成的ALS和PS模块,包括一个数字环境光传感器[ALS],一个接近传感器[PS]和一个红外LED在单个封装中。
2022-09-07 21:15:27
965
原创 STM32MP157 | 基于 Linux I2C 驱动读取si7006-A20温湿度传感器
首先设置I2C1引脚的复用功能,找到 pinctrl_i2c1 节点:vi stm32mp15-pinctrl.dtsistm32mp151.dtsi3. 根据内核帮助文档编写自己的设备树/home/linux/linux-5.10.61/Documentation/devicetree/bindings/i2c/4. 重新编译设备树make dtbs重启开发板安装驱动写个Makefile编译一下:2. 再写字符设备驱动框架3.封装i2c操作代码(1) 全局变量中添加 i2c_clien
2022-09-07 16:35:09
1102
原创 STM32MP157A | I2C总线
1> I2C总线是PHLIPS公司在八十年代初推出的一种同步串行的半双工总线,主要用于连接整体电路。 连接整体电路 :同一个PCB板之上,两个芯片直接使用IIC总线进行连接核通信2> I2C总线为两线制,只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。3> I2C硬件结构简单,接口连接方便,成本较低。因此在各个领域得到了广泛的应用。 I2C总线的使用场合:数字温湿度传感器,脉搏传感器,环境光接近传感器,触摸屏,EEPROM,6轴加速度传感器,磁力计。
2022-09-06 22:11:20
461
原创 基于epoll实现的并发员工信息管理系统
项目名称:员工信息管理系统;开发环境:Ubuntu18.04,vscode运行平台:x86/Arm开发语言: C语言项目需求:1.服务端支持客户端远程登录(进程间通讯 套接字TCP/UDP )2.支持多用户同时访问(服务器并发(多进程、多线程、IO多路复用))3.服务端管理所有员工数据信息(用户分级管理)管理员可以对所有员工的数据信息进行增、删、改、查普通用户只可以查询自身信息数据 且 可以修改除薪资和职务以外的数据数据管理 sqlite3
2022-09-02 15:15:05
452
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人