自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(419)
  • 资源 (33)
  • 收藏
  • 关注

原创 联合体位域修改

/ 输出 512(2^9)printf("val = %d\n", val);直接读写整个 32 位值,适合批量操作或寄存器写入。的二进制第 9 位(假设小端)会被置 1,:禁止编译器插入填充字节,确保位域紧密排列。:强制结构体按 4 字节对齐,保证其大小与。// ... 其他位域。验证了通过位域修改联合体值的正确性。)直接操作特定位,代码可读性高。:通过联合体将位域结构体与。的 32 位,无内存浪费。:通过结构体成员(如。

2025-04-17 21:00:52 185

原创 Vscode使用小技巧

按住 alt 键 ,鼠标可以单独选 frame_idx 和 sensor_id。按住 alt + shift 键, 鼠标可以拖到选择,便于整体删除。

2025-04-13 22:43:59 183

原创 使用Vscode排除一些子文件搜索

文件中添加以下配置:可隐藏文件,并在搜索时排除。:在项目根目录下创建。文件(如果不存在)。

2025-04-12 19:38:46 366

原创 常用指令积累

在默认情况下,grep 的匹配规则使用了正则表达式,其中(点)在正则中匹配“任意单个字符”而不是字面上的点。因此,在执行时,实际上会把.loop中的当作通配符,从而匹配到只要含有 “任意字符+loop” 形式的内容。要想只匹配字面上的.loop这样\.loop中的\.就会被当作真正的点号来匹配。-F这样 grep 会将.loop当作普通字符串来匹配,而不是使用正则。搜索排除项目--exclude=

2025-04-09 16:30:39 157

原创 指针的理解

int a = 10;+-- p ------>|&a | // p存储a的地址+-----+​变量a存储整数值10。指针变量p存储变量a的地址&a,即p指向a不建议直接修改p 值, 如 p=20,这里指 p 指向了 内存地址值 20 ,如果20不是一个有效地址,将导致未定义的行为*p = 20;+-----+通过*p = 20;,我们修改了p指向的变量a的值,将其改为20,即将修改为 20.+-----+| pp | // pp存储p的地址&p的地址。

2025-04-09 13:34:38 994

原创 遍历SD卡jpeg目录存图

