完善资料让更多小伙伴认识你,还能领取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却挂了它的库,不知道你程序啥样的。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1129 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1075 浏览 2 评论
2175 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1269 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1693 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 22:03 , Processed in 0.681096 second(s), Total 85, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号