[其他ST产品] STM32CubeIDE如何输出 Assembly 代码

[复制链接]
 楼主| 封存into 发表于 2025-5-6 22:52 | 显示全部楼层 |阅读模式
如题,如何配置STM32CubeIDE输出 Assembly 代码
公羊子丹 发表于 2025-5-26 07:23 | 显示全部楼层
是的,每次启动调试后都得点“Start Trace”,我也是这么干的,确实挺麻烦。        这个简单,在编译选项里加个 -save-temps 就能生成 .s 文件了。        这个我也踩过坑,f_utime 需要在 ffconf.h 里启用 FF_FS_NORTC 和 FF_FS_READONLY 等配置,建议检查下。        感觉像是调试模式下系统时钟没跑起来,I2C总线时序乱了。试试在CubeMX里确认下debug模式下的时钟配置。        看起来 CubeMX 生成的 MAC 地址实际是从 ethernetif.c 里赋值的,改宏没用是因为代码里没用到。        线长15cm已经是极限了,确实需要注意阻抗,尤其是USB高速的话对差分阻抗要求挺严格的。        看起来不像是温度问题,你有没有实时查看TIM1的状态寄存器,看看是不是进了中断或者被强制关闭了?        是不是电流采样点跟实际导通时刻对不上,PWM死区时间确实可能让采样偏早或偏晚。        是不是SPI和I2S切换的时候有残留配置没清掉?GPIO可能还保留上一次的模式。        你那个振铃可能是走线太长或者阻抗不匹配造成的,加串联电阻是对的方向。
周半梅 发表于 2025-5-26 07:25 | 显示全部楼层
我一般用右键点 build 文件夹里的 .o 文件,然后反汇编看 .lst。
帛灿灿 发表于 2025-5-26 07:26 | 显示全部楼层
在 Project Properties -> Settings -> Tool Settings -> MCU GCC Compiler -> Miscellaneous 里加 -S 试试。
童雨竹 发表于 2025-5-26 07:27 | 显示全部楼层
输出汇编代码可以用 objdump:arm-none-eabi-objdump -S your.elf,我就常这么搞。
万图 发表于 2025-5-26 07:28 | 显示全部楼层
我都是 build 完后看 Debug 文件夹里的 xxx.lst 文件,汇编和 C 代码一块有。
Wordsworth 发表于 2025-5-26 07:29 | 显示全部楼层
加 -save-temps 会在中间目录生成 .i 和 .s,挺方便分析优化的。
Bblythe 发表于 2025-5-26 07:30 | 显示全部楼层
看汇编其实挺有用的,能看优化有没有生效,我就经常看看 loop 被怎么展开的。
Pulitzer 发表于 2025-5-26 07:31 | 显示全部楼层
用 IDE 的 disassembly 视图也能看,就是不太方便保存。
Uriah 发表于 2025-5-26 07:32 | 显示全部楼层
可以写个 post-build 脚本让它自动反汇编出一份 .asm,我项目里就是这么干的。
Clyde011 发表于 2025-5-26 07:32 | 显示全部楼层
汇编输出看哪种?是编译中间产物,还是 debug 的时候反汇编视图?方向不太一样哦。
4y1b3 发表于 2025-5-31 23:48 | 显示全部楼层
直接点击 “Disassembly” 视图
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

110

帖子

0

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