自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 Mplayer库的移植和应用

Mplayer是一款开源多媒体播放器,可通过源码移植到不同平台实现音视频播放。移植过程需依赖多个库文件如zlib、libpng、alsa音频库等,将解压后的文件复制到开发板的lib和bin目录即可完成。播放时可通过命令调整视频旋转、位置、尺寸及等比例缩放,并支持从模式(slave)进行灵活控制,包括音量调节、暂停、进度跳转等操作。开发者还可通过有名管道(FIFO)编程实现应用层控制,利用无名管道获取播放器输出信息。该方案提供了从基础移植到高级控制的全流程实现方法。

2025-06-30 08:52:34 716 2

原创 V4L2子系统

V4L2是Linux系统下用于视频设备控制的开源库,支持摄像头采集、视频输出等接口。

2025-06-29 15:49:17 662

原创 fb子系统控制

Linux内核中的Framebuffer子系统及其应用开发。fb子系统为显示设备提供统一操作接口,通过设备节点/dev/fbX访问。核心结构体fb_info包含设备属性和操作方法,其中fb_var_screeninfo存储可变参数(如分辨率),fb_fix_screeninfo存储固定参数(如显存地址)。应用层通过ioctl获取设备参数,使用mmap将显存映射到用户空间直接操作,提高效率。

2025-06-29 00:35:43 724

原创 设备树引入

2011年,Linux之父Linus Torvalds发现这个问题后,就通过邮件向ARM-Linux开发社区发了一封邮件,不禁的发出了一句“之后ARM Linux社区引入了设备树。为什么LinusTorvalds会爆粗口呢?平台总线模型是把驱动分成了俩个部分,一部分是device,一部分是driver,设备信息和驱动分离这个设计非常的好。device部分是描述硬件的。一般device部分的代码会放在内核源码中arch/arm/plat-xxx和arch/arm/mach-xxx下面。

2025-06-28 22:45:16 779

原创 linux触摸屏驱动移植实现

本文介绍了基于I2C总线的触摸屏驱动开发流程。主要内容包括:1)通过输入子系统上报触摸坐标点;2)使用I2C子系统与触摸芯片交互;3)中断机制处理触摸事件;4)硬件操作实现坐标读取。开发过程涉及I2C设备注册、寄存器读写、中断处理、输入子系统上报等关键技术点,并通过示例代码展示了具体实现方法,包括修改触摸屏寄存器配置、设置中断触发方式、上报坐标信息等功能。

2025-06-28 12:44:53 629

原创 IIC总线子系统

IIC子系统主要由三部分组成:1)设备驱动层负责外设驱动实现;2)核心层管理设备匹配;3)适配层实现时序控制。IIC采用开漏输出和上拉电阻设计,确保多设备共享总线时的安全性和线与功能。通信时序由主机控制,包含起始/停止条件、地址传输和数据应答机制。Linux内核IIC子系统通过i2c_adapter、i2c_client和i2c_driver等核心结构体实现设备管理,提供i2c_transfer等API进行数据传输。开发实例展示了触摸屏设备的注册流程,包括获取适配器、创建客户端设备以及驱动匹配过程。

2025-06-28 11:45:45 1016

原创 平台驱动设备模型

平台驱动模型是Linux内核用于管理嵌入式系统中非标准总线设备的机制,适用于SoC内部控制器(如GPIO、UART等)和内存映射外设。

2025-06-27 00:49:30 960

原创 Input子系统

输入子系统为输入设备(如键盘、鼠标、触摸屏等)提供统一驱动框架,简化开发流程。该系统分为设备驱动层(处理硬件操作)、核心层(协调通信)和事件处理层(生成用户接口)。开发时只需实现差异化的设备驱动层,通过input_dev结构体注册设备并上报事件(如按键状态),用户程序可通过/dev/input/下的设备节点(如eventX)读取标准化事件数据。

2025-06-26 11:44:06 714

原创 中断控制与实现

Linux系统中断处理机制及其相关技术实现。首先阐述了中断的基本概念,分析了中断工作机制和顶半部/底半部的划分。接着详细讲解了中断顶半部,针对底半部处理,重点介绍了三种实现方式:内核定时器(timer)、tasklet和工作队列(workqueue),分别分析了它们的特点、数据结构和API函数,并给出了示例代码。最后探讨了按键消抖的四种实现方案,包括中断+定时器、中断+tasklet、中断+workqueue等,比较了不同方案的优缺点。

2025-06-24 23:25:10 586

原创 GPIO-LED驱动

GPIO输出驱动点亮LED灯,分别从write接口、ioctl接口进行驱动

