打印
[其他ST产品]

cubeMX lwip 出错

[复制链接]
447|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
flycamelaaa|  楼主 | 2024-8-27 10:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stm32F407ZGT的芯片,cubeMX6.5.0生成Keil文件,不带LWIP库,可以仿真都正常,选中LWIP库后,程序编译后,运行,每次进入Main后程序就停留在

0x08000AE8 BEAB BKPT 0xAB

使用特权

评论回复
沙发
别乱了阵脚| | 2024-10-8 21:21 | 只看该作者
在STM32F407ZGT芯片上使用CubeMX 6.5.0生成Keil项目时,如果选择了LWIP库后程序在进入main函数后立即停止,并且停在BKPT 0xAB指令处,这通常是由于堆栈大小不足导致,LWIP库需要较大的堆栈空间来处理网络协议栈的操作。如果堆栈大小不足,程序可能会在进入main函数后立即崩溃

使用特权

评论回复
板凳
夜阑风雨| | 2024-10-9 02:00 | 只看该作者
LWIP库的初始化可能需要在其他外设初始化之后进行。如果初始化顺序不正确,可能会导致程序崩溃

使用特权

评论回复
地板
暖了夏天蓝了海| | 2024-10-9 03:00 | 只看该作者
LWIP库对内存对齐有严格要求,如果内存对齐不正确,可能会导致程序崩溃

使用特权

评论回复
5
江河千里| | 2024-10-9 04:00 | 只看该作者
有时,调试器配置不正确也可能导致程序在进入main函数后立即停止

使用特权

评论回复
6
远山寻你| | 2024-10-9 05:00 | 只看该作者
代码优化级别过高可能导致某些函数或变量未正确初始化,从而导致程序崩溃

使用特权

评论回复
7
光辉梦境| | 2024-10-9 06:00 | 只看该作者
建议可以考虑降低代码优化级别。在Keil中,进入Options for Target -> C/C++。将Optimization级别降低到Level 0Level 1

使用特权

评论回复
8
三生万物| | 2024-10-9 07:00 | 只看该作者
如果程序在进入main函数后立即停止并停在BKPT 0xAB指令处,通常是由于堆栈大小不足、初始化顺序问题、内存对齐问题、调试器配置问题或代码优化问题。通过检查和调整这些方面,你应该能够解决这个问题

使用特权

评论回复
9
淡漠安然| | 2024-10-9 08:00 | 只看该作者
可以用仿真看看你的堆栈是不是弄小了啊

使用特权

评论回复
10
一秒落纱| | 2024-10-9 09:00 | 只看该作者
一般情况可以考虑用官方的例程,在其基础上修改,这样会好点

使用特权

评论回复
11
冰春彩落下| | 2024-10-9 10:00 | 只看该作者
尝试使用不同的调试器配置,或者在调试器中禁用某些高级功能(如硬件断点

使用特权

评论回复
12
略略u| | 2024-10-11 21:55 | 只看该作者
不带LWIP库,可以仿真都正常,选中LWIP库后

使用特权

评论回复
13
Stahan| | 2024-10-13 21:15 | 只看该作者
堆栈空间的问题吗

使用特权

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

本版积分规则

655

主题

2736

帖子

0

粉丝