完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这是我学习μCOS-II的笔记,选择任哲的课本是因为在网上找的PDF较邵贝贝的清晰,学习下来,感觉部分内容讲的还是挺好的,书中有大量使用教程
目前状态: 1、对CPU的控制权如何在低优先级的任务不主动放弃使用权的情况下转换到高优先级的任务,对这一过程的具体实现,不是太明白 2、对如何移植,也不懂,没有亲手实践过,直接用的*火的 新建文本文档.rar (296 Bytes ) |
|
相关推荐
3个回答
|
|
终于搞懂:在低优先级任务不主动放弃CPU的使用权的情况下,高优先级的任务如何得到执行的问题在uC/OS里,有两个函数可以实现任务的切换:
在系统时钟的中断服务函数调用的退出中断服务函数OSIntExit()里面,可以看到OSIntCtxSw(),所以只要是高优先级任务的延时到了,系统就会“暴力打断”正在运行的低优先级任务,转而去执行高优先级任务 |
|
|
|
现在又碰到了一个问题:当main函数return之后,程序是怎样运行的?
|
|
|
|
我知道了,是应为在调用过OSStart()函数之后,CPU就转去运行μCOS-II操作系统了
OSStart()的官方英文注释是(前半部分):OSStart()具体内容是: [C] 纯文本查看 复制代码 void OSStart (void){ if (OSRunning == OS_FALSE) { OS_SchedNew(); /* Find highest priority's task priority number */ OSPrioCur = OSPrioHighRdy; OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy]; /* Point to highest priority task ready to run */ OSTCBCur = OSTCBHighRdy; OSStartHighRdy(); /* Execute target specific code to start task */ }} |
|
|
|
只有小组成员才能发言,加入小组>>
791 浏览 0 评论
1151 浏览 1 评论
2527 浏览 5 评论
2860 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2710 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1071浏览 3评论
194浏览 2评论
456浏览 2评论
369浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
454浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 16:44 , Processed in 1.057470 second(s), Total 82, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号