[开发工具] STM32F1系列CubeMX使用Freertos不建用Systick?

[复制链接]
7127|10
 楼主| zcw9911 发表于 2016-3-7 13:23 | 显示全部楼层 |阅读模式
本帖最后由 zcw9911 于 2016-3-7 13:25 编辑

使用CubeMx生成代码时,因为选用了FreeRtos,然后会出现以下警告:
C:\EFI\图片.png
我又看了ST公司的使用FreeRtos的例子却发现使用了Systick,这是什么原因?
难道是CubeMx的Bug?
图片.png
 楼主| zcw9911 发表于 2016-3-7 13:23 | 显示全部楼层
图片如下:
图片.png
huangxz 发表于 2016-3-7 13:37 | 显示全部楼层
OS都是需要使用时钟的.使用systick不是很好吗,这个是cortex的彩蛋,不用不是很可惜吗
 楼主| zcw9911 发表于 2016-3-7 17:30 | 显示全部楼层
仔细看了,帮助文件,大概明白了,CubeMX自身也需要一个系统tick,没有RTOS时,就使用Systick,有了RTOS,因为RTOS要使用systick,所以CubeMx的时钟就只能使用其它的了。
IversonCar 发表于 2016-3-7 20:56 | 显示全部楼层
OS没有时钟的话是跑不起来的,必须用一个定时器
``` 发表于 2016-3-7 21:32 | 显示全部楼层
zcw9911 发表于 2016-3-7 17:30
仔细看了,帮助文件,大概明白了,CubeMX自身也需要一个系统tick,没有RTOS时,就使用Systick,有了RTOS,因 ...

楼主的帮助文件是哪份?
可以分享一下吗,我也遇到这个问题,不明所以。
xmshao 发表于 2016-3-8 08:24 | 显示全部楼层
那是提示你给FREERTOS选择个滴答节拍时钟,一般选内核的 SYSTICK.

CUBEMX本身不要什么时钟,它不过是个配置软件工具。
lemonboard 发表于 2016-3-8 09:10 | 显示全部楼层
新版本的STcubeMX在硬件初始化的时候使用了systick做为超时计数器。而这个设计与RTOS的最初设计有所偏差,被占用了。因此,才会出现上面的提示。

评论

正解,仔细看了手册,发现cube自身很多函数加了超时判断功能,所以需要一个tick源。  发表于 2016-3-8 16:06
xbd_119 发表于 2016-3-8 12:48 | 显示全部楼层
去恶补一下操作系统的知识

评论

我十年前就看UCOS了  发表于 2016-3-8 16:07
您需要登录后才可以回帖 登录 | 注册

本版积分规则

147

主题

786

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部