自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 V4L2读取摄像头资源

帧缓冲出队之后,接下来便可读取数据了,然后对数据进行处理, 比如对数据进行转化,如RGB888转RGB565,将转换后的数据刷到FrameBuffer上进行显示。处理完后再入队继续采集。调用 ioctl()前,定义一个该类型变量,调用 ioctl()时、将变量的指针作为 ioctl()的第三个参数传入。,我们需要将其映射到用户空间中,这样,应用程序读取映射区的数据实际上就是读取内核维护的帧缓冲中的数据。它为Linux下的视频驱动提供了统一的接口,使得应用程序可以使用统一的API操作不同的视频设备。

2024-06-21 18:19:20 783

原创 vscode + CMake编译(opencv显示图片工程)

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件;Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用;CMake 的组态档取名为 CMakeLists.txt;

2024-06-19 17:58:54 431

原创 RTOS(6)任务

①先写任务函数②定义函数的handle指针③调用动态创建任务的API:xTaskCreate(任务函数,任务名称,栈深度,参数,优先级,handle指针)①事先分配好任务控制块事先提供好栈②调用APIxTaskStaticCreate();实现函数。

2024-05-28 15:52:01 535

原创 RTOS(4)保存现场与恢复现场(结合汇编分析)

1.在执行add_val()时,调用c函数的时候,第一个参数保存在R0里,第二个参数保存在R1里;所以,R0=&a,R1=&b,LR=下一条指令的地址(也就是165行);2.将局部变量和返回地址压入栈中;3.R2=a;将R2写入sp所指的位置,那么栈中原来存R3的位置变成了新的R2,也就是tmp这个临时变量;4.R2=b=2;R3=tmp=1;将R2写入sp所指的位置,tmp=3;5.R2=tmp=3;a=R2;6.将R3,LR弹出栈。LR赋值给PC,跳转到返回地址继续执行;

2024-05-20 11:09:52 306

原创 RTOS(3)极简ARM架构与汇编

举个例子说明如何实现a = a+b?第一,CPU读Flash得到指令;

2024-05-20 00:02:50 196

原创 RTOS(5)源码结构与移植适配

Source :根目录下是核心文件,这些文件是通用的;-- portable 目录下是移植时需要实现的文件--keil(编译器相关)--RVDS(架构文件)-- ARM_CM3--MemMang(内存管理)

2024-05-19 21:51:37 582

原创 FreeRTOS面试题汇总

如果一个低优先级的任务持有一个信号量,高优先级的任务想要用这个信号量,造成的死锁怎么解决。12.FreeRTOS的多任务之间如何去进行通信的,什么方法,它实现原理是什么。任务间数据传输一共有三种形式,用的最多的是消息队列,其次是全局变量和信号量。简历上写了了解RTOS,问了rtos的问题,用过哪些函数。讲解FreeRtos原理,调度机制,底层原理,代码调用。FreeRTOS,你的三个任务控制,请问你是怎么实现的。freertos中EventBits_t是干啥的?freertos使任务切换的方式有哪些?

2024-05-19 20:54:03 457

原创 RTOS(2)最重要的基础:堆与栈

例如分配了taskA和taskB两个任务,那么将会为两个任务分别创建Stack栈,来存储任务中使用到的函数的返回地址和局部变量,两个栈互不干扰和影响;这个时候我们会发现,每一次LR写入新值都会覆盖旧值,所以我们每次都需要将LR中的值写入栈中,LR——>栈;然后,调用a_fun函数(这个时候会将LR --> 栈中,不然LR会被覆盖,就回不去了)在函数a_fun的开头,划分了m字节的空间,并将LR指向(Return 0的地址),为局部变量a划分出了局部空间。栈的使用过程,是RTOS多任务的核心。

2024-05-19 17:08:32 308

原创 半小时搞懂STM32知识点——UART

半小时搞懂STM32知识点——UART

