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

文章归档

Scroll down
嵌入式开发

设备部署到现场后,研发很少能直接接触实物。远程诊断能力决定了问题能不能快速闭环。最基本的远程诊断不是远程 shell,而是能安全地导出状态、日志和配置快照。

固件升级不只是替换二进制。随着版本迭代,配置字段会增加、删除、改名,服务行为也会变化。如果没有版本管理和迁移机制,OTA 后很容易出现旧配置导致新程序启动失败。

分区规划是嵌入式 Linux 产品的底层设计。它决定了系统如何启动、OTA 如何升级、配置是否保留、日志写到哪里、异常断电后能否恢复。分区设计不清楚,后面很多功能都会变成补丁。

有些嵌入式设备常年插电,有些依赖电池,有些工作在不稳定供电环境里。功耗和电源稳定性不仅是硬件问题,软件启动、外设管理、日志写入、网络重连也会影响功耗和可靠性。

嵌入式设备资源有限,性能优化不能只靠“换更强芯片”。CPU、内存、启动时间、Flash 写入、网络重连都需要在设计阶段考虑。优化的第一步是测量,而不是猜。

嵌入式设备最终要和硬件交互。UART、I2C、SPI、GPIO 是最常见的外设入口。入门时不必先写驱动,可以先从用户态工具和 sysfs/dev 节点理解通信方式。

嵌入式设备上的业务并不一定要写成一个大进程。网络、配置、外设、升级、日志、看门狗可以拆分,也可以合并。关键是理解进程、线程和 IPC 的取舍。

嵌入式设备一旦联网,就必须考虑安全。基础安全加固不一定复杂,但默认空密码、开放调试端口、证书随意存放、升级包不校验,都会给产品留下明显风险。

现场问题最怕“设备有问题,但没有日志”。嵌入式设备的观测能力不需要一开始就复杂,但至少要能回答:设备是什么版本、发生过什么、当前状态如何、配置是什么、网络是否正常。

嵌入式产品最终要进入生产和现场。开发阶段能跑,不代表适合量产。生产测试、出厂配置、版本追踪和日志导出,是从开发样机走向产品必须补齐的环节。

12345
请输入关键词进行搜索