你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

在STM32CubeIDE开发STM32H743,debug烧录时报错

[复制链接]
张明明 提问时间:2024-8-3 17:36 / 未解决

在STM32CubeIDE开发STM32H743时,因为代码量比较大,改了STM32H743VGTX_FLASH.ld文件。

FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K

/ FLASH2 (rx) : ORIGIN = 0x08100000, LENGTH = 512K/

编译过后没有报错了,但是在debug时会报错如下

image.png

Downloading 16320 bytes @ address 0x0807DAF0 - Verify failed (expected 0x5B read 0xFFFFFFFF @ 0x08080000)

收藏 评论6 发布时间:2024-8-3 17:36

举报

6个回答
butterflyspring 回答时间:2024-8-5 14:07:52
可以尝试用 STM32CUBEPROGRAMMER 将芯片擦除一遍,再都回来看看这个地址是否已经擦除。

然后再烧录试试看。



张明明 回答时间:2024-8-6 16:11:01

butterflyspring 发表于 2024-8-5 14:07
可以尝试用 STM32CUBEPROGRAMMER 将芯片擦除一遍,再都回来看看这个地址是否已经擦除。</p>
<p>然后再烧录试试看 ...

不行。好像代码超过512K就会有问题。

image.png

张明明 回答时间:2024-8-6 16:38:10

用STM32CubeProgrammer烧录生成的elf文件就没有问题,可以烧录成功。并且读出来和elf文件对比也一样的。就是用STM32CubeIDE 1.16.0烧录的时候会出现这种问题。

butterflyspring 回答时间:2024-8-6 17:52:38
你是在编译前改了LD 文件,所以编译通过了。


但是DEBUG 下载时对应的型号还是512k的型号,推测会失败。

所以解决方式可以按照新型号产生工程,将代码添加进来就可以正常调试了。
张明明 回答时间:2024-8-6 20:31:41

butterflyspring 发表于 2024-8-6 17:52
你是在编译前改了LD 文件,所以编译通过了。</p>
<p>

我选的型号就是1Mflash的,但是默认生成的ld文件里面FLASH 是512K.

xmshao 回答时间:2024-8-7 17:30:33
一般来讲如果芯片没选错的话,LD文件里的memory分布是不用手动改写的,除非开发者有额外的安排。


右键工程项目,看Properties,在C/C++build下的setting下,查看Mcu settins,那里可以看到MCU型号。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版