完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
项目工程里使用了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三个函数注释掉,则编译时不报错,但程序在硬件上运行不起来,烦请各高手指教!!! |
|
相关推荐
7个回答
|
|
stm32f10x_it.c中的中断处理是标准的。hal_cm3.c这个文件做什么的,注释到里面的定义看看。
|
|
|
|
楼主的HAL_CM3是从哪里来的,把里面的SVC_Handler、PendSV_Handler、SysTick_Handler 注释掉才对,stm32f10x_it.C里面的中断函数时不能注释掉的。CMSIS里面的是 core_cm3.c,你看看hal_cm3是否是这个修改的呢?
|
|
|
|
hal_cm3是什么函数,它和stm32f103_it有函数重复定义,你好好检查,还有你说的那个库文件,没法看底层,可能也会有重定义。
|
|
|
|
|
|
|
|
定义文件的问题。
|
|
|
|
既然是.o文件里链接出的问题,那么就说明.c文件里重复定义了同一个函数名称。
把stm32f10x_it.c文件里的SVC_Handler、PendSV_Handler、SysTick_Handler三个函数注释掉 以上这个方法是可行的,说明你的程序还是有问题。跑不起来跟前面这个问题没关系 |
|
|
|
函数名被重复定义,因为你使用了RTX,stm32f10x_it.c中这几个函数你必须注释掉,要不RTX就没法运行了,如果不能运行应该是你的程序有点问题,是不是RTX没有正常初始化啊,或者你没用RTX却挂了它的库,不知道你程序啥样的。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1733 浏览 1 评论
1706 浏览 1 评论
求助大佬我使用STM32F030F4P6 的PA3引脚输出PWM波形
1568 浏览 0 评论
1763 浏览 1 评论
STM32H750VB sys为什么无法选择debug模式?
1918 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-4-13 08:53 , Processed in 0.491168 second(s), Total 50, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191