自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 嵌入式linux 块设备驱动框架

新产生的bio可能会被合并到requeset中,也可能产生新的requeset,然后插入到requeset_queue中合适的位置,这一切都是I/O调度器来完成的,下面是requeset_queue,requeset和bio之间的关系。第6行,compat_ioctl函数和ioctl函数一样,都是用于块设备的I/O控制,区别在于在64位系统上,32位应用程序的ioctl会调用compat_ioctl函数,在32位的系统上运行的32位应用程序调用的就是ioctl函数。...

2022-07-18 21:20:38 996 1

原创 第十节 STL-常用算法

概述:学习目标:掌握常用的遍历算法算法简介:1.1 for_each功能描述:实现遍历容器函数原型:总结:for_each是在实际开发中最常用的遍历算法,需要熟练掌握功能描述:搬运容器到另一个容器中函数原型:总结:搬运的目标容器必须要提前开辟空间,否则无法正常搬运学习目标:掌握常用的查找算法算法简介:2.1 find功能描述:查找指定元素,找到返回指定元素的迭代器,找不到返回结束迭代器end()函数原型:总结:find可以再容器中找到指定的元素,返回值

2022-06-29 20:05:44 400

原创 第九节 函数对象

概念:本质:函数对象(仿函数)是一个类,不是一个函数特点:2 谓词2.1 谓词概念概念:2.3 二元谓词3 内建函数对象3.1 内建函数对象的意义概念:STL内建了一些函数对象分类:用法:功能描述:仿函数原理:总结: 使用内建函数对象的时候,需要引入头文件#include功能描述:实现关系对比仿函数原型:总结:内建函数对象就相当于将我们自己写的仿函数模板化了,直接拿来用就好了,不用我们自己写仿函数了。功能描述:实现逻辑运算...

2022-06-28 16:31:20 1495

原创 第八节 常用容器

本质:string是C++风格的字符串,而string本质上是一个类string和char *的区别:特点:string内部封装了很多成员例如:查找find,拷贝copy,删除delete替换replace,插入insertstring管理char *所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责构造函数原型:1.3 string赋值操作功能描述:给string字符串进行赋值赋值函数的原型:1.4 string字符串拼接功能描述:实现字符串末尾拼接字符串函数原型:

2022-06-27 18:14:39 511

原创 第七节 STL初识

容器:置物之所也STL容器就是将运用最广泛的一些数据结构实现出来常用的数据结构:数组,链表,树,栈,队列,集合,映射表等这些容器分为序列式容器和关联式容器两种: 序列式容器:强调值得排序,序列式容器中的每个元素均由固定的位置 关联式容器:二叉树结构,各元素之间没有严格的物理上的顺序关系算法:问题之解法也有限的步骤,解决逻辑或数学上的问题,这一门学科我们叫做算法算法分为:质变算法和非质变算法 质变算法:是指运算过程中会更改区间内的元素的内容,例如拷贝,替换,删除等等

2022-06-22 15:05:34 153

原创 第六节 模板

1,模板1.1 模板的概念模板就是建立通用的模具,大大提高复用性模板的特点:模板不可以直接使用,他只是一个框架 模板的通用并不是万能的1.2 函数模板C++的另一种编程思想称为泛型编程,主要利用的技术就是模板 C++提供两种模板机制:函数模板和类模板1.2.1 函数模板语法函数模板作用:建立一个通用的函数,其函数的返回值和形参类型可以不具体制定,用一个虚拟的类型来代表语法:template<typename T>.....................

2022-06-21 17:33:28 60

原创 嵌入式linux IIO驱动

IIO子系统简介 我们一般搜索IIO子系统,就会发现大多数讲的都是ADC,这是因为IIO就是为ADC类传感器准备的,当然了DAC也是可以的,我们常用的陀螺仪,加速度计,电压/电流测量芯片等内部都是有个ADC,内部ADC将原始的模拟数据转换为数字量,然后通过其他的通信接口,比如IIC,SPI等传输给SOC。 因此,我们使用的传感器本质是ADC和DAC器件的时候,我们可以优先考虑使用IIO驱动框架。1,iio_dev结构体 IIO子系统使用结构体iio_dev来描述一

2022-06-20 16:35:08 1890 1

原创 嵌入式linux 电容触摸屏驱动框架

嵌入式多点电容触摸驱动框架

2022-06-19 16:00:58 1002

原创 嵌入式linux SPI驱动

嵌入式SPI驱动

2022-06-10 20:19:54 1138

原创 嵌入式linux I2C驱动

嵌入式I2C驱动

2022-06-10 14:37:24 2550

原创 嵌入式linux LCD驱动

嵌入式LCD驱动

2022-06-04 17:19:31 491

原创 嵌入式linux input子系统

嵌入式input子系统

2022-06-02 20:52:03 385

原创 嵌入式linux MISC设备驱动

嵌入式MISC设备驱动

