登录注册
yyjasen 发表于 2015-4-7 13:55 每个任务所占的堆栈大小是不是固定的?
JasonWangSE 发表于 2016-6-15 09:53 建议参考uCOS的user manual,里面有详细的说明所有的scheduling points A task signals or sends a messag ...
战国风云儿 发表于 2016-8-9 21:22 我现在在学习UCOS III,目前还在学习一些关键部分的源码。其实有时候也在想,这个操作系统能干嘛呢,我说不 ...
247153481 发表于 2015-3-5 10:42 这就是使用rtos的好处了,不过也会有一些相应的负担
jorya_txj 发表于 2015-4-1 11:16 任务自己放弃cpu或者被更高优先级的任务所抢占,建议使用raw-os.
Study_Stellaris 发表于 2015-3-30 20:32 官方网站上有很多例程,www.micrium.com
lcofjp 发表于 2015-3-30 11:25 不可能啊,节拍不是用来切换任务的吗,也就是说一个节拍或许能切换一个进程。
cnldjun 发表于 2015-3-29 16:58 但是,静态分配时候,如何确定每个任务的栈空间大小呢?
奋斗吧小鱼儿 发表于 2015-3-7 12:36 希望有更多人都加入进来,我也不懂,但渴望搞懂!顶一下楼主~
快乐古月 发表于 2015-3-7 10:17 每个任务都有自己的堆栈空间。堆栈必须声明为OS_STK类型,并且由连续的内存空间组成。用户可以静态分配堆栈空间(在编译的时候分配)也可以动态地分配堆栈空间(在运行的时候分配)。静态堆栈声明如程序清单 L4.4和4.5所示,这两种声明应放置在函数的外面。 程序清单 L4.4 静态堆栈 static OS_STK MyTaskStack[stack_size]; 或 OS_STK MyTaskStack[stack_size]; 用户可以用C编译器提供的malloc()函数来动态地分配堆栈空间,如程序清单 L4.6所示。在动态分配中,用户要时刻注意内存碎片问题。特别是当用户反复地建立和删除任务时,内存堆中可能会出现大量的内存碎片,导致没有足够大的一块连续内存区域可用作任务堆栈,这时malloc()便无法成功地为任务分配堆栈空间。 程序清单 L L4.6 用malloc()为任务分配堆栈空间 OS_STK *pstk; pstk = (OS_STK *)malloc(stack_size); If (pstk != (OS_STK *)0) { /* 确认malloc()能得到足够地内存空间 */ Create the task; }
jishuaihu 发表于 2015-3-6 14:32 强烈同意这个观点。
Study_Stellaris 发表于 2015-3-6 11:00 现在 RTOS 很多,UCOS 确实提供的例程也很多,你需要的是了解一些关于 RTOS 的知识。
zhaojun_xf 发表于 2015-3-6 10:12 如果你想学习ucos II的移植过程,确实有必要学习一下,如果你想应用ucos,那就没有必要了,网络上,甚至官方网已经为你提供了移植好的代码,任何M3核的代码都是可以通用的。
zhaojun_xf 发表于 2015-3-6 09:51 其实,这个时代已经不像之前的51时代了,我们对他们的内核指令了如指掌,原因很简单,由于51速度、存储等资源有限,如果你不了解这些,可能有很多应用都受到限制或者得不到满意的结果。 但是,随着技术的发展,如果你每款单片机都去完全了解,恐怕很少有公司会给你这个时间,而且很多时候我们需要选择多种内核的单片机进行开发,再者,现在的单片机不管从速度还是存储等资源上来说,基本都够使用。与其花大量的时间了解内核,不如花大量的时间搞好应用。 现在的很多单片机厂商都退出自己的代码库也是基于这些因素,以后的单片机开发基本就是玩C了,除非一些特殊的场合,例如FAE、操作系统移植、底层驱动开发等,否则真没有必要再去了解内核。 当然,这只是本人的一家之言。
lcofjp 发表于 2015-3-6 09:41 你说的也不错,如果不懂内核的体系结构的话,那绝对不叫玩M3,而是玩C语言而已。 常见的知识包括指令集,寄存器,异常和中断等,如果学到操作系统级别的话,这些是必须掌握的。 像一些特殊寄存器的功能,中断时哪些寄存器入栈,入栈的顺序是什么都很重要。
lcofjp 发表于 2015-3-6 09:21 楼主要是有看法,应该楼主先说,我目前没啥意见。
HALO--117 发表于 2015-3-5 18:30 2、在我印象里,M3是比较早的架构了,好像ST在05年就发布了STM32系列芯片,只不过是在08、09年国内做STM32的人才逐渐多了起来。
ddllxxrr 发表于 2015-3-5 20:27 我看UCOSIII只能在教学和实验室里呆着啦
惠美丽
吴世勋
< 1/1 >
已有113人来访过
留言
现在还没有留言