stm32f1xx_hal_spi_ex.o and stm32f1xx_hal_spi.o

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

.\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).  这两个库文件为啥会有重定义,需要修改库文件吗?9 g" n- @0 u0 y
还是有什么其他的解决方法?7 R1 n$ P$ n( \( w3 w7 f: x
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 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
: I/ ^# D9 |7 _. p& q我刚才看了stm32f1xx_hal_spi.c的文件没有__weak,估计是在用cubemx重新生成代码的时候把这个给替换掉了 ...

. g; A/ H0 L/ y删除ex文件
使用道具 举报 回复
发表于 2019-9-12 15:59:45 | 显示全部楼层
加上__weak就可以,生产cube代码的时候要选上保留用户代码,重生成不会出错
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

Powered by RT-Thread

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