news 2026/5/7 2:08:07

邪修如何升级 boot?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
邪修如何升级 boot?

来源:公众号【鱼鹰谈单片机】

作者:鱼鹰Osprey

ID :emOsprey

大家好,我是鱼鹰。最近有学员问关于如何升级 boot 问题(注意是升级 boot,不是 App)。

APP 升级 boot 有几种解决方案:

1、boot 代码在 ram 中运行,然后直接更新 boot 自身,即自举,实现比较复杂。

2、app 代码运行后,更新 boot 所在 flash 空间,完成替换,实现比较简单。

第二种方案更新 boot 常规解法是通过接口更新 boot,比如 uart、USB、can,无论哪一种,都有定义更新协议,如 ymodem。在鱼鹰看来都比较复杂。

因为该道友只是为了更新 boot 来修复问题,所以鱼鹰提供了最简单的解决方案,直接在 app 代码里面嵌入 boot 代码来完成升级,这样一来,不需要写驱动、也不用实现传输协议,简单高效,不易出错,可以快速完成升级。

linux 环境下 bin 文件转头文件数组,windows 也有类似命令xxd -i xxx.bin > xxx.h

这个方案鱼鹰在项目中也实现过,不过不是给自身升级 boot,而是给外部设备升级 app,可以快速验证升级流程是否有问题。

不过由于是升级 boot,因此升级过程千万不要断电,否则一定变砖,如果你又开启了最高级别(一次性熔断,不可恢复)的读写保护功能,那么没有解救方法,因此慎用该保护方案。

另外一点,这个问题其实有一个根本性问题,就是 OTA 有概率变砖头(鱼鹰有遇到过),只有找到root case(根本原因),才能算彻底解决,否则不管怎么升级有 bug 的 boot 都是无效解。

切记,boot 有风险,升级需谨慎!!

推荐阅读:

嵌入式系统优先级详解

KEIL 调试经验总结

线程CPU使用率到底该如何计算?

许久以后,你会感谢自己写的异常处理代码

终极串口接收方式,极致效率

延时功能进化论(合集)

如何写一个健壮且高效的串口接收程序?

打了多年的单片机调试断点到底应该怎么设置? | 颠覆认知

-THE END-


如果对你有帮助,记得转发分享哦

微信公众号「鱼鹰谈单片机」

每周一更单片机知识

长按后前往图中包含的公众号关注

鱼鹰,一个被嵌入式耽误的畅销书作家

个人微信「EmbeddedOsprey」

长按后打开对方的名片关注

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 0:21:08

Socket.IO-Client-Swift实战指南:构建高性能实时iOS应用

Socket.IO-Client-Swift实战指南:构建高性能实时iOS应用 【免费下载链接】socket.io-client-swift 项目地址: https://gitcode.com/gh_mirrors/so/socket.io-client-swift Socket.IO-Client-Swift是专为Apple生态系统打造的实时通信解决方案,能够…

作者头像 李华
网站建设 2026/4/30 20:01:54

UltraVNC远程控制完整指南:快速上手与专业配置

UltraVNC作为一款功能全面的远程控制软件解决方案,基于RFB协议实现了高效的跨平台桌面访问。无论您是初次接触远程控制的新手用户,还是需要为企业部署专业级远程支持系统的技术人员,本指南都将为您提供完整的操作指引。 【免费下载链接】Ultr…

作者头像 李华
网站建设 2026/5/3 12:38:15

Vim快速移动插件终极指南:EasyMotion与Sneak完整对比

Vim快速移动插件终极指南:EasyMotion与Sneak完整对比 【免费下载链接】vim-galore :mortar_board: All things Vim! 项目地址: https://gitcode.com/gh_mirrors/vi/vim-galore 还在为Vim中缓慢的光标移动而烦恼?想要快速定位到代码的任意位置却总…

作者头像 李华
网站建设 2026/4/30 23:58:38

2025-12-16 全国各地响应最快的 BT Tracker 服务器(联通版)

数据来源:https://bt.me88.top 序号Tracker 服务器地域网络响应(毫秒)1http://60.249.37.20:6969/announce浙江舟山联通292udp://152.53.152.105:54123/announce北京联通1283udp://23.157.120.14:6969/announce江苏徐州联通1334udp://5.255.124.190:6969/announce山…

作者头像 李华
网站建设 2026/5/4 17:54:55

终极指南:5个技巧彻底解决sktime软依赖导入难题

终极指南:5个技巧彻底解决sktime软依赖导入难题 【免费下载链接】sktime sktime是一个用于机器学习中时间序列预测和分析的Python库,提供了丰富的数据预处理、特征提取和模型评估方法,适用于金融、气象等领域的数据分析。 项目地址: https:…

作者头像 李华