2022-06-02 17:14:32 340

原创 嵌入式linux platform设备驱动

嵌入式platform设备驱动

2022-06-02 16:47:46 846

原创 嵌入式linux 异步通知

嵌入式异步通知

2022-06-02 14:03:03 125

原创 嵌入式linux 阻塞和非阻塞IO

嵌入式中断

2022-06-01 19:53:40 440

原创 嵌入式linux 中断

嵌入式里面的中断

2022-06-01 12:45:40 1003

原创 嵌入式linux 定时器

定时器是一个很长用的一个功能,需要周期性处理的工作都要用到定时器。在使用内核定时器的时候需要注意一点,内核定时器并不是周期性运行的,超时以后就会关闭,因此想要周期性定时,就需要重启定时器。jiffesLinux内核使用全局变量jiffies记录系统从启动以来的系统节拍数,系统启动时,Jiffies会初始化为0。 jiffies_64用于64位系统,jiffies用于32位系统,jiffies就是jiffies_64的低32位,不管在32位还是64位系统都可以使用ji......

2022-05-31 21:50:08 715

原创 嵌入式linux 并发与竞争

原子操作 linux内核定义了叫做atomic_t的结构体来完成整型数据的原子操作,在使用中原子变量来代替整型变量。atomic_t lock; 定义lock变量,本身是一个整型变量,内核中提供了大量原子操作的API函数1,先初始化原子变量atomic_t lock= ATOMIC_INIT(0); lock初始化为0atomic_set(&lock, 10); ......

2022-05-31 15:59:57 110

原创 嵌入式linux 通过获取设备树电亮LED

已经被舍弃的方法就不再写了(地址映射)搭建好设备驱动框架之后,需要对led灯引脚进行初始化,不管什么外设驱动,GPIO驱动基本都是必须的,而pinctrl和gpio子系统又是GPIO驱动所必须的。pinctrl 子系统主要工作内容如下:获取设备树中 pin 信息。 根据获取到的 pin 信息来设置 pin 的复用功能 根据获取到的 pin 信息来设置 pin 的电气特性,比如上/下拉、速度、驱动能力等。 对于我们使用者来说,我们只需要在设备......

2022-05-31 12:29:23 301

原创 Linux之驱动开发篇—字符设备驱动框架

(1)驱动的入口和出口:(2)括号里面的就是驱动的入口和出口函数:(3)需要在驱动入口函数注册字符设备驱动 1,在自身给出主设备号的时候,用下面的函数来注册和注销 2,需要系统自动分配的时候使用下面的函数来注册 3,初始化cdev 4,自动分配设备结点,需要类和设备的创建,下面是创建类和设备(4)上面的函数里面有字符设备操作集(chrdevbase_fops),需要初始化一下***在操作设备函数里面(re

2022-05-31 10:51:57 160

原创 第五节 文件操作

程序运行时产生的数据都属于临时数据,程序一旦运行结束都会释放通过文件可以将数据持久化 C++对文件操作需要包含头文件<fsteam> 文件类型分为两种:文本文件 - 文件以文本的ASCII码形式存储在计算机内 二进制文件 - 文件以文本二进制形式存储在计算机中,用户一般不能直接读懂他们操作文件的三大类:ofsteam:写操作 ifsteam:读操作 fsteam:读写操作5.1 文本文件5.1.1 写文......

2022-05-20 13:10:35 145

原创 第四节 类和对象

4 类和对象C++面向对象的三大特性为:封装,继承和多态C++认为万事万物皆为对象,对象上有其属性和行为 例如:人可以作为对象,属性有姓名,年龄....行为有跑,跳......车可以作为对象,属性有车胎,方向灯....行为有载人,放音乐....具有相同性质的对象,我们可以抽象称为类,人属于人类,车属于车类4.1 封装4.1.1 封装的意义 封装的意义一:将属性和......

2022-05-16 15:44:48 105

原创 第三节 函数高级

3 函数提高3.1 函数默认参数在C++中,参数的形参列表可以使默认值语法:返回值类型 函数名(参数 = 默认值){}#include <iostream>#include <string>using namespace std;//如果我们传入了参数就用自己的,不然就用默认的参数int Fuc(int a, int b =10, int c = 20){ return a + b + c;}int ma......

2022-05-01 19:43:52 71

原创 第二节 C++中的引用

2引用2.1 引用的基本使用语法:数据类型 &别名 = 原名#include <iostream>#include <string>using namespace std;int main(){ //引用的基本语法:数据类型 &别名 = 原名 int a = 3; int &b = a; b = 20; //结果a = 20 cout << a << endl;

2022-04-30 14:12:58 78

原创 第一节 C++程序的内存模型

1,内存的分区模型内存大方向分为四个区域: 代码区:存放函数的二进制代码

2022-04-29 14:41:15 1146

空空如也

空空如也

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

TA关注的人

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