[STM32F1] STM32F103C8T6使用CubeIDE烧录运行报硬件错误,相同代码MDK烧录却可以正常运行

[复制链接]
 楼主| powerantone 发表于 2024-11-19 11:41 | 显示全部楼层 |阅读模式

自制PCB使用STM32F103C8T6,通过STM32CubeMX生成了CubeIDE项目和MDK项目,编译下载相同的代码CubeIDE不能正常执行,经过调试发现进入了硬件错误循环。而使用MDK烧录却没有任何问题,完美执行代码,请问这是为什么?

评论

有图吗?  发表于 2024-12-30 23:46
laocuo1142 发表于 2024-11-19 12:47 | 显示全部楼层
CubeIDE和MDK项目可能使用了不同版本的固件库或依赖项,导致在CubeIDE中编译的代码与硬件不兼容。
flycamelaaa 发表于 2024-11-19 13:00 | 显示全部楼层
硬件资源冲突如多个外设同时使用了相同的引脚或资源。
classroom 发表于 2024-11-19 19:00 | 显示全部楼层
检查是否存在硬件资源冲突
stormwind123 发表于 2024-11-19 20:00 | 显示全部楼层
CubeIDE项目中的启动文件或中断向量表可能配置不正确
probedog 发表于 2024-11-19 21:00 | 显示全部楼层
在CubeIDE中尝试调整编译选项和优化级别,以匹配MDK项目的设置。
将爱藏于深海 发表于 2024-12-29 22:32 | 显示全部楼层
感觉是因为你的软件配置有问题吧
春日负喧 发表于 2024-12-30 02:00 | 显示全部楼层
是不是你的cubeIDE有问题呢?

失物招領 发表于 2024-12-30 03:00 | 显示全部楼层
有可能是你的烧录地址设置的不正确导致的

故意相遇 发表于 2024-12-30 04:00 | 显示全部楼层
一般情况就是你芯片的配置没弄好,软件端的问题

西洲 发表于 2024-12-30 05:00 | 显示全部楼层
IDE与工具链差异:STM32CubeIDEMDKKeil)虽然都是用于开发STM32的工具,但它们使用的编译器、链接器和工具链可能有所不同。有时候,同一个代码在两个不同的IDE中可能会有不同的表现,这可能是由于编译器优化、内存布局或其他设置的不同造成的。您可以尝试检查两个IDE的项目设置,确保它们尽可能一致

捧一束彼岸花 发表于 2024-12-30 06:00 | 显示全部楼层
通过STM32CubeMX生成的项目通常会包含一些库文件,这些库文件可能因IDE不同而有所差异。检查两个项目中使用的库文件是否完全一致,包括版本和来源

白马过平川 发表于 2024-12-30 07:00 | 显示全部楼层
硬件配置差异,虽然您使用的是相同的MCU型号(STM32F103C8T6),但不同的IDE可能会生成不同的配置代码,包括时钟配置、中断配置等。检查两个项目的硬件配置是否完全一致

她已醉 发表于 2024-12-30 08:00 | 显示全部楼层
在调试过程中,使用不同的调试器或调试方式可能会导致不同的结果。尝试使用相同的调试器进行调试,并仔细检查调试过程中的差异

温室雏菊 发表于 2024-12-30 09:00 | 显示全部楼层
如果PCB设计存在问题,也可能导致代码执行不正常。检查PCB设计是否正确,包括元件连接、电源分布、信号完整性等。有时候,硬件错误可能导致MCU进入错误状态,无法通过软件调试解决

风凉 发表于 2024-12-30 10:00 | 显示全部楼层
检查两个项目的配置设置,确保它们尽可能一致

dongnanxibei 发表于 2024-12-30 22:09 来自手机 | 显示全部楼层
版本配置不同的?看看编译器版本
您需要登录后才可以回帖 登录 | 注册

本版积分规则

676

主题

3894

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部