自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(170)
  • 资源 (2)
  • 问答 (3)
  • 收藏
  • 关注

原创 【Linux】Linux 文件系统与设备文件

Ref: 《Linux设备驱动开发详解:基于最新的Linux4.0内核》中的第5章《Linux 文件系统与设备文件》基于Linux 5.10  本文结合源码和实例分析了Linux 文件系统与设备文件,主要介绍文件系统的构成和发展,以及三种虚拟文件系统debugfs procfs sysfs的使用1 在《Linux文件系统目录结构》就Linux目前的文件目录结构介绍每个目录的大致作用2 在《Linux 文件系统与设备驱动》结合文件系统中两个重要的结构体file和inode介绍了文件系统和设备

2023-05-30 15:54:20 905 1

原创 【Linux】浅析Input子系统

文章目录1. 框架1.1 数据结构1.2 evdev_handler1.3 evdev_init1.4 input_register_handler2. 应用如何打开节点并读取到事件数据2.1 evdev_fops2.2 evdev_open2.3 evdev_release2.4 evdev_read2.5 evdev_write2.6 evdev_poll2.7 evdev_fasync2.8 evdev_ioctl2.9 evdev_ioctl_compat2.10 总结3. Driver 如何注册i

2023-04-12 19:35:44 1058 2

原创 【Linux】内核同步机制之等待队列和完成量

内核同步机制之等待队列和完成量

2023-02-27 10:58:38 820 1

原创 【嵌入式Linux】嵌入式Linux驱动开发基础知识之驱动程序基石

韦东山嵌入式Linux驱动开发基础知识学习笔记 文章中大多内容来自韦东山老师的文档,还有部分个人根据自己需求补充的内容视频教程地址:https://www.bilibili.com/video/BV14f4y1Q7ti

2022-05-23 21:10:25 1414

原创 【嵌入式Linux】嵌入式Linux驱动开发基础知识之Linux中断系统简介及按键中断设备树驱动编写

【嵌入式Linux】嵌入式Linux驱动开发基础知识之Linux中断系统简介及按键中断设备树驱动编写> 韦东山嵌入式Linux驱动开发基础知识学习笔记> 文章中大多内容来自韦东山老师的文档,还有部分个人根据自己需求补充的内容>视频教程地址:https://www.bilibili.com/video/BV14f4y1Q7ti...

2022-04-24 15:36:46 2832

原创 【嵌入式Linux】嵌入式Linux驱动开发基础知识之Pinctrl子系统和GPIO子系统的使用

【嵌入式Linux】嵌入式Linux驱动开发基础知识之Pinctrl子系统和GPIO子系统的使用上一章中介绍了设备树模型,可以帮助开发者省去在内核中指定资源的步骤,本章介绍Pinctrl子系统和GPIO子系统,使用这两个子系统可帮助让驱动开发者不再需要操作繁琐的GPIO寄存器

2022-04-21 16:08:52 858

原创 【嵌入式Linux】嵌入式Linux驱动开发基础知识之按键驱动框架

【嵌入式Linux】嵌入式Linux驱动开发基础知识之按键驱动框架> 韦东山嵌入式Linux驱动开发基础知识学习笔记> 文章中大多内容来自韦东山老师的文档,还有部分个人根据自己需求补充的内容>视频教程地址:https://www.bilibili.com/video/BV14f4y1Q7ti

2022-04-19 20:37:15 693

原创 【嵌入式Linux】嵌入式Linux驱动开发基础知识之LED模板驱动程序的改造:设备树

【嵌入式Linux】嵌入式Linux驱动开发基础知识之LED模板驱动程序的改造:设备树> 韦东山嵌入式Linux驱动开发基础知识学习笔记> 文章中大多内容来自韦东山老师的文档,还有部分个人根据自己需求补充的内容>视频教程地址:https://www.bilibili.com/video/BV14f4y1Q7ti

2022-04-18 14:18:01 622

