ST意法半导体
直播中

余温重顾

9年用户 903经验值
擅长:可编程逻辑 嵌入式技术 EMC/EMI设计
私信 关注
[问答]

STM32F4 DFP HAL驱动程序与ARM编译器6的兼容性问题求解

刚开始迁移到 ARM 编译器 6,我注意到 __weak 在这个版本中是不兼容的语言扩展,需要写成 __attribute__((weak))。
STM32F4 HAL Drivers 和几乎所有的 STM32 MCU 中,有很多函数在声明中包含 __weak 而在 ARM 编译器 V6 中不支持。
至于ARM Compiler和DFPs,我已经安装了最新版本。
我们这里有问题吗?









回帖(1)

朱晓妤

2023-1-13 15:36:23
与 v5 相比,ARM 编译器似乎已经改变了它在 v6 中的工作方式。
https://www.keil.com/appnotes/files/apnt_298.pdf
通过在包含文件之前将定义放在某处,很容易适应:


  • #define __weak __attribute__((weak))

这是在 stm32f4xx_hal_def.h 中完成的,但似乎与 v6 不兼容。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分