
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
运营商淘汰的电视盒子三四十块一台,拆开是一套完整 ARM 小主机。用 amlogic-s9xxx-armbian(9.5k Star)把它刷成 Armbian,变成低功耗 Linux 服务器,跑 Docker、NAS、软路由。按选盒子、刷机、装软件、踩坑的顺序,命令可复制,200+ 机型可刷。

¥57 的 ESP32 开发板刷 xiaozhi-esp32 固件,即可变成大模型语音助手:支持语音对话,并通过 MCP 协议控制灯、舵机等硬件,大模型走免费的 Qwen 实时接口。本文涵盖项目定位、硬件选型对比、刷固件与配网步骤、MCP 工具注册核心代码,以及 Flash 容量、离线唤醒、新版回归等常见踩坑。

手写 Makefile 维护成本高:加源文件要改两处、换 MCU 要重写、加单元测试要另起一套构建系统。本文用四步把嵌入式项目迁移到 CMake:交叉编译工具链配置、STM32 与 QEMU 多目标、Unity 单元测试集成、Makefile 到 CMake 的逐项对照,每步给出可复制模板。

在树莓派上用 whisper.cpp(GitHub 51K Star)部署离线语音识别:编译安装、模型选型、基础转录与流式转录参数调优、量化省内存,附树莓派 4 性能数据与注意事项。

用 CANopenNode 开源协议栈在 STM32 上实现 CANopen 从站:对象字典(索引/子索引)宏声明、Heartbeat/EMCY/NMT 三种内置机制、HAL 下 CAN 收发的移植方法,附 CAN-FD 与官方认证等选型边界。

STM32 运行中触发 HardFault 时通常只剩一行 HARD FAULT 输出,本文给出从寄存器反推崩溃现场的三步法:从 LR 判断 MSP/PSP 栈指针、读 CFSR 寄存器分类故障类型、用 addr2line 把 fault_pc 反向符号化到源码行。附完整的 dump_fault 实现(串口直接打印 PC/CFSR/HFSR),并说明不精确总线故障、锁死、栈帧损坏三种救不了的情况。

本文介绍用 TinyUSB 在 STM32 上实现 USB HID 键盘设备的完整流程:对比 ST HAL 与 TinyUSB 的描述符写法差异(字节数组 vs 结构体赋值),说明设备/配置/HID 报告三类描述符,给出 CubeMX 配时钟、拉源码、写描述符、实现回调、主循环发数据五步,并列出移植层覆盖、多实例 HID、Isochronous 传输、调试等局限。

本文介绍 MCUBoot 开源 secure bootloader 在 STM32 上的完整配置:说明签名验证的三层机制(SHA-256 完整性、ECDSA-P256 真实性、版本号防回滚)、双 Slot Flash 布局与镜像格式,给出生成密钥、编译 MCUBoot、imgtool 签名、烧写、上电六步实操,以及 Swap/Overwrite 两种 OTA 升级与自动回滚机制,并列出 Flash

RT-Thread 是 2006 年诞生的国产开源实时操作系统(12.1k Star,Apache 2.0),最小内核 Nano 版仅 3KB Flash + 1.2KB RAM。本文对比 RT-Thread 与 FreeRTOS 的架构差异(设备框架、DFS 文件系统、网络协议栈、FinSH Shell),给出 QEMU 零成本上手步骤,并列出功能安全认证、团队迁移成本等选型边界。

esptool 是 ESP32 的底层命令行工具,除烧录外还支持 Flash 加密、eFuse 编程、多固件合并、读回校验等操作。本文介绍 5 个常用命令的用法与适用场景,以及 eFuse 不可逆、Flash 加密并非银弹等注意事项。








