打印
[其他ST产品]

STM32CubeIDE如何输出 Assembly 代码

[复制链接]
251|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
封存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 试试。

使用特权

评论回复
5
童雨竹| | 2025-5-26 07:27 | 只看该作者
输出汇编代码可以用 objdump:arm-none-eabi-objdump -S your.elf,我就常这么搞。

使用特权

评论回复
6
万图| | 2025-5-26 07:28 | 只看该作者
我都是 build 完后看 Debug 文件夹里的 xxx.lst 文件,汇编和 C 代码一块有。

使用特权

评论回复
7
Wordsworth| | 2025-5-26 07:29 | 只看该作者
加 -save-temps 会在中间目录生成 .i 和 .s,挺方便分析优化的。

使用特权

评论回复
8
Bblythe| | 2025-5-26 07:30 | 只看该作者
看汇编其实挺有用的,能看优化有没有生效,我就经常看看 loop 被怎么展开的。

使用特权

评论回复
9
Pulitzer| | 2025-5-26 07:31 | 只看该作者
用 IDE 的 disassembly 视图也能看,就是不太方便保存。

使用特权

评论回复
10
Uriah| | 2025-5-26 07:32 | 只看该作者
可以写个 post-build 脚本让它自动反汇编出一份 .asm,我项目里就是这么干的。

使用特权

评论回复
11
Clyde011| | 2025-5-26 07:32 | 只看该作者
汇编输出看哪种?是编译中间产物,还是 debug 的时候反汇编视图?方向不太一样哦。

使用特权

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

本版积分规则

21

主题

28

帖子

0

粉丝