2025-06-23 16:51:26 919

原创 字符设备驱动模型

字符设备驱动模型,从早期字符设备驱动模型、杂项字符设备驱动模型到标准字符设备驱动模型进行学习

2025-06-22 18:02:12 654

原创 系统模块编程与实现

模块的介绍、构成以及编程实现

2025-06-20 19:56:01 871

原创 linux系统驱动的原理

linux系统驱动的演进、调度原理以及基本概念

2025-06-17 23:19:09 529

原创 搭建RK3399芯片环境

RK3399芯片的环境搭建过程,从传输方式到移植内核,全流程搭建

2025-06-17 22:48:35 775

原创 网络聊天室

网络聊天室,支持多人群聊或者个人私发

2025-06-17 18:43:46 172

原创 Shell脚本

Shell脚本是运行在Unix/Linux环境下的​​命令行解释器脚本​​,它以自动化、批处理和系统管理为核心价值,是现代IT运维和开发不可或缺的工具。

2025-06-17 17:40:14 868

原创 RFID射频识别

利用RFID(无线射频识别)技术实现卡片识别开门

2025-06-06 01:14:06 655

原创 STM32学习笔记---时钟树

对比M3与M4的时钟树

2025-05-28 18:06:29 1041

原创 make工程管理器与Makefile

make工程管理器与Makefile之间的联系与使用

2025-01-11 23:04:50 1078

原创 线程与互斥锁

同一个进程中的多个线程共享->进程的资源,所以互斥锁的主要功能是防止多个线程同时访问共享资源,从而避免数据竞争和不一致的问题。当一个线程访问共享资源时,它会持有互斥锁,其他线程需要等待该线程释放互斥锁后才能访问该资源

2025-01-11 22:36:24 799

原创 MG200电容指纹识别

MG200指纹识别模块

2025-01-06 00:33:52 17449 1

原创 网络编程

基于TCP或UDP协议,通过网络通道socket实现数据的发送与接收

2025-01-06 00:20:11 1504

原创 进程间通信

进程间通信-->管道、信号、共享内存、消息队列以及信号量

2024-12-22 22:54:04 1151

原创 进程控制相关内容

进程相关内容-定义、特性以及进程控制函数

2024-12-14 10:35:27 802

原创 BS8116电容触摸按键

BS8116触摸按键模块

2024-12-09 13:51:13 1549 2

原创 字库的烧录与使用

字库的烧录与使用

2024-12-09 13:42:14 905 4

原创 LCD屏幕

智能门锁---LCD模块

2024-12-09 13:35:57 1139

原创 语音播报(思泽语音)

语音播报模块

2024-12-09 10:20:54 698

原创 文件操作---文件IO与标准IO

文件操作---文件IO与标准IO

2024-12-07 14:53:34 957

原创 系统命令基础

系统命令的功能与用法

2024-11-30 11:50:53 1022

原创 智能锁项目

基于STM32F401RET6的智能锁设计,所要实现的功能包括密码开门、指纹开门、卡片开门以及远程开门。

2024-11-24 23:07:53 1292 4

原创 功能模块整合

各功能模块整合到架构中,最终完成项目

2024-11-24 22:30:48 521

原创 MPU6050

MPU6050传感器的使用,如何获取数据值的

2024-11-24 22:14:02 1125 2

原创 HP6心率血压传感器

HP6心率血压传感器,如何获取到心率血压数据值的

2024-11-24 21:57:10 1325 1

原创 SHT20温湿度传感器

SHT20温湿度传感器的使用,如何获取温湿度的数据的

2024-11-24 18:09:57 1439

原创 OLED屏幕

OLED的显示原理以及使用过程

2024-11-23 14:34:34 1469

原创 基本功能实现

智能手环基本功能搭建,主要有电机转动、时间显示以及按键控制

2024-11-23 10:54:29 858

原创 智能手环项目

基于STM32F411CEU6的智能手环设计,通过按键切换不同的界面能实现时间显示、温湿度显示、心率血压、计步显示等功能显示到屏幕上

2024-11-23 09:59:42 313 2

原创 STM32学习笔记---DMA

DMA学习笔记,以什么是DMA、如何配置DMA以及具体使用DMA展开学习

2024-10-19 17:07:08 1091

原创 STM32学习笔记---独立看门狗

独立看门狗学习笔记,以什么是看门狗、如何配置看门狗以及具体使用看门狗展开学习

2024-10-19 15:13:12 1545

32*32字符的模数据

32*32字符的模数据

2024-10-26

16*16字符的模数据

16*16字符的模数据

2024-10-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除