原创 【嵌入式Linux】嵌入式Linux驱动开发基础知识之设备树模型

【嵌入式Linux】嵌入式Linux驱动开发基础知识之设备树模型> 韦东山嵌入式Linux驱动开发基础知识学习笔记> 文章中大多内容来自韦东山老师的文档,还有部分个人根据自己需求补充的内容>视频教程地址:https://www.bilibili.com/video/BV14f4y1Q7ti

2022-04-16 17:55:49 1589

原创 【嵌入式Linux】嵌入式Linux驱动开发基础知识之总线设备驱动模型

【嵌入式Linux】嵌入式Linux驱动开发基础知识之总线设备驱动模型上一章介绍了分离的驱动设计思想,如果对每种类型的设备都定义一个结构体表示资源定义一个结构体表示驱动函数那就太啰嗦了,于是本章引入了总线设备驱动模型来将这些设备抽象成platform_device/platform_driver增加程序的扩展性

2022-04-13 18:42:35 696

原创 【嵌入式Linux】嵌入式Linux驱动开发基础知识之驱动设计的思想:面向对象/分层/分离

【嵌入式Linux】嵌入式Linux驱动开发基础知识之驱动设计的思想:面向对象/分层/分离上一章在驱动中引入面向对象和分层的设计思想在驱动里简单来说面向对象就是抽象一个结构体作为设备的类,然后将结构体成员作为对象而分层设计思想简单来说就是将 内核相关的操作和硬件强相关操作分离 达到内核相关操作通用,硬件相关操作个性化目的本节将介绍分离思想

2022-04-08 16:37:42 1117

原创 【嵌入式Linux】嵌入式Linux驱动开发基础知识之LED驱动框架--面向对象、分层设计思想

【嵌入式Linux】嵌入式Linux驱动开发基础知识之LED驱动框架及STM32MP157PRO单板个性化点亮LED> 韦东山嵌入式Linux驱动开发基础知识学习笔记> 文章中大多内容来自韦东山老师的文档,还有部分个人根据自己需求补充的内容>视频教程地址:https://www.bilibili.com/video/BV14f4y1Q7ti

2022-04-07 19:09:58 1984

原创 【嵌入式Linux】嵌入式Linux驱动开发基础知识之操纵GPIO点亮LED

【嵌入式Linux】嵌入式Linux驱动开发基础知识之操纵GPIO点亮LED

2022-04-05 19:11:18 3353

原创 【嵌入式Linux】嵌入式项目实战之七步从零编写带GUI的应用之UI系统、页面系统、业务系统及系统改进

韦东山项目实战之七步从零编写带GUI的应用(项目开发|论文参考|C|GUI)学习笔记文章中大多内容来自韦东山老师的文档,还有部分个人根据自己需求补充的内容嵌入式项目实战之七步从零编写带GUI的应用之UI系统、页面系统、业务系统及系统改进

2022-03-14 19:42:18 3280 3

原创 【嵌入式Linux】嵌入式项目实战之七步从零编写带GUI的应用之显示系统、输入系统、文字系统

韦东山项目实战之七步从零编写带GUI的应用(项目开发|论文参考|C|GUI)学习笔记文章中大多内容来自韦东山老师的文档,还有部分个人根据自己需求补充的内容嵌入式项目实战之七步从零编写带GUI的应用之显示系统、输入系统、文字系统

2022-03-10 15:37:20 3939

原创 【嵌入式Linux】嵌入式Linux应用开发基础知识之I2C应用编程和SMBus协议及AP3216C应用编程

韦东山嵌入式Linux应用开发基础知识学习笔记文章中大多内容来自韦东山老师的文档,还有部分个人根据自己需求补充的内容嵌入式Linux应用开发基础知识之I2C应用编程和SMBus协议及AP3216C应用编程

2022-03-02 20:52:50 2760 1

原创 【嵌入式Linux】嵌入式Linux应用开发基础知识之串口应用编程

