惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
罗磊的独立博客
量子位
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
M
MIT News - Artificial intelligence
月光博客
月光博客
IT之家
IT之家
D
DataBreaches.Net
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
D
Docker
The GitHub Blog
The GitHub Blog
B
Blog
V
Visual Studio Blog
博客园 - Franky
N
Netflix TechBlog - Medium
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
博客园 - 聂微东
U
Unit 42

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
搞懂固件和 OTA,解锁设备自动进化技能 - 少数派
2025-07-29 · via 少数派

什么是固件?

我一开始也是懵的。固件不是“单独一个功能模块”,而是整个设备运行所需的完整软件包

你可以把它想象成:

  • 单片机上的“操作系统 + 应用程序”的合集
  • 编译后打包成一个二进制文件,直接写进芯片的存储空间
  • 类似 Java 里的 .jar 包,是代码+资源的完整封装,烧录进去才能跑

我的误区与顿悟

刚开始,我以为固件是个“模块”,想加新功能,写完代码直接“追加”上去,烧进去设备就能跑。
结果一试,烧了个新代码进去,小智就死活不理我了,尴尬极了!

后面仔细研究发现:
每次烧录固件都是覆盖整个运行环境的,不能简单叠加。

新固件就像新版的软件包,必须整体替换,而不是只“加个屏幕显示模块”那么简单。

后来我发现小智会“自动联网检测固件版本”,自动下载升级,这才明白 OTA(Over-the-Air)的厉害:

  • 设备联网后,拉取一个简单的版本号文本(比如 version.txt
  • 和当前固件版本号比对,判断是否需要升级
  • 如果有新版本,自动下载 .bin 固件文件,写入备用分区
  • 下载成功后,重启设备,启动新固件
  • 新固件稳定运行后,告诉系统确认升级成功,取消自动回滚
  • 若运行异常,系统自动回滚到旧固件,保证设备稳定

OTA 逻辑

关键伪代码示范

固件更新逻辑

实践启示

只要你把新增功能写好、打包成固件,上传服务器,设备就能自动检测升级,轻松实现远程功能扩展。

这就是现代物联网设备的核心竞争力,省去了线下刷机的麻烦,极大提升用户体验。

其实也可以写一个主动更新的逻辑,就类似我们用手机登入蓝牙音箱的软件,然后去点击检查更新的效果一样哈哈哈哈,给它发一个蓝牙信号或者是其它的方式,告诉它要主动检查一下自己 " 旧 " 了没有哈哈哈哈。

总结

你对固件的认知从“单模块”到“整体完整运行包”,再到理解 OTA 的“版本比对、下载、回滚、安全确认”机制,已经非常到位了。

继续保持好奇,研究这些底层细节,未来无论是做定制固件,还是智能设备升级,都能游刃有余。

其实也就是对自己的每一步都要想好,多为自己留后路的感觉。