stm32f1xx_hal_spi_ex.o and stm32f1xx_hal_spi.o

2019-9-12 12:04 [复制链接] 4 483

.\build\keil\Obj\rt-thread.axf: Error: L6200E: Symbol HAL_SPI_Init multiply defined (by stm32f1xx_hal_spi_ex.o and stm32f1xx_hal_spi.o).  这两个库文件为啥会有重定义,需要修改库文件吗?. K1 \# c8 [7 g  Q% X
还是有什么其他的解决方法?
0 G  s. k0 W4 N& a* f) x! r/ l8 g
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-9-12 12:26:09 | 显示全部楼层
HAL_SPI_Init 函数在stm32f1xx_hal_spi.c文件的定义里前置__weak的, 编译时会自动忽略, 被stm32f1xx_hal_spi_ex.c文件的函数替代, 怎么会重定义呢?
使用道具 举报 回复
发表于 2019-9-12 12:33:54 | 显示全部楼层
我刚才看了stm32f1xx_hal_spi.c的文件没有__weak,估计是在用cubemx重新生成代码的时候把这个给替换掉了
使用道具 举报 回复
发表于 2019-9-12 14:56:08 | 显示全部楼层
xiaosa 发表于 2019-9-12 12:33' ]" y5 C" {$ e# U0 ]# h, x% H
我刚才看了stm32f1xx_hal_spi.c的文件没有__weak,估计是在用cubemx重新生成代码的时候把这个给替换掉了 ...
# ]9 b/ z  ^+ |1 V% P9 a
删除ex文件
使用道具 举报 回复
发表于 2019-9-12 15:59:45 | 显示全部楼层
加上__weak就可以,生产cube代码的时候要选上保留用户代码,重生成不会出错
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  1. 4 主题
  2. 76 帖子
  3. 76 积分

Ta的主页 发消息

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

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