韦东山嵌入式Linux应用开发基础知识学习笔记文章中大多内容来自韦东山老师的文档,还有部分个人根据自己需求补充的内容嵌入式Linux应用开发基础知识之串口应用编程

2022-02-28 16:26:49 1760

原创 【嵌入式Linux】嵌入式Linux应用开发基础知识之多线程编程

韦东山嵌入式Linux应用开发基础知识学习笔记嵌入式Linux应用开发基础知识之多线程编程

2022-02-24 19:33:13 1988

原创 【嵌入式Linux】嵌入式Linux应用开发基础知识之网络通信

韦东山嵌入式Linux应用开发基础知识学习笔记嵌入式Linux应用开发基础知识之网络通信

2022-02-24 10:55:22 1071

原创 【嵌入式Linux】嵌入式Linux应用开发基础知识之输入系统应用编程

韦东山嵌入式Linux应用开发基础知识学习笔记嵌入式Linux应用开发基础知识之输入系统应用编程

2022-02-22 14:49:45 1898 3

原创 【嵌入式Linux】嵌入式Linux应用开发基础知识之Framebuffer应用编程和字符汉字显示

韦东山嵌入式Linux应用开发基础知识学习笔记嵌入式Linux应用开发基础知识之Framebuffer应用编程和字符汉字显示

2022-02-18 20:23:30 1339 2

原创 【嵌入式Linux】嵌入式Linux应用开发基础知识之文件IO

韦东山嵌入式Linux应用开发基础知识学习笔记视频教程地址: https://www.bilibili.com/video/BV1kk4y117Tu

2022-02-11 18:35:19 1355

原创 【嵌入式Linux】嵌入式Linux应用开发基础知识之hello程序、GCC编译过程及选项、makefile

根据韦东山老师的视频教程及开发手册编写的个人学习笔记

2022-02-07 17:11:18 1249

原创 【Linux】Linux内核的整体架构简介

本文从介绍Linux内核的核心功能开始进而引出Linux内核从功能方面分类的整体架构,最后简单介绍了内核文件目录下各文件夹中包含文件功能。

2022-01-24 17:29:38 2306

原创 【Linux】Linux input子系统之Input event codes

本文通过Linux input子系统中的函数引出Linux input子系统中的Input event codes部分,并给出了官方参考指南链接

2022-01-20 16:01:40 3371

原创 【嵌入式Linux】STM32MP157开发板上Linux启动流程

▲启动流程按上述图片可将启动流程分为5个阶段:1、ROM Code/ROM代码基本时钟树的初始化从启动设备(大容量存储器或串行链路)加载FSBL (ROM->RAM)FSBL启动2、First Stage Boot Loader/一阶段引导加载程序完成时钟树初始化外部RAM(DDR、LpDDR)控制器初始化,SSBL从引导设备加载(大容量存储或串行链路)SSBL启动▲执行FSBL时终端输出▲加载U-Boot时终端输出3、Second Stage Boot Load.

2021-12-12 16:23:02 780

原创 【问题汇总】Ubuntu使用常见问题

虚拟机环境:VMware-workstation-full-15.1.0-13591040Ubuntu版本:ubuntu-18.04.21、Ubuntu 18.04设置1920*1080按照链接中的方案二操作之后打开设置>设备>显示>分辨率就可以找到1920*1080(16:9)选项。

2021-09-04 15:30:37 171

原创 【STM32】关于DMA控制器的介绍和使用

文章目录前言1、什么是DMA控制器2、DMA控制器的工作流程3、STM32DMA控制器的初始化流程前言  DMA控制器的使用是提升STM32数据传输效率的一个重要途径,1、什么是DMA控制器  DMA,全称为:Direct Memory Access,即直接存储器访问,DMA 传输将数据从一个地址空间复制到另外一个地址空间。当 CPU 初始化这个传输动作,传输动作本身是由DMA 控制器 来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖

2021-02-02 12:31:29 1983