将 JPEG 数据保存到按序号递增的文件中。若目录为空或无数字文件,返回。:用于目录操作(如打开目录、读取文件项)。:遍历目录,找出文件名中数字最大的文件。:仅处理普通文件,忽略子目录和特殊文件。:从文件名中提取连续数字并转换为整数。打开目录,检查是否为普通文件(:将数据写入文件,并调用。:若文件名无数字,返回。不存在,则创建(权限。:提供字符处理函数(如。

2025-04-08 10:24:35 348

原创 使用typedef和不使用的区别

特性使用typedef不使用typedef目的定义一个新的类型别名,用于表示函数指针类型声明一个具体的函数指针变量可读性和简洁性更高,尤其在多次使用时较低,语法复杂且冗长重用性高,可以多次使用定义的类型别名低,每次声明都需要重复复杂的语法代码维护和扩展更容易维护和扩展,减少错误难以维护和扩展,容易出错示例​// 假设 sensor_drv_params_t 已定义char* name;​// 示例加载函数​int x;int y;} Point;​。

2025-04-07 17:21:46 884

原创 MIPI概念

定义图像数据的格式,包括分辨率、色彩空间(如RGB、YUV)、像素深度等。

2025-04-07 17:03:39 1018

原创 CMA内存分配器

CMA是什么?为什么需要CMA?Linux伙伴系统(Buddy)使用 Page 粒度来管理内存,每个页面大小为4K。伙伴系统按照空闲内存块的长度,把内存挂载到不同长度的 free_list链表中。free_list 的单位是以 (2^order个Page) 来递增的,即 1 page、2 page、… 2^n,通常情况下最大 order 为10 对应的空闲内存大小为 4M bytes。

2025-04-07 16:53:55 870

原创 SWAP的作用

swapfile并不是从物理内存中获取内存,而是使用磁盘上的空间来扩展虚拟内存。它的作用是当物理内存不足时,提供额外的空间存储不活跃的数据。虽然可以增加系统的内存容量,但频繁使用swapfile会影响系统性能,因此应尽量避免频繁依赖 Swap。在虚拟机中查看swap的位置嵌入式设备中查看。

2025-04-07 16:49:42 826

原创 指针的指针地址图解

hComp | ----> main中的handle的地址。所指向的实际数据内容,通过两次解引用可以访问和修改具体的数据。,用于传递指向指针的指针,使得函数内部可以修改指针指向的地址。通过上述分析和示例代码,可以清晰地理解。,在函数内部被赋值为分配的内存地址。分配内存,假设分配到地址。main中的handle。main中的handle。之间的关系及其指向。hComp指向的地址。

2025-04-07 16:44:59 314

原创 双向链表示例

每个节点的结构如下:头节点(head的next指向链表的第一个节点,prev指向最后一个节点。每个节点prev指向前一个节点,next指向下一个节点。这样就形成了一个环形链表。环形链表的特点:最后一个节点的next指向头节点,头节点的prev指向最后一个节点。| |v v。

2025-04-06 23:22:15 1024

原创 内存管理模块

在大多数 32 位和 64 位系统中,Linux 内核为自己保留了一个独立的虚拟地址空间。这些地址空间被划分为不同的区域,每个区域负责特定的功能,如直接映射物理内存、动态分配内存、设备映射等。以下是常见的内核虚拟地址空间布局(以 x86 架构为例):| 用户空间(User Space) || 内核空间(Kernel Space) || 0xC0000000 - 0xFFFFFFFF (32位) |

2025-04-06 22:54:01 934

原创 TOP数据记录有提取

top:持续运行并实时更新,显示的CPU使用率是一个动态值,可能会随着时间的推移而变化。它会根据最近一段时间的CPU活动计算这些值,提供一个实时的视图。top -n 1:仅在命令执行时获取一次快照,输出的值反映的是在执行时的瞬时状态。这意味着如果在这次快照前后系统负载发生了变化,值可能不会完全代表系统的整体使用情况。如何更加快捷的记录top值,如下代码,通过修改tokenCount的值分别提取出usr,sys和idle的值。执行如下操作加top值输出到top.txt中。

2025-04-06 21:46:58 254

原创 存储模块cache

一级缓存(L1 Cache)和二级缓存(L2 Cache)通常都使用静态 RAM(SRAM),因为它们需要高速度和低延迟。动态 RAM(DRAM)通常用于主内存,而不是用于缓存。

2025-04-06 21:05:34 847

原创 利用多线程加速内存拷贝

最好在多核,大数据块的情况下使用该操作,否则可能会起到反作用。可以探索使用指令集拷贝的方式,有不错的效果。利用多线程加速大块数据的拷贝过程。

2025-04-06 21:00:46 261

原创 常见的代码示例

表示一个函数指针。void表示该函数没有返回值。表示这是一个指向函数的指针。表示该函数接受一个参数,该参数是一个指向任意类型的指针(void *typedef用于给现有的类型定义一个新的名字。typedef之后的部分定义了一个函数指针类型,该函数指针指向的函数返回void,并接受一个void *类型的参数。CLI_HANDLE是这个新定义的函数指针类型的名字。定义完成后,CLI_HANDLE可以用作类型名,表示一个指向符合上述签名的函数的指针。

2025-04-04 21:17:05 381

原创 YUV转RGBA的操作

这样确保了,不管处理的是2x2块中的哪一个像素,我们总是从对应的UV坐标(同一个UV值)提取色差分量,保持了UV分量正确的对应和采样逻辑。当 i = 0(二进制 000)时,i & ~1 的结果是 0(二进制 000)。当 i = 1(二进制 001)时,i & ~1 的结果是 0(二进制 000)。当 i = 2(二进制 010)时,i & ~1 的结果是 2(二进制 010)。当 i = 3(二进制 011)时,i & ~1 的结果是 2(二进制 010)。i:表示当前像素的横坐标。

2025-04-04 19:44:59 568

原创 主机和虚拟机间的网络通信

仅主机模式会创建一个虚拟网络,此时虚拟机只能和物理机和其他仅主机模式的虚拟机进行通信,此时虚拟机的地址要和物理机的vmnet1的网络地址处于同一网段。这种模式虚拟机不能直接访问外网。虚拟机和主机之间是同一个网络,用一根线连接了虚拟机和物理机的网卡,可以选择桥接的位置,默认情况下是自动桥接,虚拟机和物理机的网卡处于同一个网段。桥接之后可以与其它主机通信和上外网。在主机和虚拟机间创建一个虚拟网络VMent8,虚拟机通过VMnet8的虚拟地址做网络间转换,从而通过物理机的网卡和其他主机建立连接和访问外网。

2025-04-04 16:34:08 475

原创 打印时间戳

精确到微秒,内核时钟500M,sec需要强转,否则会越界。

2025-02-27 11:27:25 125

原创 主机与虚拟机间的网络通信

仅主机模式会创建一个虚拟网络,此时虚拟机只能和物理机和其他仅主机模式的虚拟机进行通信,此时虚拟机的地址要和物理机的vmnet1的网络地址处于同一网段。这种模式虚拟机不能直接访问外网。虚拟机和主机之间是同一个网络,用一根线连接了虚拟机和物理机的网卡,可以选择桥接的位置,默认情况下是自动桥接,虚拟机和物理机的网卡处于同一个网段。桥接之后可以与其它主机通信和上外网。在主机和虚拟机间创建一个虚拟网络VMent8,虚拟机通过VMnet8的虚拟地址做网络间转换,从而通过物理机的网卡和其他主机建立连接和访问外网。

2025-01-11 17:08:08 458

原创 FFmpeg相关代码

【代码】FFmpeg相关代码。

2025-01-11 16:14:15 138

原创 MMap的用法示例

mmap()是一个功能强大的系统调用,广泛应用于各种内存管理和进程间通信的场景。通过匿名内存映射,可以高效地在进程间共享数据;通过文件内存映射,可以简化文件操作并提升性能;通过将同一文件映射到多个进程的地址空间,实现高效的共享内存通信。理解并熟练使用mmap()能够显著提升程序的性能和灵活性,尤其是在需要高效内存管理和进程间协作的复杂应用中。

2025-01-06 20:33:34 1083

原创 strace工具使用

生成的可执行文件在out目录下。

2024-12-28 17:12:42 183

原创 一级、二级页表

二级页表通过分层管理页表,将页表的内存分配与实际使用的虚拟地址空间相对应,避免了单级页表中大量未使用的页表项所造成的内存浪费。这种分层结构使得页表更加高效地利用地址空间,特别是在虚拟地址空间较大且实际使用较为稀疏的情况下,二级页表能够显著减少操作系统的内存开销。

2024-12-27 14:10:16 1402

原创 SWAP的作用

swapfile并不是从物理内存中获取内存,而是使用磁盘上的空间来扩展虚拟内存。它的作用是当物理内存不足时,提供额外的空间存储不活跃的数据。虽然可以增加系统的内存容量,但频繁使用swapfile会影响系统性能,因此应尽量避免频繁依赖 Swap。在虚拟机中查看swap的位置嵌入式设备中查看。

2024-12-27 11:25:16 1205

原创 地址踩踏问题

malloc分配地址大小不足,如 pstruct只分配了一个字节的地址,handle访问时需要访问8个字节的数据,此时虽然可以正常打印,但如果其他程序使用了未分配的7个字节地址,就会导致该handle无法正确访问。

2024-12-24 17:46:32 233

原创 zlog的使用方式

正因为zlog是一个日志函数库,故zlog没有独立的进程进行维护,需依赖实际调用zlog的进程,故需留意进程崩溃时的日志丢失情况。但也因为zlog是一个日志函数库,故其具有简单易用的特点,虽然简单但能满足普通日志记录的需求。安装方式,详细可参考工程的readme文件,这里不想污染环境变量,直接编译到本地。zlog是一个高可靠性、高性能、线程安全、灵活、概念清晰的纯C日志函数库。支持格式化输出,如给日志添加时间、文件位置信息等。CMakeList.txt配置如下。支持日志按时间、按大小存储。

2024-12-23 20:52:47 637

原创 指定初始化器的数组

使用这种方式可以确保数组中的元素与枚举值一一对应,增强代码的可读性和可维护性。

2024-12-23 14:58:29 103

原创 static独立性

关键字,并在一个源文件中定义它。在多个源文件中共享,可以将。的声明放在头文件中,使用。

2024-12-19 10:30:56 238

原创 指令集NEON

SVE armv8支持。

2024-10-21 19:20:30 198

原创 结构体变量和结构体变量指针作为函数形参的区别

(3)结构体因为自身太大,所以传参应该用结构体指针来传(但是程序员可以自己决定,你非要传结构体变量过去C语言也是允许的,只是效率低了);回想一下数组,为什么C语言设计时数组传参默认是传的数组的首元素地址而不是整个数组?(2)因为结构体一般都很大,所以如果直接用结构体变量进行传参,那么函数调用效率就会很低。(因为在函数传参时需要将实参赋值给形参,所以当传参的变量越大调用效率就会越低。(1)结构体变量作为函数形参的时候,实际上和普通变量(类似于int之类的)传参时的表现是一模一样的。

2024-09-28 17:42:39 469

原创 fd_set

遍历位图时,它需要知道需要检查的最大文件描述符是多少,因此它需要传入。内部使用一个位图来表示文件描述符集,每个位对应一个文件描述符。这四个文件描述符(注意,文件描述符从 0 开始编号)。(即最大文件描述符值+1)来确定要检查的范围。,导致它无法正确监控该文件描述符的状态。这范围的所有文件描述符。

2024-09-12 15:46:51 312

原创 ls -l 查看文件信息

字符设备文件(character device),例如终端或串行端口等设备。:块设备文件(block device),通常用于表示硬盘、光盘等设备。:门文件(door),主要在 Solaris 操作系统中用于进程间通信。:普通文件(regular file),例如文本文件、二进制文件等。:命名管道(named pipe),用于进程间通信。:套接字文件(socket),用于网络通信。:符号链接(symbolic link)。:目录(directory)。

2024-09-12 15:18:31 429

原创 nodepad++ 16进制插件安装

https://github.com/chcg/NPP_HexEdit/releases

2024-09-10 16:45:16 301

原创 Linux 上卸载 VSCode

找到 VSCode 的安装目录,通常位于。

2024-08-01 11:38:45 1599

原创 通过FFmpeg指令横向合并视频

【代码】通过FFmpeg指令横向合并视频。

2024-05-20 11:39:38 321

原创 3D卷积参数量

计算3D卷积参数量

2024-05-20 11:37:38 200

原创 Samba配置共享服务

查看是否将 * - nofile 16384 插入文件尾部 tail -n 5 /etc/security/limits.conf。#在 windows 的运行访问共享,输入用户名。如果看到 rlimit_max信息 ,使用以下设置。#添加 samba 访问用户 输入密码。使用testparm 分析参数设置。修改系统配置文件后生效。

2024-04-24 09:28:11 457

原创 linux常用命令2

因此,这个指令的意思是将远程的 /root/rootfs 目录(位于IP地址为 192.168.1.141 的NFS服务器上)挂载到本地的 /mnt 目录。三组分别表示:第一组表示文件属主的权限,第二组表示属主所在的组用户的权限,第三组表示其他用户的权限。tar -cjvf dir.tar.bz2 dir/ 将dir目录打包成dir.tar.bz2。tar -czvf dir.tar.gz dir/ 将dir目录打包成dir.tar.gz。

2024-04-21 15:26:45 297

anaconda安装教程.pdf

anaconda安装教程

2021-07-05

基于BP神经网络的人脸识别

基于BP神经网络的人脸识别,含例题完整的论文分析及代码,可实现人脸的识别,五官的识别,人脸库人物的匹配

2018-07-26

基于统计分析的红楼梦作者解析

基于统计分析的红楼梦作者解析,包含分析过程,统计附录,用到的算法描述

2018-07-31

Python零基础知识手册.docx

Python零基础知识手册

2021-07-05

人口预测模型,MATLAB

基于二胎政策开发后人口预测三种模型的讲解,含MATLAB代码,自己写的代码,平台下架的时候请慎重好吧

2018-08-27

基于MATLAB的无线回传拓扑规划含程序代码

基于MATLAB的无线回传拓扑规划,根据基站建立基站间的连接方式,包括最短路径,最小费用等规划

2018-07-25

通信原理部分简答及内容总结.pdf

里面总结的通信原理关键的简答题,考研通信复试可用

2021-07-05

基于51单片机的广州塔

基于51单片机的广州塔,含原理图,程序,焊接步骤等等,

2018-07-25

研究生综述模板.docx

综述模板

2020-12-30

java视频教程完整版.zip

因资源限制在1000兆,视频资源比较大,如有需要完整资源可发送邮件信息到1185759594@qq.com,内涵视频,电子版笔记,代码

2021-07-05

微机原理的课件.zip

微机原理原理课程视频,PPT,调试工具

2021-07-05

基于水中的微处理器.zip

:设计一种喷泉或水池漏电检测及反馈装置,包括水中漏电检测自切断子系统、无线信息传输系统与综合信息反馈系统3个子系统和部件组成。

2021-07-05

线路损耗讲解计算

含线路损耗的相关讲义,含计算多节点的线路损耗代码,节点数可自行更改

2018-08-24

MATLAN统计分析与应用:40个案例含完整代码

MATLAN统计分析与应用:40个案例含完整代码,聚类分析,数据拟合,主成份分析,判别分析,数据处理等等

2018-07-26

ACM各种算法例程

ACM各种算法例程总结,包括最大子段求和,深搜,N 阶取余算法等等

2018-07-25

基于HTML5得网页面设计,程序

基于HTML5得网页面设计,可在网页面显示图片,可切换,可覆盖

2018-07-25

MATLAB常用源码

MATLAB常用源码,包括实现学生成绩查询系统,线性拟合,图像去噪,灰度预测,Gif图片程序,人口增长模型

2018-07-26

各种PCB库文件,自己绘制,包括常用的不常用的

各种单片机的PCB原理图库,元器件库,模块库,一共100左右各原理图库文件

2018-07-25

PCL配置全过程.txt

Ubuntu18.04下配置ROS,PCL全过程,包括具体的视频链接与资源讲解

2021-11-20

计算两个连续视频帧间的光流

计算两个连续视频帧间的光流 C++程序

2024-06-26

数字图像处理的相关资料

主要包括冈萨雷斯教程中的图片,还有相关的PPT讲解

2024-05-20

YUV视频数据的相关计算

YUV视频数据的相关计算,包含Y,U,V通道的分离写入,PSNR和SSIM的计算

2024-05-20

Elecard StreamEye Tools 3.1.0

视频分析工具,内含3.1.0和2.9.0,亲测可用

2022-10-03

拉扎维模拟集成cmos第二章PPT

拉扎维模拟集成cmos第二章PPT

2022-05-07

拉扎维前五章公式总结和习题答案笔记

拉扎维前五章公式总结和习题答案笔记

2022-05-07

Windows下x264编译完整通过

在windows10,VS2019下编译x264

2022-03-06

SDL一些示例小程序。

SDL一些简单的示例小程序,可以了解一下

2022-01-13

videoeye两个版本.rar

雷霄骅编写的用于视频解码分析的videoeye版本,明明是开源的,我也不知道为什么需要什么码,免费下载

2021-12-23

雷霄骅——FFmpeg视频解码器

雷神的《基于 FFmpeg + SDL 的视频播放器的制作》课程的视频中的3部分代码,整体上传审核不通过,我也不知道为什么CSDN会把雷神的开源代码去设置下载码,让人无语。

2021-12-28

H264标准协议,可供参考

H264标准协议,可供参考

2021-12-25

h264协议中文版本,可以参考英文进行阅读

h264协议中文版本,可以参考英文进行阅读

2021-12-25

YUVPlayer.exe

YUVPlayer1.4很好用的YUV显示软件,可以用作YUV对比分析

2021-12-18

新一代视频压缩编码标准H.264,仅供大家学习参考

新一代视频压缩编码标准H.264.pdf,适合视频编码入门指导

2021-12-19

街景号码识别提取1122

对街景门牌号码进行识别提取

2021-10-05

MATLAB43.zip

MATLAB神经网络43个案例分析配套源码

2021-10-05

115套简历模板.zip

简历模板,总有一款你需要

2021-07-15

空空如也

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

TA关注的人

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