u-boot 学习笔记
u-boot 学习笔记 u-boot分类 1.1. api 1.1.1. api.md 1.2. arch 1.2.1. arm 1.2.1.1. arm.md 1.2.1.2. assembly.md 1.2.2. arch.md 1.3. boot 1.3.1. bootm.md 1.3.2. bootretry.md 1.3.3. bootz.md 1.3.4. image.md 1.4. cmd 1.4.1. cmd.md 1.5. common 1.5.1. autoboot.md 1.5.2. board.md 1.5.3. cli.md 1.5.4. command.md 1.5.5. console.md 1.5.6. dmalloc.md 1.5.7. event.md 1.5.8. export.md 1.5.9. log.md 1.5.10. main.md 1.6. dm 1.6.1. adc.md 1.6.2. button.md 1.6.3. clock.md 1.6.4. core.md 1.6.5. dts.md 1....
虚拟机学习笔记系列
虚拟机学习笔记系列 1. Ubuntu 虚拟机根文件系统损坏故障的深度分析与修复 (个人博客链接) (CSDN链接) 2. VMware Ubuntu 24 (个人博客链接) 3. 安全移除VMware虚拟机数据磁盘的终极指南 (个人博客链接) (CSDN链接) 4. 解决因取消VMware快照删除导致的虚拟机磁盘损坏问题 (个人博客链接) (CSDN链接)
杂谈学习笔记系列
杂谈学习笔记系列 1. AS5600 12 位可编程非接触式电位器 (个人博客链接) (CSDN链接) 2. C++ virtual 关键字的沉思:为何“万物皆虚”是反模式? (个人博客链接) (CSDN链接) 3. Chrome书签图标“失踪”了?一招“同步大法”让它们全部回来! (个人博客链接) (CSDN链接) 4. Multi-Pass Review 还不够:为什么还需要专项 Profile 和 Fresh Diff Scope (个人博客链接) (CSDN链接) 5. NVIDIA驱动更新“翻车”?解决RTX 2060在Bilibili客户端无法加载4K视频的终极指南 (个人博客链接) (CSDN链接) 6. PotPlayer采集结束后崩溃?罪魁祸首竟是你的安装路径! (个人博客链接) (CSDN链接) 7. Rime输入法跨平台配置与同步教程:以雾凇拼音方案为例 (个人博客链接) (CSDN链接) 8. WIN11如何可以安装ISO (个人博客链接) (CSDN链接) 9. Win11新版“Apple设备”应用无法识别iPhone?终极解决方案来了! (个人博客链接...
VSCode学习笔记系列
VSCode学习笔记系列 1. Visual Studio Code 安装与更新故障排除:从“拒绝访问”到成功恢复的实践分析 (个人博客链接) (CSDN链接) 2. VS Code + GDB 远程调试中的系统库边界、跳过策略与反汇编排查 (个人博客链接) (CSDN链接) 3. VS Code Codex 登录失败(1455 端口占用)处理说明 (个人博客链接) (CSDN链接) 4. VS Code Remote GDB 调试动态库源码断点灰色:问题分析与解决方案 (个人博客链接) (CSDN链接)
MCU学习笔记系列
MCU学习笔记系列 1. ADC+DMA 目标数组无更新 解决办法 (个人博客链接) (CSDN链接) 2. ARM Cortex-M内核中DMA内存地址对齐的影响与效率权衡 (个人博客链接) (CSDN链接) 3. ARM原子操作 (个人博客链接) (CSDN链接) 4. ART-PI在KEIL的使用教程(个人笔记) (个人博客链接) (CSDN链接) 5. ART-Pi开发者的福音:一个“宝藏级”实践仓库,点亮你的学习之路 (个人博客链接) (CSDN链接) 6. autogen_parameter_manager:面向固件产品参数的生成式管理软件包 (个人博客链接) (CSDN链接) 7. CUBE 配置SDRAM 无法选择地址问题解决办法 (个人博客链接) (CSDN链接) 8. CUBEMXV6 (个人博客链接) 9. FEERTOS的TICKLESS模式下最大低功耗的时间只能是349tick的原因分析 (个人博客链接) (CSDN链接) 10. FNV-1a 64-bit 在 MCU-32bit 上的实现与取舍:从原理、代码到适用边界 (个人博客链接) (CSDN链接...
VMware Ubuntu 24
VMware Ubuntu 24.04 虚拟机从 124 GB 压缩到 33 GB:快照合并、VMDK 占用与 disk shrink 实战 摘要:记录 Ubuntu 24.04 在 VMware Workstation 中从约 124 GB 收缩到约 33 GB 的过程,解释快照合并、VMDK 分片、Guest 空闲块与 VMware Tools disk shrink 的关系。 @[toc]在 VMware Workstation 中长期使用 Ubuntu 后,很容易遇到一个看起来矛盾的问题:Ubuntu 内部明明只用了三十多 GB,Windows 上保存虚拟机的目录却已经膨胀到一百多 GB;即使在 Ubuntu 中删除了大量文件,宿主机上的 VMDK 也不会同步缩小。 这次实际环境就是这样:Windows 上的虚拟机目录一度约 124 GB,而 Ubuntu 根文件系统实际只使用约 29~32 GB。处理中还出现了一个很容易误判的阶段:删除快照,并在 VMware 中执行压缩和碎片整理后,虚拟磁盘的“当前大小”反而变成了 88.4 GB。 最终,在确认快照链已经合并...
docker学习笔记系列
docker学习笔记系列 1. 01-Docker开发环境容器化:从基本概念到Ubuntu20 (个人博客链接) 2. 02-大型SDK开发镜像工程化:BuildKit、Buildx与项目脚本 (个人博客链接) (CSDN链接) 3. 03-交叉编译开发容器故障排查:从CMakeCache到目标库链接 (个人博客链接) (CSDN链接) 4. 04-Docker常用语法与命令:CLI、Dockerfile与Compose速查 (个人博客链接) (CSDN链接) 5. 05-Docker开发镜像跨主机迁移:从Ubuntu20 (个人博客链接) 6. 06-Docker开发环境到底要交付什么:镜像、源码与运行脚本 (个人博客链接) (CSDN链接) 7. 07-大型Docker镜像导出导入工程化:可靠性、磁盘与压缩 (个人博客链接) 8. 08-Docker29与containerd-image-store:镜像为什么会保存两种形态 (个人博客链接) 9. 09-大型Docker开发镜像磁盘排查:containerd、缓存与容量规划 (个人博客链接)
lely-canopen-rtt:为什么推荐在 RT-Thread 上使用 Lely CANopen 构建主站
lely-canopen-rtt:为什么推荐在 RT-Thread 上使用 Lely CANopen 构建主站 摘要:面向 RT-Thread MCU 的 CANopen 主站选型,比较 Lely、CANopenNode、CanFestival 与商业栈,并说明本软件包的架构、静态对象字典生成和使用流程。 仓库地址:https://github.com/wdfk-prog/lely-canopen-rtt @[toc] 推荐判断如果项目的目标是在 RT-Thread MCU 上实现一个真正承担网络管理职责的 CANopen 主站,而不是只做几条 NMT 命令和简单 SDO 读写,我更推荐以 Lely CANopen 为协议栈核心,再通过 lely-canopen-rtt 这一层完成 RT-Thread 适配。 推荐它的原因并不是“Lely 支持 CANopen,所以可以用”,而是它的设计方式和主站需求比较匹配:Lely 本身把 NMT Master、远端节点 boot、配置请求、SDO Client、PDO、SYNC、EMCY、TIME 等能力组织成完整的 CANop...
05-Docker开发镜像跨主机迁移:从Ubuntu20
Docker 开发镜像跨主机迁移:从 Ubuntu 20.04 到 24.04 摘要:说明如何把已验证的 Ubuntu 20.04 开发镜像迁移到 Ubuntu 24.04,并逐层验证 Docker、镜像、源码挂载和真实构建。 @[toc]旧开发机长期使用 Ubuntu 20.04,交叉编译 SDK、CMake 和各种依赖已经调通;新机器升级到 Ubuntu 24.04 后,最稳妥的做法往往不是重装整套依赖,而是继续运行已经验证过的开发镜像。 1. 宿主机升级,不等于容器也升级假设我们已经有一张镜像: 1cross-dev:20.04 它内部包含: 123456Ubuntu 20.04 用户空间Yocto SDK交叉编译器CMake / Make / Python代码生成工具entrypoint 把它迁移到 Ubuntu 24.04 后,结构是: 123456flowchart TB Host["Ubuntu 24.04 宿主机"] --> Engine["Docker Engine"] Engine --&g...
06-Docker开发环境到底要交付什么:镜像、源码与运行脚本
Docker 开发环境到底要交付什么:镜像、源码与运行脚本 摘要:从团队交付角度区分 Docker 镜像、bind mount 源码、entrypoint、Compose 和 dev.sh,明确哪些需要随镜像一起交给使用者。 @[toc]开发镜像自己能运行以后,下一个问题往往不是“怎么构建”,而是: 我要把这套环境给另一个开发者,他到底需要拿到哪些文件? 最容易产生误解的是 entrypoint.sh、compose.yaml 和 dev.sh。 它们看起来都和“启动容器”有关,但所处层次完全不同。 1. 先把开发环境分成三层可以先用一张图建立边界: 123456flowchart TB User["开发者"] --> Dev["dev.sh"] Dev --> Compose["compose.yaml / docker run 参数"] Compose --> Image["Docker Image"] Image --> Entry[&...








