Ubuntu 22.04 实时内核打造指南:PREEMPT_RT 补丁完整实操
开发自己的 Ubuntu 22.04 实时内核发行版一次完整打 RT 补丁的实操记录这两年做数据采集和机器人的项目越来越多现场调试时遇到最多的一个问题就是“为什么我 ping 一下走个网络电机控制就抖了一下”说白了普通 Linux 内核的调度延迟在重负载下根本没法保证你用 Ubuntu 22.04 跑运动控制、音频工作站、工业数据采集延迟飙到几毫秒甚至几十毫秒都是常有的事。打上 PREEMPT_RT 实时补丁把调度延迟压缩到几十微秒级很多恼火的问题才能从根本上解决。我手头正好有一台装了 Ubuntu 22.04 LTS 的工控机主板是常见的 B550 芯片组CPU 是 8 核 16 线程的锐龙之前用 5.15 默内核跑 EtherCAT 主站抖动大得让人崩溃。这次决定从头走一遍完整流程下载主线内核源码、获取对应的 RT 补丁、打补丁、配置、编译、打包安装、实测延迟。整个过程踩了不少坑但最后成功把延迟从毫秒级压到了几十微秒。这篇文章就把全流程和排障经历写清楚给同样需要实时性能的朋友们提供一份可以直接参考的方案。1. PREEMPT_RT 补丁到底改变了什么1.1 一次让我下决心的故障排查我之前在跑一个视觉定位的项目OpenCV 检测线程和 USB 摄像头驱动、电机控制线程跑在同一台 Ubuntu 上。表面上看一切正常但只要桌面环境有动画、后台有日志写入电机执行器反馈的闭环周期就会偶尔跳一下。抓了半天 log发现一个 40 多毫秒的调度延迟峰值——这在视觉任务里根本察觉不到但对 1kHz 的伺服控制来说就是灾难。普通内核在大规模并发、中断频繁和 CPU 频率动态调整的情况下任务的唤醒延迟和上下文切换时间都不可控。那次排查让我彻底明白要么上专用实时系统要么老老实实给内核打 PREEMPT_RT 补丁。1.2 实时补丁的进化路径Linux 实时补丁项目最早由 Ingo Molnár 发起后来演变为 PREEMPT_RT 补丁集长期作为一个独立补丁系列维护在 kernel.org 的 projects/rt 目录下。它的核心目标是把内核变成“可完全抢占”的结构普通进程可以被高优先级实时线程随时打断中断线程化处理锁机制改成可抢占的 rtmutex原本关中断保护的一些临界区被逐步替换成可延迟的机制。这样一来实时任务获得 CPU 的时间就变得高度可控。到 6.12 版本PREEMPT_RT 的大部分核心改动已经合入主线内核以前那种必须手动下载补丁、精确匹配版本号的日子正在过去。不过现实中大量项目还是用 5.15、6.1、6.6 这些 LTS 或半 LTS 内核而且 Ubuntu 22.04 默认给的就是 5.15所以手动打补丁仍然是现阶段最实用的一招。1.3 谁真正需要它需要实时内核的典型场景很清晰音频制作Jack/Gnome Sound On Sound 这种低延迟音频处理、工业控制EtherCAT、Modbus 主站、机器人运动控制ROS2 的 realtime 执行器、科学数据采集高精度示波器、传感器同步采样。反过来说如果你只是跑跑 Web 服务器、写写代码那完全没必要折腾实时内核默认内核可能反而综合体验更好。想清楚这一点再决定是否动手能少走很多弯路。2. 动手前的环境准备2.1 硬件与系统检查工欲善其事必先利其器。打 RT 补丁最怕的就是中途发现磁盘空间不够、内存太小编译到一半崩溃。我的建议是先确认三件事系统版本确认你确实是 Ubuntu 22.04用lsb_release -a看一眼版本号。磁盘剩余空间内核源码解压后大概 1.5GB 左右编译过程会产生大量临时文件建议预留至少 15GB 空间用df -h确认。内存编译内核推荐 4GB 以上内存如果内存小建议准备 swap否则make -j$(nproc)很容易被 OOM Killer 干掉。当前内核版本也要记住后面配置的时候要用它做起点uname -r我的机器输出的是5.15.0-91-generic标准 Ubuntu 内核。你不需要在 5.15 基础上打补丁因为主线 RT 补丁和 Ubuntu 定制内核会有一些冲突后面我会解释为什么推荐直接用主线内核。2.2 工具链与依赖安装内核编译需要一整套工具链。Ubuntu 22.04 下我建议一次性把依赖装齐避免编译到一半报错再手忙脚乱找包sudo apt update sudo apt upgrade sudo apt install build-essential flex bison bc libssl-dev libelf-dev \ libncurses-dev git fakeroot dwarves dpkg-dev这里重点说几个包的作用flex 和 bison内核构建的配置解析器依赖它们缺了会在make menuconfig或者生成头文件时直接报语法错误。libssl-dev内核签名和某些模块编译需要 OpenSSL 头文件。libelf-dev处理 ELF 格式的调试信息如果缺它编译时会出现 BTF 相关错误我在 6.x 内核上踩过几次非常典型。dwarves生成 BTFBPF Type Format信息用的新版内核默认开启 CONFIG_DEBUG_INFO_BTF缺这个包会直接编译失败。2.3 选择内核源码版本与 RT 补丁版本这是全流程中最重要的匹配步骤。RT 补丁是跟着某个具体内核版本走的例如patches-6.6.32-rt30.tar.xz只能打在linux-6.6.32的源码树上版本号差一个字符都打不上。获取源码和补丁的地址很稳定内核源码https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.32.tar.xzRT 补丁https://cdn.kernel.org/pub/linux/kernel/projects/rt/6.6/patches-6.6.32-rt30.tar.xz以我这次用的 6.6.32 为例下载命令cd ~ mkdir linux-rt-build cd linux-rt-build wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.32.tar.xz wget https://cdn.kernel.org/pub/linux/kernel/projects/rt/6.6/patches-6.6.32-rt30.tar.xz选版本的考量也很实际6.6 是一个维护期很长的稳定内核RT 补丁支持到位而且对新的 AMD/Intel 平台兼容性好。你完全可以选 6.1 或者 5.15.x 的最新版但 6.6 综合体验更稳。下载完记得校验一下哈希避免源文件损坏导致后面白忙活sha256sum linux-6.6.32.tar.xz patches-6.6.32-rt30.tar.xz去 kernel.org 网站上对应的目录里比对 sha256 值确认无误再继续。3. 补丁应用与内核配置3.1 解压源码并打入 RT 补丁这一步是整个流程里最需要耐心的部分。先解压源码然后解压补丁包直接把补丁打到源码树上cd ~/linux-rt-build tar -xf linux-6.6.32.tar.xz cd linux-6.6.32 xzcat ../patches-6.6.32-rt30.tar.xz | patch -p1patch -p1的意思是忽略路径的第一层目录让补丁文件的路径和源码目录结构对上。如果一切顺利你会看到一系列patching file ...的输出。如果某个补丁打不上通常是因为源码版本不对或者你之前已经打过了。输出里出现FAILED时别硬着头皮继续把源码目录删掉重新解压严格核对版本号再打。打完补丁后可以用grep CONFIG_PREEMPT_RT搜索一下内核配置文件模板确认补丁确实生效了grep -r CONFIG_PREEMPT_RT init/Kconfig如果输出里有config PREEMPT_RT相关的段落说明补丁成功注入了配置选项。3.2 基于现有配置快速起步从零开始用make defconfig生成的配置非常保守很多驱动都没有启用直接编译出来的内核可能连你的网卡、显卡都认不出来。我推荐的方案是拿当前系统的配置文件当底子然后让内核自动适配新选项cp /boot/config-$(uname -r) .config make olddefconfigolddefconfig会帮你把当前系统没用过的、新内核新增的配置项都填上默认值这个过程基本是自动的省时省力。那几个小时编译完的内核至少能保证和你现在的硬件兼容性差不多。不过要注意Ubuntu 官方内核配置里有些选项是针对 5.15 内核的专属设置直接用在 6.6 上可能略有偏差但绝大多数情况没问题。真正需要注意的是签名和 secure boot 相关选项如果你的机器开了 UEFI Secure Boot后面编译完安装时可能要额外处理签名或者直接进 BIOS 临时关掉 Secure Boot一般只为一次启动。3.3 在 menuconfig 里勾选实时关键选项配置流程的核心在make menuconfigmake menuconfig进入菜单后依次找到General setup - Preemption Model - (X) Fully Preemptible Kernel (Real-Time)这里看到Fully Preemptible Kernel (Real-Time)这个选项说明补丁生效了。选中它内核就会启用CONFIG_PREEMPT_RT。除了这个核心选项还有几个关联项值得检查Timer frequency建议设为1000 Hz或者更高对应CONFIG_HZ_1000。对于实时任务高频率的时钟中断能提供更精细的时间片我一般直接选 1000Hz。CPU isolation可选如果你要彻底隔离某些核心给实时任务可以开启CPU Isolation相关的配置但在桌面/工控混合负载的机器上不建议启用用内核启动参数isolcpus控制更灵活。RT group scheduling默认开启状态下普通用户要运行实时任务会比较受限后面我会讲到怎么调整。配置完保存退出生成最终的.config。3.4 配置阶段容易踩的坑我见过很多人在这个环节卡住常见问题有直接拿发行版配置用make oldconfig而不是make olddefconfig每遇到一个新选项都停下来问你一遍几十个问题能把人问到怀疑人生。用olddefconfig自动按默认策略处理更省心。忘记检查CONFIG_PREEMPT_RT有些版本的内核里实时抢占选项不叫RT而叫Fully Preemptible Kernel选错成Voluntary Kernel Preemption就白搭了。配置完务必确认一下grep CONFIG_PREEMPT .config看到CONFIG_PREEMPT_RTy才算成功。没有启用/proc的/dev/cpu_dma_latency支持这个虽然在大多数配置里默认开启但对后期做实时调优很重要确认一下CONFIG_CPU_LATENCY_QOS是否为y。4. 编译打包与安装4.1 用 deb-pkg 生成内核安装包编译内核有很多方式最推荐的是直接生成 Debian 安装包这样安装、卸载、回退都方便。进入源码目录后执行make -j$(nproc) deb-pkgnproc会返回你的 CPU 线程数像我这台 16 线程的机器就用-j16。编译时间取决于机器性能我的锐龙 8 核编译了大约 25 分钟如果是 4 核老机器可能要 1 小时以上。期间可以去喝杯茶但不要随便中断否则可能是漫长的重新编译。编译完成后你会在源码目录的上一级也就是~/linux-rt-build/看到生成的几个.deb文件linux-headers-6.6.32-rt30_6.6.32-rt30-1_amd64.deb linux-image-6.6.32-rt30_6.6.32-rt30-1_amd64.deb linux-libc-dev_6.6.32-rt30-1_amd64.deblinux-image是内核本体linux-headers是编译外部模块所需的头文件这两个必须装。linux-libc-dev通常不用动除非你有特殊需求。4.2 安装内核并更新引导安装命令很简单cd ~/linux-rt-build sudo dpkg -i linux-image-6.6.32-rt30_6.6.32-rt30-1_amd64.deb linux-headers-6.6.32-rt30_6.6.32-rt30-1_amd64.deb sudo update-grubupdate-grub会自动扫描所有可用的内核把新的实时内核加入启动菜单。重启前建议先看一眼sudo grep menuentry /boot/grub/grub.cfg | grep 6.6.32确认新内核已经在启动列表里再执行sudo reboot4.3 启动失败如何安全回退重启进不了系统的场景并不罕见原因五花八门最常见是显卡驱动或网卡驱动没编进新内核。遇到这种情况别慌GRUB 菜单里会保留旧内核条目直接选Advanced options for Ubuntu在子菜单里启动旧内核比如 5.15.0-91-generic。回到系统后先删掉新内核的包sudo dpkg -r linux-image-6.6.32-rt30 linux-headers-6.6.32-rt30 sudo update-grub然后排查问题。多数时候是缺固件或驱动模块可以在旧内核下重新配置找到对应驱动选项编进内核或作为模块再重新编译安装。也遇到过debian-pkg生成包时依赖不完整导致 initramfs 生成失败的可以手动重建sudo update-initramfs -c -k 6.6.32-rt30另外提醒一句如果 BIOS 里开了 Secure Boot新内核如果不带签名肯定启动不了。先用旧内核回到系统然后安装并注册shim-signed和mokutil或者进 BIOS 关闭 Secure Boot推荐后者省事。5. 验证实时性能5.1 确认当前内核与调度策略重启后第一件事确认你真的进入了 RT 内核uname -r sudo cat /proc/version如果输出看到6.6.32-rt30恭喜RT 补丁已经生效。再检查内核配置grep PREEMPT /boot/config-$(uname -r)正常情况会看到CONFIG_PREEMPT_RTy。进一步确认实时调度的可用策略chrt -m在输出里SCHED_FIFO和SCHED_RR应该都在。对着输出说明你的内核已经具备实时进程调度能力。5.2 用 cyclictest 测真实延迟验证实时性最通用的工具是cyclictest来自 rt-tests 软件包sudo apt install rt-tests测一个最简单的单线程延迟sudo cyclictest -t1 -p 99 -n -l 100000参数说明-t1启动 1 个测试线程-p 99设置实时优先级为 99最高优先级-n使用 clock_nanosleep计时更准-l 100000循环 10 万次输出大致会是这样T: 0 ( 1234) P:99 I:1000 C: 100000 Min: 5 Act: 12 Avg: 8 Max: 63重点看Max那一列。普通内核在同样测试下Max动辄上几百甚至几千微秒而 RT 内核的Max一般能稳定在 30-80 微秒之间某些优化好的机器能做到 20 微秒以下。如果想测多核并发下的表现可以这样sudo cyclictest -t 8 -p 80 -n -i 1000 -d 100 -l 100000这会在 8 个不同的 CPU 核心上各起一个测试线程互相争斗调度看最大延迟。多核并发下的峰值延迟更能反映真实环境建议以这个数据为准。5.3 普通用户运行实时任务所需权限我遇到过这种情况用普通用户跑cyclictest -p 99时报错Operation not permitted这是因为实时任务需要CAP_SYS_NICE能力。临时解法是用 sudo但生产环境总不能一直用 root 跑业务吧。正确做法是通过 PAM 限制文件给指定用户授权。编辑/etc/security/limits.conf把用户myuser加入组soft rtprio 99 hard rtprio 99以及 memlock 限制也要放开实时任务最忌讳内存被换出soft memlock unlimited hard memlock unlimited然后重新登录或者sudo systemctl restart user$(id -u myuser)让配置生效。验证命令ulimit -r # 应该输出 99把用户加入rt组也能解决部分权限问题但 limits.conf 的方法是最直接的。6. 高频问题和排障实录6.1 编译报 BTF 错误的处理我在 6.6 内核编译时遇到过这种报错BTF: .tmp_vmlinux.btf: pahole (pahole) is not available原因就是缺dwarves包。装上它sudo apt install dwarves然后清理编译状态重新来make clean make -j$(nproc) deb-pkg如果还报 BTF 错误干脆在配置里关掉 BTFmake menuconfig # Kernel hacking - Generate BTF info - 取消勾选这是最省事的兜底方案代价是 BPF 相关功能的部分调试信息缺失对大多数 RT 应用没影响。6.2 重启后 NVIDIA/AMD 显卡驱动失效桌面用户很容易遇到这个问题。Ubuntu 默认装了 DKMS 版 NVIDIA 驱动内核更新后 DKMS 会尝试自动重新编译但只要编译环境有问题就会静默失败。我遇到过编译报unable to find the kernel source tree原因是我没有安装对应的 headers 包。解决方案sudo dpkg -i linux-headers-6.6.32-rt30_*.deb sudo dkms install nvidia/535.XX -k 6.6.32-rt30AMD 显卡用户通常会好一点因为 amdgpu 驱动已经在内核模块里只要固件没缺就没事。如果进不了图形界面切到 TTYCtrlAltF3装好 DKMS 后reboot。6.3 虚拟机和云平台别抱太大希望如果你打算在 VMware/VirtualBox/云主机上装 RT 内核要有一个心理预期实时延迟的改善会大打折扣。虚拟机本身要经过虚拟化层调度宿主机延迟直接影响客户机所以cyclictest的 Max 值很难降到很理想的范围。实测我的 VMware Workstation 里跑 RT 内核延迟大概在 100-200 微秒比裸机差不少。所以打 RT 补丁必须落在物理机上虚拟化环境更适合做功能验证不适合做性能验收。6.4 无线网卡/蓝牙等掉线问题RT 内核配置里一些和中断/频率调整相关的驱动行为会变化最常见的是部分 USB 无线网卡在-rt内核下出现偶发断流。排查思路很直接确认硬件被识别lspci -k和lsusb检查固件加载日志dmesg | grep firmware把无线网卡驱动改成模块并强制加载echo options driver disable_agg1 | sudo tee /etc/modprobe.d/rt-fix.conf差点忘了说一个最关键的坑RT 内核下不要轻易用irqbalance的动态中断分配策略默认的irqbalance在某些平台上会让实时线程的中断跑到慢速核心上反而加大延迟。建议在启动参数里加上irqaffinity或者干脆关掉irqbalancesudo systemctl mask irqbalance注意关闭 irqbalance 在多路 CPU 平台上如果各核心性能差异很大手动绑定中断到具体核心反而是必须的。别直接照抄先观察自己的 CPU 拓扑再决定。6.5 RT 内核排障速查表症状可能原因解决方案编译期间 BTF 错误缺少 dwarves安装 dwarves 或在配置里关闭 DEBUG_INFO_BTF编译期间找不到 openssl 头文件缺少 libssl-devapt 安装 libssl-dev装完重启卡在“停在一个黑屏界面”GPU 驱动没跟上或固件缺失进入旧内核安装 headers 后重跑 DKMSchrt -m看不到 SCHED_FIFO没实际进入 RT 内核确认 uname -r 是否带 rt检查 CONFIG_PREEMPT_RT非 root 运行 cyclictest 报 Operation not permitted没有 rtprio 权限配置 limits.conf 中的 rtprio 和 memlockRT 内核下 WiFi 经常断流网卡驱动交互问题查看 dmesg调整网卡驱动参数或更新固件启动报Kernel panic - not syncing: VFS: Unable to mount root fs文件系统驱动没编译进内核确认 .config 中 EXT4/XFS 等驱动为 built-in桌面环境卡顿严重实时调度策略抢占资源只在指定核心跑实时任务用 isolcpus 隔离核心7. 我的实操心得和后续计划这次从 5.15 官方内核切换到 6.6.32-rt30 的过程最深刻的感受是RT 补丁的难点不在打补丁而在配置和验证。很多人在编译阶段折腾太久反而忽略了验证环节。打上补丁之后你必须用真实负载测单跑一个 cyclictest 只能说明调度的下限能力。我自己是把运动控制线程加上去再开一个实时音频测试综合观察系统在压力下的表现这样测出来的数据才算数。另外一个小技巧如果你经常需要在这类实时环境里工作可以做个一键安装脚本把下载、解压、打补丁、配置、编译、安装的流程固化成 shell 脚本下次换机器或者升级内核版本时能省两小时以上。脚本里最重要的一点是自动校验源码和补丁的版本号是否匹配我已经因为手上同时存了太多版本号而搞混过两次了。后边我打算再尝试把 RT 补丁的方案扩展到 Ubuntu 24.04 上顺便研究一下怎么结合 cpuset 做 CPU 隔离和核绑定让实时任务跑在专用核上非实时任务跑在剩余核上。这套组合拳打下来真正高要求的控制项目也能在 Ubuntu 上站住脚。如果各位在编译或者运行阶段遇到别的坑欢迎在评论区交流我踩过的坑也不止上面这六个。

