硬汉嵌入式论坛

 找回密码
 立即注册
查看: 849|回复: 4
收起左侧

[MDK] 转换AC6后,ST的USB库出现编译警告,影响大吗?

[复制链接]

335

主题

2037

回帖

3047

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3047
发表于 2023-3-29 11:09:44 | 显示全部楼层 |阅读模式
警告信息如下:


libstm32/STM32_USB_OTG_Driver/src/usb_core.c(182): warning: '__packed__' attribute ignored when parsing type [-Wignored-attributes]
      USB_OTG_WRITE_REG32( fifo, *((__packed uint32_t *)src) );
                                    ^~~~~~~~
./user/usbh_mass_storage\usb_conf.h(216): note: expanded from macro '__packed'
  #define __packed    __attribute__ ((__packed__))
                                      ^~~~~~~~~~
./libstm32/STM32_USB_OTG_Driver/inc/usb_defines.h(224): note: expanded from macro 'USB_OTG_WRITE_REG32'
#define USB_OTG_WRITE_REG32(reg,value) (*(__IO uint32_t *)(reg) = (value))
                                                                   ^~~~~
libstm32/STM32_USB_OTG_Driver/src/usb_core.c(208): warning: '__packed__' attribute ignored when parsing type [-Wignored-attributes]
    *(__packed uint32_t *)dest = USB_OTG_READ_REG32(fifo);
      ^~~~~~~~
./user/usbh_mass_storage\usb_conf.h(216): note: expanded from macro '__packed'
  #define __packed    __attribute__ ((__packed__))
                                      ^~~~~~~~~~



需要手动改一下语法吗?
回复

使用道具 举报

19

主题

371

回帖

428

积分

高级会员

积分
428
发表于 2023-3-29 11:27:00 | 显示全部楼层
最好手动改一下,__packed涉及到结构体内部成员的对齐,搞不好会hardfault
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2023-3-29 12:31:50 | 显示全部楼层
在CMSIS软件包里面,AC6对应的叫cmsis_armclang.h, 对照全部修改了即可。

另外使用ST的USB库的话,就用AC5即可,用AC6意义不大,没性能提升。



回复

使用道具 举报

335

主题

2037

回帖

3047

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3047
 楼主| 发表于 2023-3-29 14:40:49 | 显示全部楼层
eric2013 发表于 2023-3-29 12:31
在CMSIS软件包里面,AC6对应的叫cmsis_armclang.h, 对照全部修改了即可。

另外使用ST的USB库的话,就用A ...

还是搞不好。以下几种定义都试了,总是相同的警告。

#define __packed    __attribute__((__packed__))
#define __packed    __attribute__((packed))
#define __packed    __PACKED

都不行。

完全没法理解这个mdk官方的建议怎么执行:
640.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2023-3-29 15:07:59 | 显示全部楼层
caicaptain2 发表于 2023-3-29 14:40
还是搞不好。以下几种定义都试了,总是相同的警告。

#define __packed    __attribute__((__packed__) ...

那就别改它了,意义不大,ST的USB库就用AC5即可。等他们官方升级了,直接使用新版
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-10 07:29 , Processed in 0.166660 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表