打印
[STM32F1]

将 Atollic TS 项目导入 STM32CubeIDE无法使用 bootloader

[复制链接]
411|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小库里|  楼主 | 2025-4-14 22:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
tollic TS pdf How-to 中boot程序运行良好(0x0800 0000),可以正常仿真调试应用程序(0x0800 8000)。
将项目导入到 STM32CubeIDE,似乎没有从正确的地址开始。
当我使用项目从 0x0800 0000 开始的 *.ld 文件时,似乎工作正常。但是一旦我为引导加载程序腾出空间,并在 *.ld 文件中使用地址 0x0800 8000,我就无法调试项目。
当我将引导加载程序 和 固件的映像上传到 0x0800 0000 时,设备运行良好。

使用特权

评论回复
沙发
公羊子丹| | 2025-5-28 07:27 | 只看该作者
我也遇到过类似情况,后来发现 CubeIDE 的调试器默认还是从 0x08000000 启动,要在 .launch 文件或 Debug 配置里手动改下起始地址。

使用特权

评论回复
板凳
周半梅| | 2025-5-28 07:28 | 只看该作者
你有把 Reset_Handler 的入口地址放在 0x08008000 吗?如果启动地址偏了,可能会跳不到应用程序。

使用特权

评论回复
地板
帛灿灿| | 2025-5-28 07:29 | 只看该作者
在 Atollic TS 中你有没有用自定义的启动脚本?如果有的话,导入 CubeIDE 后要确保 .ld 文件和启动文件一致。

使用特权

评论回复
5
童雨竹| | 2025-5-28 07:30 | 只看该作者
你是不是只改了 .ld 文件里的起始地址?记得还要在 Project -> Properties -> C/C++ Build -> Settings -> Tool Settings -> MCU Settings 里也改起始地址!

使用特权

评论回复
6
万图| | 2025-5-28 07:31 | 只看该作者
建议你在 CubeIDE 中把 Debug Configuration 的 Run -> Reset Behavior 改成 “None”,否则它会试图从 bootloader 起始地址重新上电。

使用特权

评论回复
7
Wordsworth| | 2025-5-28 07:32 | 只看该作者
我遇到过 CubeIDE 把 application 的 vector table 还留在 0x8000000 的情况,要用 SCB->VTOR = 0x08008000; 手动重定向。

使用特权

评论回复
8
Bblythe| | 2025-5-28 07:32 | 只看该作者
你可以试试用 ST-LINK Utility 工具分别下载 boot 和 app,然后观察跳转是不是失败,这样可以排除是 IDE 的问题还是代码问题。

使用特权

评论回复
9
Pulitzer| | 2025-5-28 07:33 | 只看该作者
Debug 的时候有没有用 connect under reset?有些 bootloader 会禁止 SWD 接口,只有在 reset 下连接才能调试 app。

使用特权

评论回复
10
Uriah| | 2025-5-28 07:34 | 只看该作者
有时候 CubeIDE 会生成多个 .ld 文件,看看是不是用错了那个 link script 文件,我之前就有一次改错文件了……

使用特权

评论回复
11
Clyde011| | 2025-5-28 07:35 | 只看该作者
能正常运行但无法调试,听起来像是 vector table 或 flash offset 没设置好,可以用 objdump 看看 elf 的偏移位置对不对。

使用特权

评论回复
12
duo点| | 2025-5-28 16:16 | 只看该作者
链接脚本配置错误?

使用特权

评论回复
13
stormwind123| | 2025-5-28 18:20 | 只看该作者
可能在导入过程中文件结构或配置损坏,建议重新导入项目。

使用特权

评论回复
14
probedog| | 2025-5-28 19:00 | 只看该作者
若应用程序中未正确实现跳转到bootloader的逻辑,可能导致无法进入bootloader模式。

使用特权

评论回复
15
powerantone| | 2025-5-28 19:00 | 只看该作者
用STM32CubeProgrammer分别烧录bootloader和应用程序到指定的Flash区域。

使用特权

评论回复
16
flycamelaaa| | 2025-5-28 19:00 | 只看该作者
bootloader和应用程序需要分别烧录到Flash的不同区域。若导入后未正确配置地址,可能导致应用程序覆盖bootloader或两者地址重叠,进而无法使用bootloader。

使用特权

评论回复
17
classroom| | 2025-5-28 20:23 | 只看该作者
BOOT引脚配置错误?

使用特权

评论回复
18
jcky001| | 2025-5-28 20:59 | 只看该作者
可能是硬件连接或启动模式配置问题。

使用特权

评论回复
19
cr315| | 2025-5-28 21:00 | 只看该作者
检查硬件连接,BOOT0引脚在需要进入bootloader时拉高。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

13

帖子

0

粉丝