相关新闻

为什么 qwen 3.7 flash 评论很少?从 API 调用日志看真实使用门槛

为什么 qwen 3.7 flash 评论很少?从 API 调用日志看真实使用门槛

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 0:51:25 阅读更多 →
苹果CMS10粉色视频站模板开发全流程实战拆解

苹果CMS10粉色视频站模板开发全流程实战拆解

这阵子把我手上那套基于苹果CMS10的视频站点彻底翻新了一版,核心产出就是一套粉色风格的视频站模板,项目代号YMYS007,站点频道主推方向叫“魅力社”,主要面向年轻女性用户,内容集中在美妆穿搭、生活方式、知识技能这一…

2026/10/10 0:51:24 阅读更多 →
手机端安卓开发闭环:KMM+Compose触控编码实践

手机端安卓开发闭环:KMM+Compose触控编码实践

1. 项目概述:为什么“一部手机开发安卓 App”不再是天方夜谭你有没有过这样的时刻:在地铁上突然想到一个App点子,掏出手机想记下来,却发现备忘录太简陋、原型工具打不开、连最基础的UI预览都做不到;或者深夜改完一段逻…

2026/10/10 0:51:24 阅读更多 →

最新新闻

零代码搭建本地知识库:FireCrawl爬取+CherryStudio构建实战指南(TaoToken 统一 Key 接入版)

