banner
按时间整理的学习笔记。

文章归档

Scroll down
2026 年的归档

嵌入式设备经常被直接断电。配置文件、日志、数据库、升级状态如果没有设计好,异常断电后就可能损坏。存储设计不是文件能写进去就结束了,还要考虑写入频率、原子性和 Flash 寿命。

设备树和驱动是嵌入式 Linux 的核心内容之一。很多外设问题不是驱动代码错了,而是设备树、引脚复用、电源、时钟、复位脚或硬件连接出了问题。入门时要先理解“设备树描述硬件,驱动使用这些描述”。

嵌入式设备部署到现场后,不能依赖人工登录重启服务。网络异常、进程崩溃、死锁、内存泄漏、硬件偶发故障都可能发生。自恢复能力是产品稳定性的底线。

嵌入式开发真正拉开差距的地方,是定位问题的能力。一个问题发生后,能不能快速判断属于启动、文件系统、网络、应用、驱动还是硬件,直接决定修复效率。

设备能在实验室跑起来,只是第一步。真正部署到现场后,固件升级能力会变得非常关键。没有可靠 OTA,后续修 bug、加功能、修安全问题都会变成高风险操作。

很多嵌入式 Linux 产品的核心不是驱动,而是设备服务。它负责联网、接收云端或其他设备的控制协议、保存配置、上报状态、处理升级和自恢复。设备服务写得稳不稳,直接影响产品现场表现。

Buildroot 适合快速构建精简嵌入式 Linux 系统。它可以同时生成交叉工具链、内核、rootfs 和镜像。对入门和中小型产品来说,Buildroot 的学习成本比 Yocto 低很多。

RootFS 是嵌入式 Linux 用户态的地基。应用能不能启动、配置会不会丢、日志写到哪里、系统能不能长期运行,很多问题最后都会回到 rootfs 设计。

理解启动链路,是排查嵌入式 Linux 问题的基础。系统启动失败时,不能只说“板子起不来”,而要能判断卡在 BootROM、Bootloader、Kernel、RootFS 还是 init 阶段。

嵌入式 Linux 开发绕不开交叉编译。开发机通常是 x86_64,目标板可能是 ARM、AArch64、MIPS 或 RISC-V。代码在开发机上编译,最终要在目标板上运行,这中间最容易出问题的是架构、动态链接器和依赖库。

15678912
请输入关键词进行搜索