[其他ST产品] stm32的SysTick_Handler()等中断处理函数的重复定义

[复制链接]
1039|5
 楼主| 海滨消消 发表于 2023-12-20 11:46 | 显示全部楼层 |阅读模式
项目工程里使用了RTX实时内核,包含了RTX.lib的库文件,其它关于添加文件到工程目录,初始化等都按常规方式操作,最后编译说提示如下错误信息:
linking...
.STM3210E-EVALSTM3210E-EVAL.axf: Error: L6200E: Symbol SVC_Handler multiply defined (by hal_cm3.o and stm32f10x_it.o).
.STM3210E-EVALSTM3210E-EVAL.axf: Error: L6200E: Symbol PendSV_Handler multiply defined (by hal_cm3.o and stm32f10x_it.o).
.STM3210E-EVALSTM3210E-EVAL.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by hal_cm3.o and stm32f10x_it.o).
.STM3210E-EVALSTM3210E-EVAL.axf: Not enough information to list image symbols.
.STM3210E-EVALSTM3210E-EVAL.axf: Not enough information to list the image map.
.STM3210E-EVALSTM3210E-EVAL.axf: Finished: 2 information, 0 warning and 3 error messages.
Target not created

        把stm32f10x_it.c文件里的SVC_Handler、PendSV_Handler、SysTick_Handler三个函数注释掉,则编译时不报错,但程序在硬件上运行不起来,烦请各高手指教!!!
laocuo1142 发表于 2023-12-21 09:28 | 显示全部楼层
这个错误提示表明在链接阶段出现了符号重复定义的问题。具体来说,SVC_Handler、PendSV_Handler和SysTick_Handler这三个函数在多个文件中被定义了。
flycamelaaa 发表于 2023-12-21 09:29 | 显示全部楼层
检查源文件
powerantone 发表于 2023-12-21 09:29 | 显示全部楼层
编译器有没有使用错误的编译器选项或标志
stormwind123 发表于 2023-12-21 09:33 | 显示全部楼层
如果使用的是链接脚本,请检查脚本中是否正确处理了符号定义。
classroom 发表于 2023-12-21 09:34 | 显示全部楼层
使用最新版本的库
您需要登录后才可以回帖 登录 | 注册

本版积分规则

275

主题

1964

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部