2024-05-15 20:08:01 373

原创 半小时搞懂STM32面经知识——RCC

时钟是由电路产生的具有周期性的脉冲信号,相当于单片机的心脏。

2024-05-14 20:51:38 903

原创 半小时搞懂STM32面经知识——SPI

高速(≥10M/bps)+全双工+同步+一主多从+四根线

2024-05-14 12:19:21 987

原创 半小时搞懂STM32面经知识——DMA

DMA传输将数据从一个地址空间复制到另一个地址空间

2024-05-13 22:56:18 815

原创 半小时搞懂STM32面经知识——ADC

将连续变量的模拟信号转换为离散变量的数字信号。

2024-05-13 17:28:42 620

原创 半小时搞懂STM32面经知识——中断

半小时搞懂STM32面经知识——中断

2024-05-13 14:09:26 743

原创 半小时搞懂STM32面经知识——IIC

同步半双工通信协议,适用于小数据和短距离传输。

2024-05-12 12:14:49 872

原创 半小时搞懂STM32面经知识——GPIO

GPIO通用输入输出端口,用于与外设进行数字信号通信。

2024-05-11 15:11:21 615

原创 半小时搞懂STM32面经知识——系统架构与启动流程

半小时搞定STM32面经之启动流程(详细)

2024-05-11 15:06:14 341

原创 C++高频面试题总结

C++高频面试题

2024-03-02 16:55:25 368

原创 Windows可以ping通ubuntu,但ubuntu无法ping通windows

linux网络连接问题

2024-01-03 21:47:57 943

原创 RTOS(7)同步互斥与通信概述

循环检测有缺陷,还是得blocked掉,不然会很占用cpu,浪费资源;

2023-10-19 14:41:52 143

原创 RTOS(6)任务管理

我们是怎么实现,两个同优先级的任务之间交替执行的呢?tick为1ms一个周期,可以通过修改时钟配置修改;running:正在进行的任务3为running;ready:任务1和任务2处于ready;blocked(阻塞状态):等待某事,比如小孩口中的饭还没吃完,就得等吃完才喂;suspend(暂停状态):主动休息或者被命令休息;如何管理这些任务呢?链表readylist:A->B->C。

2023-10-19 11:13:05 164

原创 RTOS(5)创建任务函数详解

面向对象的编程思想我们想要使用应该结构体,但又不想了解其内部时,一般使用;句柄是指针指向结构体,只是同一个结构体类型的另外一种名称而已;

2023-10-18 12:01:02 218

原创 极简c++(8)抽象类与多态

如何实现多态:1.创建类的继承关系图2.所以类对象都可以调用的这个函数3.创建父类指针数组4.子类的地址赋给父类指针5.指针调用虚函数。

2023-10-14 17:50:16 225

原创 极简c++(7)类的继承

子类不必复制父类的任何属性,已经继承下来了;

2023-10-13 16:47:25 481

原创 极简c++(5)对象指针和对象数组

new和delete (与c语言中的malloc和free一样)

2023-10-11 15:41:54 89

原创 极简c++(6)类的友元

就像你的好朋友,可以随意来你家(类)里,为所欲为,拿东西放东西;a.x这种破坏了封装,本来应该有get函数;

2023-10-11 12:44:03 35

原创 极简c++(9)函数模板与类模板

后续需要可以自己查看补充。

2023-10-11 12:08:10 31

原创 极简c++(4)类的静态成员

这样非常的麻烦!所以我们采用静态属性。

2023-10-11 11:01:02 928

原创 文件夹里面有这个文件,在source insight里面确搜索不到怎么办

取消show only know file type

2023-10-10 17:03:49 625

原创 极简c++(3)类的封装

封装的含义是:①所有属性都是私有的,外部不能直接访问②提供get和set函数,间接访问属性。

2023-10-10 16:33:09 36

原创 极简C++(2) 类与对象

