本帖最后由 singleywy 于 2010-10-14 09:43 编辑
我发这个贴子,一想让自己的作品单片机多任务操作系统os_mini_short_v1.1(前一版本为os_mini_short_v1.0开源,让大家共同学习,单片机实时多任务思想,让裸奔单片机体现它的多任务优越性,尽管裸奔有它的好处,实时性似乎相对来说比较高,编写简单,但是裸奔中的任务具有时间的不确定性,以及运行形态的不确定性,我想大家用的大多系统莫过于前后台,像前后台这样的系统,切换速度快,没有任务来回调度那么麻烦,不过,大家都知道,既然是前后,那么前台的任务必须代码要小,速度要快,否则会影响后台的任务,其次是,一般情况下只有一个前台即必须依靠状态机思想来软件模拟多个前台(其后果是,前台的时间运行时间过长),或者使用多个定时器来创建多个前台),当然不排除这样的情况:很多人在一个项目中做的任务不多,相对简单的项目,根本没必要操作系统,直接裸奔,或者利用前后台就足矣!但,当我们遇到了多任务,又要保证任务之间相互影响较小,同时要保证任务的运行的确定性,我个人觉得还是用RTOS比较好,说到这里大家要拿砖头砸我了,会说你看那个什么LINUX,ucos,vxworks等等,那些东西,往单片机摞,就占了大半江山,你说还能运行什么任务,当然,那些系统是为了应用而全面设计的,然而我们在应用中有必要用到它的全部功能吗,至少,我们不肯能将所有的功能都用上吧,所以我们要做的是裁剪,或者,选择功能我们需要的,或者选择功能简单的RTOS,如果这样的话,系统生成的代码将大大缩小,因而一般人喊单片机上系统太占空间了,只是没有进行功能选择,或者代码优化,比如网上有关MSP430类UCOS的操作系统,按自己的需求,最后仿造编写成了尽有300左右的代码,仅占几十字节的RAM,而相对2KRAM,这几十字节的内存又算什么呢,当然还没有算术任务堆栈部分,不过即使加上了,又能增加多少,所以最后我想说的是,让单片机不在畏惧RTOS,重要在于个人,在于项目的复杂程度
另外说明一下:后面有我的测试图,请大家看看 |