UCOS-II只能运行4个任务,怎么回事?
如题,最近用M3开发板(stm32f103vct8)做一个项目,工程中加了UCOSII操作系统,不知道为啥只能运行4个任务,多加一个任务就不行,总有一个低优先级的任务无法运行。工程中用了该芯片的3个串口;用UCOSII操作系统有哪些注意事项呢? 我没接触过 uc/os 系列,以下言论,可信程度,请自行评估:我看过一些资料,貌似 uc/os-II 只支持优先级抢占调度,
先看看高优先级的任务们,是否都全部轮番霸占了 CPU,是这样的话,低优先级的任务永远不会被执行。 领导者要主动让权少干苦力(多主动休眠) 只处理下属的报告最好只签字(事件)就可以了
其它的看配置问题 程序是否有bug 检查 os_cfg.h 内相关的配置,如 OS_MAX_TASKS 值等,还有每个 TASK 使用的 Stick Size 是否已超过了那颗 ST MCU 内的 SRAM 的 Size 了?! 谢谢,再试试! 你查看一下高一级任务的运行情况,有没有释放资源调用delay UCOS应该是有动态优先级的 用ucos做过项目,但只用到4个任务。看楼主的描述,最低优先级不运行,很有可能是高优先级任务占用MCU满了,如楼上几位所说,高优先级任务少干体力活,多释放MCU给下面干体力活的。另外如果任务栈不够,程序可能崩溃, marshallemon 发表于 2016-11-26 20:52
UCOS应该是有动态优先级的
固定优先级的,只有在竞争资源时,可能发生优先级翻转。
页:
[1]