翻译 【美学集】色彩之冷暖色

文章目录前言冷暖感的起源颜色红色(暖)橙色(暖)黄色(暖)绿色(冷)蓝色(冷)紫色(冷)白(中性)黑(中性)灰(中性)关于黑白灰装修颜色前言  注意:以下均为不客观发言,为学习过程,不存在百分百正确的情况。  冷暖色指色彩心理上的冷热感觉。红、橙、黄、棕等色往往给人热烈、兴奋、热情、温和的感觉,所以将其称为暖色。绿、蓝、紫等色往往给人镇静、凉爽、开阔,通透的感觉,所以将其称为冷色。色彩的冷暖感觉又被称为冷暖性。色彩的冷暖感觉是相对的,除橙色与蓝色是色彩冷暖的两个极端外,其他许多色彩的冷暖感觉都是相对

2021-01-21 11:04:32 1398

原创 【STM32】关于BOOT引脚和一键下载电路下载的一些事

文章目录前言1、BOOT0和BOOT1的作用2、一键下载电路2.1、洋桃1号开发板2.2、正点原子战舰版参考资料前言  之前在STM32的程序下载方面一直不求甚解,现在是时候回来仔细研究一下了通过本篇文章将了解到:  1、STM32程序下载的两种方式及其工作流程  2、两种ISP一键下载电路设计思路1、BOOT0和BOOT1的作用▲STM32官方参考手册 P33  其中SRAM和主闪存存储器、系统存储器的使用场景区别是显而易见。而主闪存存储器和系统存储器的使用区别就没那么明显了,这里

2021-01-16 11:16:28 8385 2

原创 【STM32】【STM32CubeMX】STM32CubeMX的使用之九:ADC

文章目录0、前言1、CubeMX配置2、软件设计  下载工程文件:  https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm32-l151-c8-t6  MCU:STM32L151C8T6-A  IDE:MDK-Keil5  固件库:STM32Cube FW_L1 V1.10.20、前言  本篇博文不再对ADC基本结构做赘述有想了解的戳这里。这里将侧重于CubeMX上的ADC配置过程及使用注意事项。1、CubeMX配置▲CubeMX

2020-11-17 20:03:50 904

原创 【STM32】【STM32CubeMX】STM32CubeMX的使用之八:低功耗模式及MCU唤醒

文章目录0、前言1、低功耗模式简介2、硬件设计3、软件设计  下载工程文件:  https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm32-l151-c8-t6  MCU:STM32L151C8T6-A  IDE:MDK-Keil5  固件库:STM32Cube FW_L1 V1.10.10、前言  关于STM32L151系列MCU的低功耗模式的介绍推荐这篇文章。1、低功耗模式简介  2、硬件设计  按键连接PC133、软件设

2020-11-16 20:20:48 1837 1

原创 【蓝桥杯单片机】IIC通讯协议与EEPROM(AT24C02)(官方驱动源码改写)

实验开发板为CT107D蓝桥官方板,编译环境为MDK5由蓝桥官方驱动改写AT24C02:AT24C02为地址可编程器件(CT107D可编程位均为0),因此可于总线上挂载多个相同的器件。最后一位为读写位(0写1读)IIC的开始和关闭时序图:开始:数据线拉高,时钟拉高,数据线拉低,使产生下降沿。 结束:数据线拉低,时钟拉高,数据线拉高,使产生上升沿。...

2020-11-09 18:32:19 2039

原创 【蓝桥杯嵌入式】【STM32】14_CT117E_EXA蓝桥杯嵌入式扩展板硬件资源一览及其驱动编写

文章目录硬件资源一览硬件资源功能3 位 7 段共阴数码管硬件资源一览1、装配 3 位 7 段共阴数码管2、装配 8 个 ADC 按键3、装配 DS18B20 温度传感器4、装配 DHT11 温湿度传感器5、装配 LIS302DL 三轴传感器  装配光敏电阻模拟量及开关量信号输出:6、模拟量输出为光敏电阻和定值电阻的分压值7、开关量信号输出为光敏电阻分压和电位器分压值后通过比较器输出的高低电平值8、装配两路模拟信号输出,为电位器与定值电阻分压。9、装配四路脉冲信号输出,其中 PWM

