wangyan915205 发表于 2016-11-23 22:10:17

UCOS-II只能运行4个任务,怎么回事?

如题,最近用M3开发板(stm32f103vct8)做一个项目,工程中加了UCOSII操作系统,不知道为啥只能运行4个任务,多加一个任务就不行,总有一个低优先级的任务无法运行。工程中用了该芯片的3个串口;用UCOSII操作系统有哪些注意事项呢?

security 发表于 2016-11-24 08:32:22

我没接触过 uc/os 系列,以下言论,可信程度,请自行评估:
我看过一些资料,貌似 uc/os-II 只支持优先级抢占调度,
先看看高优先级的任务们,是否都全部轮番霸占了 CPU,是这样的话,低优先级的任务永远不会被执行。

4058665 发表于 2016-11-24 11:50:21

领导者要主动让权少干苦力(多主动休眠)    只处理下属的报告最好只签字(事件)就可以了
其它的看配置问题   程序是否有bug

xyz543 发表于 2016-11-24 13:07:55

检查 os_cfg.h 内相关的配置,如 OS_MAX_TASKS 值等,还有每个 TASK 使用的 Stick Size 是否已超过了那颗 ST MCU 内的 SRAM 的 Size 了?!

wangyan915205 发表于 2016-11-24 22:50:58

谢谢,再试试!

zhonggp 发表于 2016-11-26 15:12:07

你查看一下高一级任务的运行情况,有没有释放资源调用delay

marshallemon 发表于 2016-11-26 20:52:42

UCOS应该是有动态优先级的

saccapanna 发表于 2016-11-26 21:19:37

用ucos做过项目,但只用到4个任务。看楼主的描述,最低优先级不运行,很有可能是高优先级任务占用MCU满了,如楼上几位所说,高优先级任务少干体力活,多释放MCU给下面干体力活的。另外如果任务栈不够,程序可能崩溃,

saccapanna 发表于 2016-11-26 21:21:50

marshallemon 发表于 2016-11-26 20:52
UCOS应该是有动态优先级的

固定优先级的,只有在竞争资源时,可能发生优先级翻转。
页: [1]
查看完整版本: UCOS-II只能运行4个任务,怎么回事?