- 博客(107)
- 资源 (6)
- 收藏
- 关注

原创 NFC毕业纪念卡:小小车票,致逝去青春
时间一晃,四年时间如白驹过隙,匆匆而逝。以前总觉得时间很慢,轰轰烈烈的恋爱、说走就走的旅行、……,那些想做的事情等一等总是会做的。现在想来,
2021-06-25 22:36:08
200737
3

原创 【Aurix系列学习】汇总:TC264D芯片简介及最小系统搭建
目录写在前面芯片资源介绍芯片命名系统资源最小系统的搭建原理图PCB写在前面根据今年比赛规则的要求,双车组和信标组需要使用Infineon公司的Tricore架构的Aurix系列单片机。相对于原先使用的ARM类嵌入式单片机,这型单片机依靠Infineon公司在汽车电子领域深厚的底蕴,具有许多特别的优势(例如有多核并行处理能力,可以进行快速傅里叶变换,支持多种通信协...
2020-04-10 18:57:39
210853
10
原创 Git 子仓(Git Submodule)学习
Git 子仓(Submodule)是 Git 提供的一种功能,用于在一个 Git 仓库(称为主仓库或 superproject)中嵌入另一个 Git 仓库(称为子仓或 submodule)。这种功能在管理大型项目或依赖关系较多的项目时非常有用。
2024-07-26 12:13:36
3023
原创 双系统Linux使用parted缩短NTFS分区并新建EXT4分区
可以使用 unit 命令将单位设置为 GB 或 MB,然后使用 print free 查看可用的空闲空间。确定起始位置,通常可以选择默认的。在这里,START_SIZE 和 END_SIZE 是你希望新分区占用的空间范围。确保你选择的范围在可用的空闲空间内。会提示你输入新的分区大小。确保输入正确的单位(例如,MB 或 GB),也可以直接输入百分比来表示。请注意,在进行这些操作之前,务必备份重要数据。确保替换 /dev/sdaX 为实际的分区标识符。是你想要调整分区的磁盘。为实际的磁盘标识符,例如。
2024-01-28 20:16:36
853
原创 安装Nvidia驱动出现 cc: error: unrecognized command-line option ‘-ftrivial-auto-var-init=zero’
看起来内核 5.19.0-28-generic 需要 gcc-12 才能正确编译 nvidia-driver-525。如果不想切换回内核 5.15,可以直接更新 gcc。因此,切换回 5.15 内核是一种选择。
2024-01-18 16:22:54
4392
原创 香橙派5b 移植 imx415
修改设备树,以为例,关闭ov13855,添加imx4151;0;1;0;1;0;1;0;1;0;1;0;1;0;以此类推,修改三个dtsi。
2024-01-06 13:19:40
2281
2
原创 Clion Messages 乱码
使用clion 时,编译错误时 console 输出时有乱码。在 Editor->General->Console->Default Encoding 里修改设置为UTF-8:就可以恢复正常
2023-07-20 16:14:11
84737
原创 浮点数的近似保存与计算
由于计算机的资源是有限的,所以是没办法用二进制精确的表示 0.1,只能用「近似值」来表示,就是在有限的精度情况下,最大化接近 0.1 的二进制数,于是就会造成精度缺失的情况。上面所说的是可以用有限位二进制表示的十进制数,但是还有的数字是无法用有限位二进制来表达的,它们转换的过程中变成了无限循环的二进制。,这就非常不好了,毕竟加减法运算在计算机里是很常使用的,所以为了性能考虑,应该要尽量简化这个运算过程。,只不过尾数是有长度限制的,所以只会显示一部分,所以是一个近似值,精度十分有限。
2023-07-13 21:56:34
111667
原创 计算机存储层次及常用存储简介
存储层次是在计算机体系结构下存储系统层次结构的排列顺序。 每一层于下一层相比 都拥有 较高的速度 和 较低延迟性 ,以及 较小的容量 (也有少量例外,如AMD早期的Duron CPU)。大部分现今的中央处理器的速度都非常的快。大部分程序工作量需要存储器存取。由于高速缓存的效率和存储器传输位于层次结构中的不同等级,所以实际上会限制处理的速度,导致中央处理器花费大量的时间等待存储器I/O完成工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器
2023-07-05 20:07:16
139160
1
原创 步进电机基本原理及驱动方式详解
在本文中,我们将深入研究步进电机的原理,从基本的构造到工作方式,逐步揭示其背后的技术奥秘。通常步进电机细分有2,4,8,16,32,62,128,256,512等。虽然使用微步进有助于达到非常高的位置分辨率,但这种优势是以更复杂的设备来控制电机为代价的,并且每一步产生的扭矩更小。下图显示了该电机结构的简化示例,我们可以看到,现在转子的齿与 A 极的齿对齐,而与 B 极的齿不对齐。,其主要目的是减弱或消除步进电机的低频振动,提高电机的运转精度只是细分技术的一个附带功能。细分是步进电机驱动器。
2023-06-07 18:34:50
235738
13
原创 时间基础概念及Linux中的时间函数
本文介绍了时间相关的基本概念,譬如GMT时间、UTC时间以及全球24个时区的划分等,并且给大家介绍了Linux系统下常用的时间相关的系统调用和库函数,主要有9个:time/ctime/localtime/gmtime/mktime/asctime/strftime/gettimeofday/settimeofday。GMT是格林威治标准时间 ,UTC是基于原子钟的国际标准时间。jiffies是内核中定义的一个全局变量,内核使用 jiffies 启动以来的系统节拍数。
2023-05-31 19:15:02
193640
原创 \\wsl.localhost 无法访问
\wsl.localhost 无法访问。你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。系统资源不足,无法完成请求的服务。
2023-05-30 12:24:14
202189
9
原创 相机光圈和快门
光圈(Aperture/Iris)指的是调整镜头内感光面光量的装置 ,通过控制光线透过相机镜头进入感光元件的透光量实现。快门(Shutter)是相机中用来控制光线照射感光元件时间的装置。说得通俗一点,快门就相当于遮挡在感光元件前的一张帘子,帘子开启的时间可以决定投射到感光元件的光线强弱,而这个帘子(快门)开启的时间就是所谓的快门速度。快门时间越短,曝光时间越少。
2023-05-25 15:08:23
199375
原创 Linux 终端特殊符号含义大全
Linux 终端中有许多特殊符号,本文对常用的进行了总结:1. `$` 表示变量/普通终端用户:用于引用变量的值/表示终端中的普通用户。2. `#` 表示注释/超级用户:用于在脚本中注释代码/表示终端中的超级用户。3. `/` :根目录/目录分隔符。4. `~` :当前用户的主目录。5. `.` :当前目录。6. `..` :上级目录。7. `` 输出重定向符号:将命令输出重定向到指定文件。9. `>>` 输出追加符号:用于将用
2023-05-20 23:37:10
213141
原创 Windows巧用git实现笔记自动备份
安装git:https://git-scm.com/downloads:注册并登录gitee,本地生成ssh key(详情百度),然后添加到gitee里:新建仓库:填写保存的文件夹名称为仓库名:然后打开Windows终端,克隆该仓库:克隆完成后将自己的笔记放入该文件夹,然后新建 :注意:前两行换成自己的盘符和路径 。双击运行测试,上传成功即可:可以看到刚才上传的更新,commit 内容是上传时间:首先打开window的任务计划程序:打开之后一次点击下图红框位置:输入任务计划名称:选择触发时间,有每天、
2023-05-09 19:14:24
200852
转载 MathType 使用的解决方案
打开“控制面板->系统和安全->Windows Defender 防火墙->(左边)高级设置->(左边)出站规则->(右边)新建规则”添加“此程序路径”,找到MathType所在路径,点击“下一步”当然,我们还是支持正版,如果有能力,建议购买官方软件。随便起个名字,比如“MathType”,点击“完成”键盘“Win+R”,打开“regedit.exe”现在,就可以愉快地使用MathType了。选择“域,专用,公用”,点击“下一步”选择“阻止连接”,点击“下一步”选择“程序”,点击“下一步”
2023-05-09 16:12:40
201984
原创 Linux 文件系统原理 / 虚拟文件系统VFS
VFS是一个抽象层,其向上提供了统一的文件访问接口,而向下则兼容了各种不不同类型的文件系统。不仅仅是诸如Ext2、Ext3、Ext4、XFS、windows家族的NTFS和Btrfs等常规意义上的文件系统,还可以是比如上图的proc等伪文件系统和设备,也可以是诸如NFS、CIFS等网络文件系统。VFS 采用标准的Linux系统调用读写位于不同物理介质上的不同文件系统,即为各类文件系统提供了一个统一的操作界面和应用编程接口,VFS是一个内核软件层。
2023-05-08 20:45:26
200787
1
原创 Linux 内存分配/内存管理 相关接口
一个进程可以通过增加堆的尺寸来分配内存。堆是一个用来存放动态分配的变量的空间,它位于未初始化数据段(bss)之后,它的顶叫做 `program break` ,这个地方会根据内存的分配和释放而变化。一般来讲C语言堆内存的分配一般会使用 `malloc()` ,它是基于 `brk()和sbrk()` 所实现的。
2023-05-06 18:32:06
200690
原创 Linux 信号学习
早期Unix系统中的信号机制比较简单和原始,后来在实践中暴露出一些问题,因此,**把那些建立在早期机制上的信号叫做"不可靠信号",Linux 中信号值小于。如果进程当前正在执行信号处理函数,在处理信号期间接收到了新的信号,如果该信号是信号掩码中的成员,那么内核会将其阻塞,将该信号添加到进程的等待信号集(等待被处理,处于等待状态的信号)中,,从数字1开始顺序展开。在信号处理函数调用时,进程会自动将当前处理的信号添加到信号掩码字段中,这样保证了在处理一个给定的信号时,如果此信号再次发生,那么它将会被阻塞。
2023-05-04 20:48:34
201195
2
原创 Typora 文字快捷修改颜色
AutoHotkey 是一种 免费 和 开源 的微软Windows自定义脚本语言,最初旨在 提供简单的键盘快捷键或热键 , 快速创建宏和软件自动化 。参考网上其它代码,本脚本进行了改进,主要是不再使用 alt+1~7 来实现选色,而是通过 单按键循环的方式切换文本颜色 ,极大的提高了效率 。所有代码如下:快捷键Alt+`: 文本段落居中并改变颜色 , 每按下一次变换一种颜色 :快捷键Alt+1: 文本直接改变颜色 , 每按下一次变换一种颜色 :快捷键Alt+2: 引用 : 快捷键Alt+3: 强调
2023-05-04 10:58:29
203076
4
原创 C/C++中的数据结构对齐,#pragma pack() 和 __attribute__
数据结构对齐是指在计算机内存中排列和访问数据的方式。它包含三个独立但相关的问题:**数据对齐**(data alignment),**数据结构填充**( data structure padding)和**打包**(packing)。当被访问的数据长度为n个字节,并且基准地址是n个字节对齐的时候,就可以说一个内存访问是对齐的。如果一个内存指针指的是n字节长的原始数据,并且只允许它包含n字节对齐的地址,那么这个指针就被称为对齐的。在栈中的静态尺寸被称为 有界(bounded),在堆中的动态尺寸被称为 无界
2023-04-26 17:28:45
201430
原创 Windows Docker 端口占用错误解决
can't bind on the specified endpoint.(http code 500) server error - ports are not available.bind: An attempt was made to access a socket in a way forbidden by access permissions.这些都是端口占用的问题,很多时候都是Windows会保留部分tcp端口,这些端口范围内不可用:
2023-04-24 15:20:09
205760
2
原创 C/C++占位符,%x和%p的区别
今天遇到了一个很奇怪的问题,当使用`malloc`分配了一个堆空间后,分别尝试用`cout`和`printf`尝试打印该地址,出现了两个地址不一样的情况:可以看出两个地址低32位是一致的,出现问题的原因应该是`printf`显示不全导致的。
2023-04-23 19:13:30
205082
1
原创 快速引用网站标题链接到Markdown
1. 将JS脚本添加到书签栏,通过调用书签栏执行快速复制网页标题和链接 + 合成Markdown格式的方法2. TabCopy是一个非常强大的Chrome插件,可以快速按照用户要求复制各种类型的网站参考文本,并且还支持一键导出和自动排序。如果想更方便的实现,可以使用快捷键。
2023-04-21 21:09:27
200488
原创 Linux 文件描述符
在 Linux 操作系统中,当一个应用程序或进程操作系统资源时,首先会触发文件调用事件,通过应用程序或进程发送一个调用文件的信号给操作系统内核,内核会在 打开文件表 中增加一条记录,同时将打开文件表中新增的记录返回给应用程序或进程,而应用程序或进程接收到来自内核返回的信息,称为文件描述符(file desrciption)。
2023-04-14 22:33:52
200895
原创 【NVIDIA GPU 入门】综述
GPU作为机器学习的基础运算设备,基本上是无人不知无人不晓。可是你真的知道GPU的运行逻辑么?你真的会用GPU么?本文提供了GPU结构的背景知识、操作的执行方式以及深度学习操作的常见限制。在推理特定层或神经网络使用给定 GPU 的效率时,理解 GPU 执行的基础知识很有帮助。1. GPU的基本结构(GPU架构基础)2. 操作如何划分和并行执行(GPU 执行模型)3. 如何用算术强度估计性能限制(了解性能)4. 松散的深度学习操作类别和往往适用于每个类别的性能限制(DNN 操作类别)
2023-04-10 15:48:57
202125
原创 反差检测自动对焦(CDAF)与相位检测自动对焦(PDAF)原理
目前,PDAF主要应用于高端数码相机和智能手机上。它通过将像素分为左、右两组,接收不同方向的光线信息,并通过比较两个成像之间的相位差来确定焦点位置。PDAF的优点是快速对焦、适用于低光环境,但它需要特殊的硬件支持,且对镜头质量和设计有一定要求。CDAF则主要应用于入门级数码相机和相机模块化智能手机上。它通过计算成像中相邻像素之间的对比度来确定焦点位置。CDAF的优点是适用于各种类型的镜头和成像情况,但它对光线和对比度的要求比较高,且在低光环境下对焦速度较慢。
2023-03-31 16:30:59
209193
2
原创 彩色滤镜阵列CFA与Bayer滤镜
在彩色光电摄影中,可以通过分光,使用三个传感器分别捕获红、绿、蓝三个通道的颜色分量。但为了降低成本,绝大部分成像系统中采用单芯片 CMOS、CCD 传感器结合(Color Fiter Array,CFA)的方式捕获彩色图像,虽然牺牲了物理分辨率,但显著简化了结构,降低了价格。CFA阵列结构有许多种,它们不同的地方是 RGB 排列方式和各个颜色成分所占的比例不同,其中 CFA 中最流行的是被称为 Bayer(贝尔)模式的彩色滤镜阵列。
2023-03-28 18:07:12
202365
原创 vscode 中增加文件后缀类型的支持
遇到下面这种情况,某些后缀文件未被vscode识别,该如何解决?只需2步即可解决,打开命令窗口,输入。
2023-03-02 18:45:29
201659
原创 Buildroot 如何添加新的包(自建app)
本文介绍如何将新包(用户空间库或应用程序)集成到 Buildroot 中。它还显示了现有包是如何集成的,这是解决问题或调整其配置所必需的。
2023-03-02 16:43:44
202970
原创 KConfig语言学习(一文全览)
菜单选项可以有多个属性。并不要求这些属性可以用在任何地方。每个配置选项都必须指定类型。在5种类型中 tristate 和 string 为基本类型,其他类型都是基于这两个基本类型。bool 布尔类型:取值范围为Y/N。tristate 三态类型:取值范围为Y/N/M,相较bool类型,tristate类型的菜单项多了编译成内核模块的选项。string 字符串:默认菜单选项显示对应字符串。int 整型hex 十六进制和bool。
2023-03-01 16:49:01
205673
原创 Selenium 与(Firefox、GeckoDriver)和(Chrome、ChromeDriver)版本对应关系
Selenium ChromeDriver Chrome GeckoDriver Firefox下载地址Selenium Firefox Geckodriver 版本对应关系Chrome Chromedriver 版本对应关系
2022-11-23 16:02:42
205123
2
原创 Linux挂载Windows端NFS服务(实现板端Linux与PC互传文件)
kernel编译时打开NFS客户端。服务在宿主机打开kernel文件夹,先`make clean`,然后`make menuconfig`,进入配置界面:使用`/`查找`NFS`,找到`Network File Systems`配置项,如图这里是3,选择进入:进入后选择加载`NFS client support`模块,下面还有`NFS server support`模块,如果需要让系统作为服务端也可以打开。然后保存配置到`.config`,再`make`。make完成后,将导出的镜像烧写到板端flash。
2022-11-18 21:02:24
201193
原创 .ko 加载报错 “unknown symbol in module or invalid parameter” 排查解决方法
今天参照Sigmastar的文档,修改config重新编译kernel,打开板上RNDIS虚拟网口。猜想问题的原因应该是前置模块未加载,进行排查,最终得出了遇到相关问题的解决方法。可以看到,是由于缺乏一系列前置符号量导致该错误的。按照步骤重编后,在demo.sh加入。查询grep的输出,最终找到了来源是。我们在板上系统加载该ko文件,再加载。
2022-11-17 19:09:43
202759
3
原创 Keil Assistant 插件 fromelf 文件路径报错及hex、bin、axf、elf文件之间关系
如图,今天在VS Code上尝试使用插件进行MDK工程编译时出现错误:考虑报错的原因是fromel文件的路径错误。这说明我们的修改仅限于IDE,并没有修改到工程配置文件,而调用配置文件的Keil Assistant插件因为配置信息没修改,依然执行错误的路径。然后我打开工程执行文件`*.uvprojx`,搜索刚刚错误的路径,找到了文件里默认记录的fromelf位置:axf文件、hex文件与bin文件都是可以运行在单片机上的,它们都存储了编译器根据源代码生成的机器码,根据应用场合的不同,它们又有所区别。
2022-11-09 17:58:49
201629
原创 基于Opencv的RTSP实时流处理
主函数的逻辑如下:1. 生成两个通信量,包括保存堆栈和帧校验索引。2. 开启3(多)个独立线程,用来缓冲帧数据。3. 开启1个主线程,用来处理堆栈内数据。帧保存writewrite函数主要被独立线程调用,保存rtsp推上来的视频流数据至内存中,以便read函数消耗。这里用多少个线程进行保存取决于视频流大小。函数内增加了一个通信量帧校验,用来判断是否发生写入帧数据颠倒,避免图像闪烁卡顿。
2022-10-24 22:01:18
203905
3
原创 使用urlencode时报错“ImportError: No module named parse”
在centos上跑脚本时遇到windows调通的代码报错“ImportError: No module named parse”
2022-09-22 23:33:37
200464
原创 Linux 执行python脚本时格式字符串报错“SyntaxError: invalid syntax”
服务器部署python3代码时格式字符串报错“SyntaxError: invalid syntax”
2022-09-22 23:21:31
200976
Everything中文安装包(包含搜索程序和任务栏快捷搜索安装)
2021-08-22
Xshell-6.0.0089p.rar
2021-03-04
264最小系统.PDF
2021-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人