野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7815|回复: 2

[ucos] 有关uCOS,怎么理解当任务放弃CPU的使用权?

[复制链接]
发表于 2018-3-29 17:09:26 | 显示全部楼层 |阅读模式
大家好,小弟有个已经废弃多年的S3C6410的开发板,想学习uCOS。在移植UCOS-II的时候,看见文档的一句话“任务放弃CPU的使用权”,不是很明白:具体什么时候放弃CPU使用权?



微信图片_20180329170722.png
回复

使用道具 举报

发表于 2018-3-29 17:35:27 | 显示全部楼层
例如调用系统延时,或者等待系统事件的时候
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-29 19:56:22 | 显示全部楼层
flyleaf 发表于 2018-3-29 17:35
例如调用系统延时,或者等待系统事件的时候

多谢回复。我这边也做了实验:起初是跑Task1,然后调用suspend让任务挂起状态,就会跑Task2。
U-Boot 1.1.6-g54d5e59d-dirty (Mar 29 2018 - 04:44:19) for SMDK6410

CPU:     S3C6410@532MHz
         Fclk = 532MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (SYNC Mode)
Board:   SMDK6410
DRAM:    256 MB
Flash:   0 kB
NAND:    1024 MB
MMC:     =>  rca=0x0000cd9a
1887 MB
*** Warning - bad CRC or MoviNAND, using default environment

In:      serial
Out:     serial
Err:     serial
Enter UCos loop(Mar 29 2018 04:44:19).  
ucosii_main 96
ucosii_main 99, stack = 0xc7e4dff8
OSStart

Creating Application Events...
Creating Application Tasks...
AppTask1 open led                       // AppTask1 开始开关LEDS
AppTask1 close led
AppTask1 open led
AppTask1 close led
AppTask1 open led
AppTask1 enter suspend!            // 进入休眠

OS_Sched 1637                          // 切换到下一个就绪的任务
OS_Sched 1639
OS_Sched 1641
OS_Sched 1643
OS_Sched 1645
OS_Sched 1647
OS_Sched 1652
OS_Sched 1654

AppTask2                                    // 启动任务2
AppTask2 close led
AppTask2 open led
AppTask2 close led
AppTask2 open led
AppTask2 close led
--------------------------------------------------------------


另外我想请教下,如果想要几个任务在同时跑的效果,是不是需要一个Timer来定时切换(硬件中断)呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-22 03:47 , Processed in 0.031873 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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