数码之家

 找回密码
 立即注册
搜索
查看: 3057|回复: 9

[STM] 求助 STM32 bootloader的问题

[复制链接]
发表于 2020-10-11 11:06:55 | 显示全部楼层 |阅读模式
30家元
一个乐迪cb86plus 的充电器mcu烧了,现在是有固件、没有bootloader.如何解决!
充电器介绍:https://www.radiolink.com.cn/docc/product-detail-177.html
MCU是STM32F103R8T6,请教如何解决.
本人学过51单片机.

最佳答案

查看完整内容

stm32复位后是从0x8000000开始运行的。 如果你有固件,你看一下固件是从哪个位置开始写入的,然后写一个简单的bootloader,然后直接跳转到固件地址就行了。 里面好像就一条jump语句。 这个bootloader不能完成特别高级的功能,比如升级之类的,只能让你引导使用当前固件。 另外还有一条,你的固件需要是全的,不能需要调用bootloader中的任何函数或模块,不然不行。 ...
发表于 2020-10-11 11:06:56 | 显示全部楼层
stm32复位后是从0x8000000开始运行的。
如果你有固件,你看一下固件是从哪个位置开始写入的,然后写一个简单的bootloader,然后直接跳转到固件地址就行了。
里面好像就一条jump语句。
这个bootloader不能完成特别高级的功能,比如升级之类的,只能让你引导使用当前固件。
另外还有一条,你的固件需要是全的,不能需要调用bootloader中的任何函数或模块,不然不行。
回复

使用道具 举报

发表于 2020-10-11 11:34:02 来自手机浏览器 | 显示全部楼层
一个stlink和软件应该可以解决问题
回复

使用道具 举报

发表于 2020-10-11 12:00:09 | 显示全部楼层
串口应该也能解决,最好有SWD或者Jtag的调试接口
回复

使用道具 举报

发表于 2020-10-11 13:11:31 | 显示全部楼层
看看预留swd没,没预留就找找boot0,1,然后看看串口上传的那几个io挂着什么没(好像是pa9,10)。
回复

使用道具 举报

发表于 2020-10-11 16:32:28 | 显示全部楼层
楼上说的最全了 你肯定复刻不了他的boot ,自己写个几句话调跳转app吧v
回复

使用道具 举报

 楼主| 发表于 2020-10-11 16:42:14 | 显示全部楼层
额地个神阿,只有编译的固件,怎么看入口地址阿.关键是不懂啊
回复

使用道具 举报

 楼主| 发表于 2020-10-11 22:30:14 | 显示全部楼层
mousebat04 发表于 2020-10-11 11:06
stm32复位后是从0x8000000开始运行的。
如果你有固件,你看一下固件是从哪个位置开始写入的,然后写一个简 ...

老铁,能通过直接修改固件地址实现么,或者帮谢一个bootloader, 固件在网站上有.
回复

使用道具 举报

发表于 2020-10-11 22:33:27 | 显示全部楼层
liuxingg 发表于 2020-10-11 22:30
老铁,能通过直接修改固件地址实现么,或者帮谢一个bootloader, 固件在网站上有. ...

一般固件都是hex的,里面是带有地址的。找会看的人帮你看下吧。
或者你自己学习下hex文件格式,百度一下就明白了。
如果是bin之类的不带地址的格式,那就没办法了。给你固件你不知道地址也不知道要烧到什么位置
回复

使用道具 举报

发表于 2020-10-12 10:31:12 | 显示全部楼层
mousebat04 发表于 2020-10-11 22:33
一般固件都是hex的,里面是带有地址的。找会看的人帮你看下吧。
或者你自己学习下hex文件格式,百度一下 ...

看中断向量表那那个猜出来的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-5-14 17:55 , Processed in 0.280800 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表