自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux系统编程学习笔记(三):线程同步之条件变量

Linux系统编程

2023-11-05 23:20:35 87

原创 Linux系统编程学习笔记(二)线程同步之互斥量

Linux系统编程

2023-10-28 20:51:33 103 1

原创 Linux系统编程学习笔记(一)线程同步之竞争

Linux系统编程

2023-10-28 17:06:12 102 1

原创 git 使用

git 操作

2022-08-10 17:25:30 993 1

原创 Linux驱动开发学习笔记-驱动开发基础知识

《原子Linux开发》1. 字符设备开发基础知识:1)字符设备:就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。 比如常见的点灯,按键,IIC,SPI,LCD等都是字符设备。2)Linux中一切皆文件,驱动加载成功后会在“/dev”目录下生成一个相应的文件,应用程序通过对这个名为“/dev/xxx”(xxx是具体驱动文件名)进行 相应操作即可实现对硬件的操作。3)应用程序运行在用户空间,驱动运行于内核空间,用户空间不能直接对内核进行操作,因此必须使用“系统调用”的方式

2022-06-02 17:37:38 1381

原创 Linux驱动开发学习笔记-设备树

1、设备树1) 将描述板级硬件信息的内容都从 Linux 内中分离开来,用一个专属的文件格式来描述, 这个专属的文件就叫做设备树,文件扩展名为.dts。 一个 SOC 可以作出很多不同的板子,这些不同的板子肯定是有共同的信息, 将这些共同的信息提取出来作为一个通用的文件,其他的.dts 文件直接引用这个通用文件即可, 这个通用文件就是.dtsi 文件,类似于 C 语言中的头文件。 .dts 描述板级信息(也就是开发板上有哪些 IIC 设备、SPI 设备等), .d

2022-06-02 17:36:43 486

原创 Linux驱动开发学习笔记-块设备驱动

块设备是针对存储设备的,比如 SD 卡、EMMC、NAND Flash、Nor Flash、SPI Flash、机械硬盘、固态硬盘等。块设备驱动相比字符设备驱动的主要区别如下:①块设备只能以块为单位进行读写访问,块是 linux 虚拟文件系统(VFS)基本的数据传输单位。 字符设备是以字节为单位进行数据传输的,不需要缓冲。②块设备在结构上是可以进行随机访问的,对于这些设备的读写都是按块进行的,块设备使用缓冲区来暂时存放数据, 等到条件成熟以后在一次性将缓冲区中的数据写入块设备

2022-06-02 17:35:38 587

原创 Linux驱动开发学习笔记-电容触摸屏驱动

电容触摸屏驱动其实是以下几种 linux 驱动框架的组合:① IIC 设备驱动,因为电容触摸 IC 基本都是 IIC 接口的,因此大框架就是 IIC 设备驱动。② 通过中断引脚(INT)向 linux 内核上报触摸信息,因此需要用到 linux 中断驱动框架。坐标的上报在中断服务函数中完成。③ 触摸屏的坐标信息、屏幕按下和抬起信息都属于 linux 的 input 子系统,因此向 linux 内核上报触摸屏坐标信息就得使用 input 子系统。1. 多点触摸(MT)协议详解

2022-06-02 17:34:53 1097

原创 Linux驱动开发学习笔记-UART设备驱动

同 I2C、SPI 一样,Linux 也提供了串口驱动框架,我们只需要按照相应的串口框架编写驱动程序即可。串口驱动没有什么主机端和设备端之分,就只有一个串口驱动。真正要做的就是在设备树中添加所要使用的串口节点信息。当系统启动以后串口驱动和设备匹配成功,相应的串口就会被驱动起来,生成/dev/ttymxcX(X=0….n)文件。1. Linux 下 UART 驱动框架 1).uart_driver 注册与注销 uart_driver 结构体表示 UART 驱动,ua

2022-06-02 17:33:57 460

原创 Linux驱动开发学习笔记-SPI设备驱动

SPI 驱动框架和 I2C 很类似,都分为主机控制器驱动和设备驱动,主机控制器也就是 SOC的 SPI 控制器接口。1. SPI 主机驱动 Linux 内核使用 spi_master 表示 SPI 主机驱动,spi_master 是个结构体,定义在 include/linux/spi/spi.h 中。 struct spi_master { struct device dev; struct list_head list; ...... s16

2022-06-02 17:31:48 1364

原创 Linux驱动开发学习笔记-I2C设备驱动

Linux内核将 I2C 驱动分为两部分: ①I2C 总线驱动,I2C 总线驱动就是 SOC 的 I2C 控制器驱动,也叫做 I2C 适配器驱动。 ②I2C 设备驱动,I2C 设备驱动就是针对具体的 I2C 设备而编写的驱动。1. I2C总线驱动: 1). I2C 总线驱动重点是 I2C 适配器(也就是 SOC 的 I2C 接口控制器)驱动,要用到两个重要的数据结构:i2c_adapter 和 i2c_algorithm。 Linux 内核将 SOC 的 I2C

2022-06-02 17:30:31 863

原创 Linux驱动开发学习笔记-LCD设备驱动

即Framebuffer设备。主设备号是29。1. Framebuffer,简称 fb。fb 是一种机制,将系统中所有跟显示有关的硬件以及软件集合起来,虚拟出一个 fb 设备。 当我们编写好 LCD 驱动以后会生成一个名为/dev/fbX(X=0~n)的设备,应用程序通过访问/dev/fbX 这个设备就可以访问 LCD。 NXP 官方的 Linux 内核默认已经开启了 LCD 驱动。2. Linux 下Framebuffer 驱动的编写流程: 1). Linux 内核

2022-06-01 17:35:46 266

原创 Linux驱动开发学习笔记-MISC设备驱动 & INPUT子系统

即杂项驱动,采用platform+misc的方式编写驱动。是Linux驱动中很常用的方法。1. 所有的MISC设备驱动的主设备号都是10,不同设备使用不同的从设备号。2. MISC设备会自动创建cdev,采用MISC设备驱动可以简化字符设备驱动的编写。3. 采用MISC设备驱动,需要注册一个miscdevice设备。 struct miscdevice { int minor; //子设备号 const char *name;

2022-06-01 17:29:57 396

原创 Keil5中生成bin文件方法

打开以下界面:勾选Run#1,并在随后的User Command栏输入“fromelf.exe --bin !L --output ./Bin/XXX_2022-3-22.bin” 即可。注意:一定要输入“fromelf.exe --bin !L --output ,后面的./Bin/XXX_2022-3-22.bin”是具体存放生成的Bin文件的文件夹以及Bin文件名。...

2022-03-22 08:44:54 3156

原创 嵌入式Linux学习笔记:Makefile语法

1.Makefile规则格式 目标···... : 依赖文件集合······ 命令1 命令2 ······ 注意:命令列表中的每条命令必须以TAB键开始, 不能使用空格! make命令会为Makefile中的每个以TAB开始的命令创建一个Shell进程去执行。2. Makefile变量 1). Makefile中的变量都是字符串,类似C语言中的宏。 2)....

2021-10-19 19:43:47 160

空空如也

空空如也

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

TA关注的人

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