完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在 STM32F413H Discovery 板子上运行 STM32CubeF4 1.24.0 里面的 DFU_Standalone 工程,
发现用 Keil MDK 编译烧到板子上运行连到PC后设备管理器里能出现“STM Device in DFU Mode” 但是总有黄色惊叹号,换了几个不同的驱动程序都不行。后来改用IAR编译结果一切正常,DFU升级也正常。 对比了 DFU_Standalone 的 Keil 和 IAR 的工程文件,发现它们定义的 stack size 和 heap size 不同, 在 Keil 工程中 startup_stm32f413xx.s 中定义的 Stack_Size 是 0x400,Heap_Size 是 0x200, 而 IAR 工程中 stm32f413xx_flash.icf 中定义的 stack size 和 heap size 都是 0x600, 于是将 Keil 中的这两个 size 也都改成了 0x600,重新编译再试问题解决了,DFU升级也正常。 |
|
相关推荐
1个回答
|
|
这种情况可能是因为固件的堆栈和堆大小不正确导致的。Keil 和 IAR 编译工具的默认设置可能不同,导致生成的可执行文件在堆栈和堆方面的大小不一致。
在Keil工程中,你可以打开startup_stm32f413xx.s文件,并将Stack_Size和Heap_Size的定义值调整为与IAR工程中的定义值相同。 对于Keil工程: ```assembly Stack_Size EQU 0x400 Heap_Size EQU 0x200 ``` 对于IAR工程: ``` define symbol __stack_size__ = 0x400; define symbol __heap_size__ = 0x200; ``` 调整这些值以确保两个工程中的堆栈和堆大小相同。然后重新编译Keil工程,重新烧录固件,看看是否能够正确识别设备。 另外,确保你使用了正确的驱动程序。在设备管理器中显示黄色惊叹号通常意味着驱动程序没有正确安装。你可以尝试手动安装正确的驱动程序,或者使用设备管理器中的自动更新功能来查找并安装适当的驱动程序。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1936浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
729浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
569浏览 3评论
594浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
552浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 17:02 , Processed in 0.851714 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号