你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

CubeMX生成的工程,_sbrk()编译报错:undefined reference to 'end'

[复制链接]
Bradley_小靳 提问时间:2019-6-17 11:27 /
用STM32CubeMX生成的工程,直接打开编译后编译报错了。
     错误所在文件: syscall.c
     错误函数:_sbrk()
     编译报错:undefined reference to 'end'
关键在相应语句后面没有看到 end 字符。。。求大佬们帮忙瞅瞅
收藏 1 评论10 发布时间:2019-6-17 11:27

举报

10个回答
hua543 回答时间:2019-6-17 11:31:07
同问
edmundlee 回答时间:2019-6-17 16:16:34
是Keil吧?我也好象碰到过这问题, 后来找到的原因是Arm编译版本的问题, 在Keil改一下ARM编译器的版本试试

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

废鱼 回答时间:2019-6-17 16:55:58
.s没有加上,你手动把.s加到工程里面就可以了。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

Bradley_小靳 回答时间:2019-6-18 08:42:19
安 发表于 2019-6-17 16:55
.s没有加上,你手动把.s加到工程里面就可以了。

检查过了,.s文件在的。
废鱼 回答时间:2019-6-18 08:45:34
用的是什么IDE?最好把工程传一下。大家没法帮你去想着是什么问题。
Bradley_小靳 回答时间:2019-6-18 09:08:48
edmundlee 发表于 2019-6-17 16:16
是Keil吧?我也好象碰到过这问题, 后来找到的原因是Arm编译版本的问题, 在Keil改一下ARM编译器的版本试试 ...

我现在用的是SW4
Bradley_小靳 回答时间:2019-6-18 09:12:13
安 发表于 2019-6-18 08:45
用的是什么IDE?最好把工程传一下。大家没法帮你去想着是什么问题。

用的是SW4STM32,之前是没有问题的,添加了用STM32CubeMX添加了定时器功能之后就出现这个问题了,修改堆栈空间大小也没有用。原工程因为更换IDE被覆盖掉了。。。。
byronsong 回答时间:2019-6-18 09:17:03
Bradley_小靳 发表于 2019-6-18 09:12
用的是SW4STM32,之前是没有问题的,添加了用STM32CubeMX添加了定时器功能之后就出现这个问题了,修改堆 ...

删掉ioc以外的文件重新生成代码试试?

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

Bradley_小靳 回答时间:2019-6-18 15:16:06
songshiqun2010 发表于 2019-6-18 09:17
删掉ioc以外的文件重新生成代码试试?

解决了,谢谢~
Bradley_小靳 回答时间:2019-6-18 15:23:19
问题解决了~~谢谢各位的帮助~~

原因:
     使用STM32CUBEMX 生成工程后,如果在该工程的基础上进行引脚等设计修改的话就会导致这个问题。
目前找到的解决办法:
     自己重新新建工程,然后重新导入其它文件。坑啊。。。

生成工程前千万千万,一定一定要多多确认一下还要不要加东西了。。刚刚试过了,改个时钟频率也出这个问题。。。。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3 谢谢分享

查看全部评分

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版