自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 量化掉点分析

PyTorch 提供了多种量化方法,以适应不同的模型和应用场景。这些方法可以分为两大类:基于 Eager Mode 的手动量化和基于 FX Graph 的自动化量化。Eager mode是。

2025-03-12 10:41:35 804

原创 C/C++面试题

申请了内存,使用完没有释放;申请了一片内存,没有指针指向它,那它就泄漏了;(未释放,不匹配,虚析构,循环引用)不可以,这样会使得每个包含头文件的cpp文件都会单独存在一个静态/全局变量,引起空间浪费和链接错误;可以,但必须要用初始化列表初始化;左值能取地址,右值不能取地址;左值引用指向具有标识符的对象,用于传统的引用操作;右值引用在移动语义和完美转发场景;// 使用移动语义将source向量的内容移动到destination向量。

2024-09-23 09:51:57 725

原创 Linux操作系统面试题记录

linux操作系统面经八股文一网打尽;

2024-09-17 15:56:33 980

原创 RTOS(7)队列

下面的结构体里包含了:头部指针,写指针,读指针,长度,项目大小,两个链表;写队列的时候,写指针指向头部,写进去之后,+=itemsize,移动到下一个位置;读队列的时候,读指针指向上一次读取的位置,先+=itemsize,然后再读取该位置的数据;

2024-08-07 17:33:30 355

原创 RTOS(8)信号量和互斥量

信号量分为二值信号量和计数信号量与队列相比:他不能传输数据,但同时他不需要传输数据,占用的空间也更小,运行更快;

2024-08-07 17:33:04 207

原创 RTOS(9)中断机制

freertos将中断切分成两块,高优先级和低优先级,高优先级的不可以运行rtos的api,低优先级的可以,systick,pendsv,用户的一些外部中断都是属于低优先级的;freertos关中断的时候,也不是所有中断都关,只是关了低优先级这部分,防止影响其同步互斥;ISR: 1.不可以阻塞,即可返回 2.可以任务状态切换。,任务可以用两套API,中断只能用ISR的API,任务:1.可以阻塞 2. 可以任务状态切换。ISR不会发起调度,在函数外调度;效率高:避免不必要的任务切换,在。

2024-08-07 00:35:45 275

原创 RTOS(10)内存管理

Freertos内存管理

2024-08-06 15:48:21 464 1

原创 V4L2读取摄像头资源

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

2024-06-21 18:19:20 1405

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

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

2024-06-19 17:58:54 972

原创 RTOS(6)任务

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

2024-05-28 15:52:01 667

原创 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 494

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

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

2024-05-20 00:02:50 306

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

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

2024-05-19 21:51:37 698

原创 FreeRTOS面试题汇总

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

2024-05-19 20:54:03 7796

原创 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 437

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

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

2024-05-15 20:08:01 1057

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

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

2024-05-14 20:51:38 1164

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

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

2024-05-14 12:19:21 1483

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

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

2024-05-13 22:56:18 1138

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

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

2024-05-13 17:28:42 1779

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

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

2024-05-13 14:09:26 1132

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

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

2024-05-12 12:14:49 1826

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

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

2024-05-11 15:11:21 873

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

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

2024-05-11 15:06:14 517

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

C++高频面试题

2024-03-02 16:55:25 591

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

linux网络连接问题

2024-01-03 21:47:57 1542

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

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

2023-10-19 14:41:52 199

原创 RTOS(6)任务管理

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

2023-10-19 11:13:05 202

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

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

2023-10-18 12:01:02 273

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

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

2023-10-14 17:50:16 351

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

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

2023-10-13 16:47:25 523

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

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

2023-10-11 15:41:54 130

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

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

2023-10-11 12:44:03 63

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

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

2023-10-11 12:08:10 71

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

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

2023-10-11 11:01:02 990

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

取消show only know file type

2023-10-10 17:03:49 889

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

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

2023-10-10 16:33:09 75

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

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

2023-10-10 09:23:54 96

原创 C储存类与作用域

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

2023-10-09 10:56:08 68

原创 C 数组

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

2023-10-09 10:55:59 147

空空如也

空空如也

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

TA关注的人

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