零代码搭建本地知识库:FireCrawl爬取+CherryStudio构建实战指南(TaoToken 统一 Key 接入版)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:37:42 阅读更多 →
AI应用开发工程师面试题汇总(五):踩坑复盘与实战经验25问|TaoToken统一Key接入RAG与Prompt工程

AI应用开发工程师面试题汇总(五):踩坑复盘与实战经验25问|TaoToken统一Key接入RAG与Prompt工程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:37:42 阅读更多 →
OpenClaw技能安全执行MySQL增删改查:让大模型只懂抽参,执行器守护数据库

OpenClaw技能安全执行MySQL增删改查:让大模型只懂抽参,执行器守护数据库

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:37:42 阅读更多 →
【VS Code】Windows10下VS Code配置C/C++语言环境:MinGW-w64与配置文件全流程

【VS Code】Windows10下VS Code配置C/C++语言环境:MinGW-w64与配置文件全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:37:42 阅读更多 →
project/workspace设计:monorepo下工作单元的组织与隔离策略与TaoToken统一Key实践

project/workspace设计:monorepo下工作单元的组织与隔离策略与TaoToken统一Key实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:37:41 阅读更多 →
防静电珍珠棉正规生产厂家推荐 资质齐全广受信赖

防静电珍珠棉正规生产厂家推荐 资质齐全广受信赖

开篇品牌摘要东莞市亿达包装材料有限公司是一家集研发、定制生产、包装方案配套服务于一体的专业包装材料企业,主营EPE珍珠棉、防静电珍珠棉、气泡袋、复铝膜保温异型材等包装产品,可为各行业客户提供贴合需求的全流程包装解决方案。企业基础介绍东莞市亿…

2026/10/10 1:36:41 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →