自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 win10/11停止更新

【2026亲测】彻底禁止Windows 10/11自动更新,让电脑暂停更新10年!-腾讯云开发者社区-腾讯云

2026-04-16 14:30:49 25

原创 Linux:页表

CPU 在获得线性地址后,会按照分页机制将其拆分为页目录索引、页表索引和页内偏移,通过多级页表计算并查找,最终得到对应的物理内存地址。Linux 内存管理(三)之分页机制_linux内存分页-优快云博客。

2025-12-25 17:56:08 296

原创 xv6 文件系统

文件名只是 inode 的引用,目录是一棵树结构。路径解析由当前目录决定,chdir 改变当前进程目录。mkdir/open/mknod 分别创建目录、普通文件、设备文件。inode 是文件本体,有唯一编号和链接数(nlink)。link 为同一 inode 创建第二个名字。unlink 删除“名字”,只有 nlink=0 且无 fd 才删除文件本体。open + unlink 可创建“无名字的临时文件”。

2025-12-12 08:18:06 574

原创 xv6 pipe管道

管道是 Unix 中一种高效、简洁的进程间通信机制。它利用文件描述符,将一个进程的输出直接连接到另一个进程的输入。正确使用管道的关键在于关闭不必要的文件描述符,从而保证读端能正确接收到 EOF。Shell 中的管道命令、I/O 重定向以及多进程协作,全部建立在这一机制之上。

2025-12-09 21:22:10 747

原创 xv6 文件描述符与 I/O 机制

应用程序只需要知道“我有几个编号 0/1/2/3…可以读写”它不需要关心这些编号背后连的是:文件、终端、管道,还是设备cat这种程序只写死了“从 0 读、向 1 写”shell 替你决定 0/1 连到哪里-> 就可以组合出重定向、管道等各种花式用法fork:复制一个进程(包括 fd 表)在子进程里:调整 fd(close/open/dup)exec:在这个已经调整好的环境上跑新程序fork 继承 fddup 复制 fd所以多个进程/多个 fd,可以像接力一样往同一个文件里顺序写东西。

2025-12-09 00:12:41 685

原创 第一章:xv6 进程、fork / exec / shell 机制笔记

fork:复制一个进程exec:在当前进程中换程序shell:fork 子进程,让子进程 exec。

2025-12-08 13:11:38 842

原创 Linux:交叉编译环境rootfs / sysroot

rootfs(Root File System)= 目标设备 Linux 启动后看到的也就是开发板真正使用的系统。sysroot = 交叉编译时给编译器用的“目标系统根目录”编译器通过它知道:“我要给 ARM Linux 编程序,不是给 PC。

2025-12-07 13:38:32 853

原创 Linux:交叉编译环境搭建(面试版)

实际搭建时,我通常从目标板 rootfs 或厂商 SDK 中提取 sysroot,确保链接的 glibc 和库版本与板子保持一致,避免运行时问题。sysroot 是交叉编译阶段给编译器使用的目标系统环境。我不是只会编 hello world,我理解工程化方式。**“rootfs 是目标板运行时的根文件系统;或 toolchain file 指定,

2025-12-07 13:36:12 274

原创 stm32:编码电机原理

电机轴带动磁钢旋转两个霍尔传感器检测磁场变化输出两路方波 A/B,相位相差 90°MCU 通过计数 A/B 的上升沿/下降沿得到转角通过 A/B 先后顺序判断方向通过计时统计脉冲数得到速度速度反馈(闭环)位置控制正反转识别距离测量七.编码器驱动编写(基于stm32)

2025-12-06 10:07:12 1035

原创 倒立摆调试笔记

位置环的 I 项可以少用甚至不用,因为位置控制天生不需要“持续输出力”。:最终不用力也能保持 → 初期加过多 I 会严重超调。目标:让小车能站稳且能回到目标位置(或者保持位置)⭐ 速度环需要 Ki,因为速度环必须克服摩擦力。不存在“唯一最佳参数”,只要系统稳定即可。越大系统越快,但抖动越大。当误差趋近 0 时,输出由历史累积决定。位置环输出作为角度环的目标(串级控制):增加阻尼,抑制快速变化,减少超调。直接由误差公式计算,不依赖历史输出。目标:让摆杆能立住,但横杆位置不准。

2025-12-05 18:42:02 693

