OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5558|回复: 7

移植了freeRTOS到STMf103之后,总是有这个错误

[复制链接]

83

主题

217

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2016-4-8
在线时间
116 小时
发表于 2016-11-23 15:36:54 | 显示全部楼层 |阅读模式
1金钱
.\Objects\p1.axf: Error: L6218E: Undefined symbol xTaskGetSchedulerState (referred from delay.o).


显示没有定义  xTaskGetSchedulerState  ,返回看了几百遍,都有 #include "task.h"  但是为什么就说没有定义呢,打开  "task.h"  明明看到是有定义的啊,查找了几百遍是不是文件路径没包含头,也不是啊。



1.png
2.png
3.png
4.png
5.png

最佳答案

查看完整内容[请看2#楼]

函数xTaskGetSchedulerState()是个可选函数,宏INCLUDE_xTaskGetSchedulerState为1,才会编译这个函数
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-11-23 15:36:55 | 显示全部楼层
函数xTaskGetSchedulerState()是个可选函数,宏INCLUDE_xTaskGetSchedulerState为1,才会编译这个函数
33]](@}CK[C4271_H40DCXM.png
回复

使用道具 举报

83

主题

217

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2016-4-8
在线时间
116 小时
 楼主| 发表于 2016-11-23 16:38:16 | 显示全部楼层
zuozhongkai 发表于 2016-11-23 16:31
函数xTaskGetSchedulerState()是个可选函数,宏INCLUDE_xTaskGetSchedulerState为1,才会编译这个函数

明白了word哥, 我就是从你新发的例子移植的,但是freeRTOS.H又是从官网下载的
回复

使用道具 举报

9

主题

53

帖子

0

精华

高级会员

Rank: 4

积分
844
金钱
844
注册时间
2013-4-21
在线时间
226 小时
发表于 2016-11-23 16:43:22 | 显示全部楼层
vention 发表于 2016-11-23 16:38
明白了word哥, 我就是从你新发的例子移植的,但是freeRTOS.H又是从官网下载的

FreeRTOSConfig.h
https://shop286328453.taobao.com/
回复

使用道具 举报

83

主题

217

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2016-4-8
在线时间
116 小时
 楼主| 发表于 2016-11-23 17:33:57 | 显示全部楼层
zuozhongkai 发表于 2016-11-23 16:31
函数xTaskGetSchedulerState()是个可选函数,宏INCLUDE_xTaskGetSchedulerState为1,才会编译这个函数

发现问题 SVC_Handler()重复, 可是屏蔽了stm32f1x_it.c里面的 SVC_Handler()后 出现了好多错误。不知如何修改了。
6.png
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-11-23 17:39:09 | 显示全部楼层
这是内存不够,你给FreeRTOS的内存管理的内存堆分了多大的内存?F429例程里面是46KB,但是F103最大只有64KB的内存!所以你要把configTOTAL_HEAP_SIZE改下
开往春天的手扶拖拉机
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-11-23 17:39:46 | 显示全部楼层
vention 发表于 2016-11-23 17:33
发现问题 SVC_Handler()重复, 可是屏蔽了stm32f1x_it.c里面的 SVC_Handler()后 出现了好多错误。不 ...

这是内存不够,你给FreeRTOS的内存管理的内存堆分了多大的内存?F429例程里面是46KB,但是F103最大只有64KB的内存!所以你要把configTOTAL_HEAP_SIZE改小,直到能编译下去
开往春天的手扶拖拉机
回复

使用道具 举报

83

主题

217

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2016-4-8
在线时间
116 小时
 楼主| 发表于 2016-11-24 08:42:44 | 显示全部楼层
zuozhongkai 发表于 2016-11-23 17:39
这是内存不够,你给FreeRTOS的内存管理的内存堆分了多大的内存?F429例程里面是46KB,但是F103最大只有64 ...

嗯,按你说的改可以了,我把内存改成16k就可以编译成功了。在板子上测试了,两个IO口是分开独立工作任务。不过有好多的warmming,还不太清楚如何去修改。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 23:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表