2020-11-09 15:56:06 1822

原创 【蓝桥杯嵌入式】【STM32】13_PWM输入捕获模式

文章目录前言1、PWM输入模式2、硬件设计3、软件设计前言  STM32的定时器输入捕获模式可以通过更改输入捕获极性实现PWM的输入捕获,但实际上STM32也包含有非常方便的PWM输入捕获模式用以测量矩形波的频率和占空比。  下载工程文件:  https://gitee.com/Joseph_Cooper/blue-bridge-embedded1、PWM输入模式▲PWM输入模式于STM32官方数据手册  简单来说就是在输入捕获的基础上对同一个端口使用两个IC进行捕获分别设置为上升沿有

2020-11-08 17:02:53 751

原创 【AD】AD20差分等长布线

文章目录原理图设置网络名设置差分对PCB原理图设置网络名  一对差分对可以从他们的名称上看出来。在原理图中进行差分对设置的第一步,就是保证这一对差分的网络名称的前缀必须是相同的,后缀则分别为_N,_P。设置差分对快捷键:P->V->FPCB...

2020-11-01 21:33:09 14570

原创 【AD】如何删除AD20右下角Title

2020-10-27 21:36:20 5270

原创 【STM32】【STM32CubeMX】STM32CubeMX的使用之七:定时器输入捕获实现超声波测距

文章目录0、前言1、硬件设计2、CubeMX配置3、软件设计  下载工程文件:  https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm32-l151-c8-t60、前言  有关STM32实现定时器输入捕获原理戳这里。1、硬件设计  硬件设计采用CS102驱动的收发一体超声波探头作为传感器,产品型号为US-116,可实现 25.5cm-350cm 的非接触测距功能,通过计算可知输出脉冲宽度大约为1.5~206ms。▲ 超声波板原理图 

2020-10-24 11:38:56 3173 15

原创 【STM32】【STM32CubeMX】STM32CubeMX的使用之六:定时器配置输出PWM,实现变色呼吸灯

文章目录0、前言1、硬件设计2、CubeMX配置3、软件设计  下载工程文件:  https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm32-l151-c8-t60、前言  有关STM32实现PWM的理论知识戳这里。1、硬件设计  核心板上的RGB_LED。  查阅数据手册可知引脚对应的定时器通道:2、CubeMX配置PWM配置为:  时基设置,设置2ms定时器溢出,即500Hz的PWM。3、软件设计  在配置占空比

2020-10-22 11:26:13 1484

原创 【STM32】【STM32CubeMX】STM32CubeMX的使用之五:定时器时基配置及其中断

文章目录0、前言1、CubeMX上的TIM2、部分源码  下载工程文件:  https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm32-l151-c8-t60、前言  关于STM32定时器的介绍在之前的文章中说过,可看这篇文章。本节实验将会实现200Ms通过USART1发送一次Hello World!。1、CubeMX上的TIM  串口配置部分可参考链接文章的2.1部分。  设置定时器中断周期为20ms。定时器时钟选择内部时钟Cloc

2020-10-22 09:23:22 990

V1.3_Temperature_Photoresistor_Infrared_Ultrasnoic_Thir_Clock.zip

矩阵键盘按键实现功能切换,S7温度S11超声波S15光敏S19红外,启用功能后需要关闭才能启用下一功能、添加了实时时钟

2020-04-10

【蓝桥杯单片机】温度显示、超声波测距、光敏D/A显示、红外接收数据显示

矩阵键盘按键实现功能切换,S7温度S11超声波S15光敏S19红外,启用功能后需要关闭才能启用下一功能

2019-05-02

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

TA关注的人

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