原创 GPIO输入模式

复用输出模式意味着:这一根 GPIO 不再由你手动控制,而是交给某个外设(USART/TIM/SPI/I2C)接管。举几个例子你就懂了:USART TX → 由 USART 外设控制,不是你控制PWM → 由 TIMx 的比较寄存器决定占空比,你不能直接给 GPIO 写 0/1SPI SCK → 由 SPI 硬件自动产生时钟波形I²C SDA/SCL → 由 I²C 外设控制开漏总线时序AF 模式 = 外设“占用”了这根引脚GPIO 不再是普通 IO,而是变成外设的“输出接口”。

2025-12-05 18:17:45 858

原创 Linux:内存管理

Linux 内存管理就是让每个程序看到的都是虚拟地址,内核用“页”和“页表”帮它们找到真实的物理地址;内存不够时用 swap 临时放东西;空闲内存拿来做缓存;并通过多级页表和回收机制保证系统始终高效稳定。

2025-12-04 21:24:11 409

原创 Linux:用一个例子去理解线程池

确保任意时刻只有一个线程能读写任务队列和 stop 状态,并且让 worker 在等待任务时使用 condition_variable 进入睡眠并安全被唤醒。

2025-12-03 22:15:33 143

原创 Linux:读写锁详解

(不会互相阻塞)(写时禁止读、也禁止其他写)比普通互斥锁(mutex)更适合“读多写少”的场景。

2025-12-01 13:03:51 191

原创 Linux:信号量和条件变量的区别

这俩在 Linux 里经常拿来比较,在 FreeRTOS 里也有类似概念。

2025-12-01 13:03:27 383

原创 Linux:条件变量详解

/ 条件:0=不满足,1=满足。

2025-11-30 11:01:02 366

原创 Linux:线程创建的例子

【代码】Linux:线程创建的例子。

2025-11-30 10:55:54 124

原创 Linux:进程和线程的选择

你在 STM32 上写两个 Task,共享同一个全局变量 / 队列,这在 Linux 上,对应就是。像一个“独立的程序实例”:有自己一整套内存空间、文件描述符表、全局变量等。一个 Python,一个 C++,或者一个是外部程序 → 自然是进程。共享同一个进程的内存空间(代码段、全局变量、堆)一个进程在本机跑核心逻辑(权限更高、数据更重要)一个进程负责接收外网请求(暴露面大,不太安全)很自然就是两个进程,而不是勉强塞到一个进程里。都是一个程序里的模块,挂了就一起挂无所谓 →。

2025-11-29 22:36:22 664

原创 Linux:匿名管道和有名管道

用代码角度直观对比 👇。

2025-11-29 22:09:30 186

原创 Linux:共享内存核心语句整理

一般会写一个struct,然后用int ready;// 标志位(同步用)// 实际传递的字符串。

2025-11-28 08:55:54 438

原创 Linux:共享内存demo

在虚拟机里写一个简单的共享内存的demo练习,创建一个文件夹,在这个文件夹里写cpp文件,最后加一个makefile编译。

2025-11-28 08:44:55 254

原创 Linux:写一个自动编译脚本的例子

一个自动编译的例子

2025-11-26 15:27:23 264

原创 Linux:写一个makefile使用例子

一个makefile小例子

2025-11-26 15:23:07 328

原创 Qt:控件 show() 与父控件关系简洁笔记

不决定是否是顶层窗口。

2025-11-16 13:21:57 161

原创 Keil调试GD32时出现“could not stop cortex-m device”解决办法

通过分析发现系统复位问题主要源于看门狗电路。虽然万用表测量显示置位键电压3.3V正常,但最终发现是程序中的看门狗功能导致频繁复位。关闭看门狗后,系统恢复正常工作。这表明在调试复位电路时,除硬件检查外,还需关注软件配置的影响。(98字)

2025-11-11 08:57:27 192

原创 windows系统配置GitHub SSH密钥流程

记录了win下配置github ssh密钥的流程

2025-11-02 10:16:34 426

原创 Git cd命令进不去文件夹

解决方法:cd命令加上/d参数,比如 cd /d E:\Data。

2025-11-01 22:48:25 99

原创 PyTorch实战:CV模型从零搭建到部署

2025-11-01 22:27:20 426

空空如也

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

TA关注的人

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