8629|11

296

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

stm32 Keil5.15+GCC 问题求助 [复制链接]

本帖最后由 kevinrobot 于 2016-4-30 23:45 编辑

最近在捣鼓STM32 和 RTT实时操作系统,但部分结构体发现ARMCC编译器不认,所以更换了GCC编译器,也已经更换了keil5自带gcc的startup...启动文件,但linking的时候会报错:Rebuild target 'Target 1'
compiling trymav.c...
assembling startup_stm32f10x_md.s...
linking...
./startup_stm32f10x_md.o: In function `LoopFillZerobss':
(.text.Reset_Handler+0x26): undefined reference to `SystemInit'
collect2.exe: error: ld returned 1 exit status
".\testmav.elf" - 1 Error(s), 0 Warning(s).
Target not created


求大神帮忙解答~~见下图:






微信截图_20160430225704.png (26.69 KB, 下载次数: 1)

微信截图_20160430225704.png
此帖出自ARM技术论坛

最新回复

gcc是一个很著名的C编译器,虽然开源,但其稳健性不容置疑。 mdk iar等的编译器更是国人最常用,商业作品,同样不容置疑。 遇到编译错误,真的只是语法问题而已。  详情 回复 发表于 2016-6-9 00:13
点赞 关注
个人签名开源机器人小组介绍:https://bbs.eeworld.com.cn/thread-330292-1-1.html


 

回复
举报

6423

帖子

16

TA的资源

版主

沙发
 
你说的RTT可是rt thread ?用armcc可以正常编译啊,keil完全没问题
此帖出自ARM技术论坛

点评

是的,系统本身是没问题的,是我用了第三方的驱动,导致结构体编译不通过,而重写结构体定义的代价实在太大~  详情 回复 发表于 2016-5-2 09:30
 
个人签名training
 
 

回复

6040

帖子

205

TA的资源

版主

板凳
 
就是SystemInit没有定义而已,找到定义这个函数的文件,把它加进来
此帖出自ARM技术论坛

点评

的确是你说的这个问题,谢谢啦,我发现我的系统文件里只引用了这个函数,但没有对这个函数的定义。  详情 回复 发表于 2016-5-2 09:57
 
 
 

回复

296

帖子

0

TA的资源

五彩晶圆(高级)

4
 
白丁 发表于 2016-5-1 14:12
你说的RTT可是rt thread ?用armcc可以正常编译啊,keil完全没问题

是的,系统本身是没问题的,是我用了第三方的驱动,导致结构体编译不通过,而重写结构体定义的代价实在太大~
此帖出自ARM技术论坛

点评

结构体编译不过,即使使用gcc也是一些属性的问题啊,不用这些属性不就行了  详情 回复 发表于 2016-5-2 09:35
 
个人签名开源机器人小组介绍:https://bbs.eeworld.com.cn/thread-330292-1-1.html


 
 

回复

6423

帖子

16

TA的资源

版主

5
 
kevinrobot 发表于 2016-5-2 09:30
是的,系统本身是没问题的,是我用了第三方的驱动,导致结构体编译不通过,而重写结构体定义的代价实在太 ...

结构体编译不过,即使使用gcc也是一些属性的问题啊,不用这些属性不就行了
此帖出自ARM技术论坛

点评

对gcc不熟,在linux下gcc编译通过了,就想着和gcc保持一致,毕竟以后移植更方便。现在的问题是我想用gcc不想用armcc,但linking时,提示systeminit函数有问题,还在找原因~~  详情 回复 发表于 2016-5-2 09:53
 
个人签名training
 
 

回复

296

帖子

0

TA的资源

五彩晶圆(高级)

6
 
白丁 发表于 2016-5-2 09:35
结构体编译不过,即使使用gcc也是一些属性的问题啊,不用这些属性不就行了

对gcc不熟,在linux下gcc编译通过了,就想着和gcc保持一致,毕竟以后移植更方便。现在的问题是我想用gcc不想用armcc,但linking时,提示systeminit函数有问题,还在找原因~~
此帖出自ARM技术论坛
 
个人签名开源机器人小组介绍:https://bbs.eeworld.com.cn/thread-330292-1-1.html


 
 

回复

296

帖子

0

TA的资源

五彩晶圆(高级)

7
 
lcofjp 发表于 2016-5-1 15:22
就是SystemInit没有定义而已,找到定义这个函数的文件,把它加进来

的确是你说的这个问题,谢谢啦,我发现我的系统文件里只引用了这个函数,但没有对这个函数的定义。
此帖出自ARM技术论坛
 
个人签名开源机器人小组介绍:https://bbs.eeworld.com.cn/thread-330292-1-1.html


 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

8
 
SystemInit这个在启动文件中有,在system_stm32f4xxx.c中有具体的实现。SystemInit这个函数是要设置系统时钟。
此帖出自ARM技术论坛
 
 
 

回复

296

帖子

0

TA的资源

五彩晶圆(高级)

9
 
谢谢各位,改gcc编译器到现在为止,一直困扰了我一周多,今晚终于好了,帖子上的问题最后发现是systeminit函数未定义,定义之后就好了,但后来linking的时候还是有很多问题,后来发现是xxxflash.ld文件需要修改,然后加入linker的头文件就行,最后终于编译成功并下载成功。依然很感谢各位~如果有朋友遇到和我同样的问题,可以随时在坛子里问我。希望大家不要再在类似事情上浪费精力和时间了。
此帖出自ARM技术论坛
 
个人签名开源机器人小组介绍:https://bbs.eeworld.com.cn/thread-330292-1-1.html


 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

10
 
我用keil+gcc生成库 ,编译时发现报了很多错误  求解

QQ截图20160523144337.png (23.29 KB, 下载次数: 0)

QQ截图20160523144337.png
此帖出自ARM技术论坛
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

11
 
基本语法的事情,绝对不要怀疑编译器
此帖出自ARM技术论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

12
 
gcc是一个很著名的C编译器,虽然开源,但其稳健性不容置疑。
mdk iar等的编译器更是国人最常用,商业作品,同样不容置疑。
遇到编译错误,真的只是语法问题而已。
此帖出自ARM技术论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表