类是对一群具有相同属性和相同行为的对象的描述我们来构造一个圆形的类:构造类最重要的就是数据和操作,所以我们圆的类需要数据:半径,操作:计算周长函数和计算面积的函数;

2023-10-10 09:23:54 56

原创 C储存类与作用域

任何一种编程中,作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问。C 语言中有三个地方可以声明变量:在的局部变量在所有的全局变量在形式参数的定义中。

2023-10-09 10:56:08 26

原创 C 数组

数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。数组中的特定元素可以通过索引访问,第一个索引值为数组名本身是一个常量指针,意味着它的值是不能被改变的,一旦确定,就不能再指向其他地方。我们可以使用&运算符来获取数组的地址需要注意的是,虽然数组名表示数组的地址,但在大多数情况下,数组名会自动转换为指向数组首元素的指针。

2023-10-09 10:55:59 59

原创 C 指针

每一个变量都有一个内存位置,每一个内存位置都定义了可使用运算符访问的地址,它表示了在内存中的一个地址。

2023-10-09 10:55:48 24

原创 C数据类型

声明指的是在程序中向编译器宣告变量名、函数名或类型的存在,以便编译器在后续使用中能够识别这些标识符。定义是对变量、函数或类型进行实际创建和分配内存空间的过程,同时也包括了声明的作用。定义提供了具体的实现,为标识符分配了内存空间。

2023-10-09 10:55:24 22

原创 图神经网络三大基础算法——GraphSAGE

我们是从第K层开始,通过K-1的节点再去求取K-2层的节点,通过这样我们就求得了最终我要计算的minibeatch所需的所有的节点,那么我就将这个部分节点把它存下来就可以,然后我将存下来的这些节点,我再通过一个graphsage的操作,那么我就学习到了每个节点的特征。最后,抽取的便是,0.6,1,0.8,1.2;首先,我遍历K层的Graphsage,在每一层上我遍历所有的节点,我求一下v节点周围的节点信息,我将邻居节点的信息聚合在一起,就可以求v节点在第K层的邻居向量。(模型容量大,做出来效果好)

2023-10-09 10:53:54 348

原创 图神经网络三大基础算法--GCN

如下图的绿色 Hidden 层,Hidden 层的每个单元都与 Input 层的所有单元相连接,同理 Output 层的与 Hidden 层的也是如此。如下图,我们可以看到我们输入一个图通过GCN之后输出一个图,图的结构是不变的,但是由原始特征的C维变成了F维;不难发现,这个相乘是将邻居特征都聚合起来了,如:1节点,聚合它所连接的2,3节点的特征;3.最后,通过parse_arg()函数读取Parser对象里的从参数,并将其打印出来;去相乘,可以得出结论,加入了自连接的,从下面我们可以对比,使用。

2023-10-09 10:53:44 240

原创 图神经网络三大基础算法——GAT

如果是最后一层是直接连接softmax,则这种cocat方式是没有必要的,同个节点的三种表示使用,softmax不能很好的表示每一个类别是怎么样的,而是要计算平均值;这个模型其实就是求取i节点周围节点的ATTENTION系数,我再通过这个ATTENTION系数对周围邻居节点进行一个在线求和,那么我就求得了节点聚合了周围节点的特征。有一些节点我们知道它的label,有一些节点我们不知道它的label,求未知节点的label;先在老的图上面学习,给了一张新的图,我们要推理出来这张图中每个节点所属的类别;

2023-10-09 10:52:39 111

原创 极简C++(1)基础语法简介

极简版c++,记录了比较重要部分,适合学数据结构之前学,比用c语言更加高效便捷

2023-10-06 17:57:08 62

原创 RTOS(1)什么是RTOS?(与裸机的区别)为什么使用?

假设这位母亲需要做两件事情,喂饭和回复工作信息,我们看看裸机和RTOS有何区别。

2023-10-05 00:28:50 48

空空如也

空空如也

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

TA关注的人

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