keil5.39版本使用AC6编译器不能位域操作的BUG使用STM32U385系列MCU

从L4系类MCU迁移到U系列MCU时需要强制使用AC6编译器,U系列在仿真时watch窗口操作bit时不能使用0-1开关某个变量,必须使用字节控制,这造成了很多麻烦。

经过验证,在相同的代码工程中keil5.36可以位域操作,keil5.39不行。

最后经过AI分析,在 5.39 工程里给 AC6 加编译选项-gdwarf-3(Options → C/C++(AC6) → Misc

Controls)恢复。

objectivec 复制代码
-gdwarf-3

根因

• armclang V6.21(µVision 5.39 捆绑)默认输出 DWARF4,位域用 DW_AT_data_bit_offset 描述------µVision 的表达式求值器不认识这种形式,于是位域写退化成整字写(落 bit0=adjust_start)、文件 static 全部 cannot evaluate。

• armclang V6.18(µVision 5.37 捆绑)输出老形式 DW_AT_bit_offset,所以 5.37 一直正常。

• -gdwarf-3 强制回退老形式 → 全部恢复。

相关推荐
不悔哥19 小时前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi201619 小时前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
优信电子20 小时前
AIT1001 非接触式红外测温模块 STM32 驱动开发实战:从引脚到代码全解析
stm32·嵌入式·温度传感器·红外测温·非接触式测温·ait1001
深圳老胡21 小时前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
wuyk5551 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
女神下凡1 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9661 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛1 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
CHENKONG_CK1 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
三佛科技-187366133971 天前
128KB~512KB Flash车规级MCU选型指南(FT32A072 / FT32A103 系列)
单片机·嵌入式硬件