1、P5 在启动多任务OSStart()之前,至少要先建立一个任务。这一点非常重要,不这样做,应用程序就会崩溃。
2、P11 当不知道应该给任务分配多少堆栈空间时,堆栈检查功能是很有用的。在这个例子里,先分配足够的堆栈空间给任务,然后用堆栈检查操作查看任务到底需要多少堆栈空间。显然,任务要运行足够长的时间,并要考虑各种情况,才能得到正确的数据。最后确定的堆栈大小,还须考虑系统今后的扩展,一般多分配10%~25%,或者更多的栈空间。如果系统对稳定性要求高,则应该多1倍以上。(要使用堆栈检查操作必须用OSTaskCreatExt()建立任务且在任务建立时给堆栈清0)
3、P16 OSTimeDly()会比OSTimeDlyHMSM稍稍快一点。
4、P23 消息队列和邮箱非常相似,只是消息队列可以容纳多则消息,而邮箱只能容纳一则消息。使用消息队列,一个任务或中断可以很容易与另一个任务通信。每则消息都是一个指针,但是这个指针指向的内容是由用户的应用程序决定的,发送消息和处理消息的任务必须约定好这个指针的用法。建立消息队列需要2个元素:一个OS_EVENT的数据结构和一串指针。消息队列的尝试决定于这一串指针的数目。
5、P38 “图F2.3 任务的状态”
6、P39
7、P42
8、P44 目前mC/OS-II不支持时间片轮番调度法。应用程序中各任务的优先级必须互不相同(笔者添加:mC/OS-III 支持时间片轮番调度法。ucos iii介绍.pdf)。
9、P50
10、P52 P60 P61 mC/OS-II对信号量,邮箱,消息队列只支持优先级法
11、P52 在使用信号量之前一定要对该信号量做初始化。作为互斥条件,信号量初始化为1.
P56 可以利用信号量使某任务与中断服务同步(或者与另一个任务同步,这2个任务间没有数据交换)。用来实现同步机制的信号量(不再保证互斥条件)初始化成0
12、P55
13、P77
14、P78
15、P82
文章评论(0条评论)
登录后参与讨论