liuguanggen 发表于 2009-9-17 21:21:57

刚学UCOSII,遇到超级难题!!!

各位大哥:
近几天来一直在看UCOSII,想学习了,但一直不知道,如何答建他的调试平台?大哥们总是讲些RTOS程序如何如何做?我觉得没有多少意义?对于一个想要入门的人来讲(比如我),首先觉得如何搭成这样一个编译平台很重要!然后在这个平台再调试程序。请大哥们解答一下!
我这样认为,对不对?UCOSII是不是也有个类似KEIL,GCC那样子的调试平台呢?请大家推荐一个最好的。不胜感激!我姑且代表AVR上所有有心学UCOSII的人表示感谢!!!

Alexkey 发表于 2009-9-17 21:30:08

我觉得吧,你先买本书看看,了解一下什么OS的原理

hushuitao 发表于 2009-9-17 21:34:04

ucos可以直接在VC6下编译调试。清华翻译的那本书,代码是在Borland C++ 4.5下面编译调试的

lanshuitianxia 发表于 2009-9-17 22:06:28

建议买本书看看吧 《uC/OS-II标准教程》人民邮电出版社出的 今年5月刚出的
我最近在看 所有代码使用的编译工具是VC++6.0 直接在PC上调试
网上还有个uC/OS-II中文教程的PDF书下载 也不错的

pengshipower 发表于 2009-9-17 22:11:25

lz现在对os和os的作用,估计理解不深。ucos是一款实时操作系统,可以在官方下载源代码,其开发平台一般为IAR。如果想学习UCOS,建议在vc平台下学习会更简单。当然最终还是要跳转到目标MCU对应的开发平台,不过那时就很轻松了。

qinshi1208 发表于 2009-9-17 22:37:01

找个能跑uc/os的板子,边跑边调试边学习

yajira 发表于 2009-9-18 09:17:02

强烈推荐先在VC下面学习

agengood 发表于 2009-9-18 18:27:23

记号

agengood 发表于 2009-9-18 18:39:06

那大哥们就发个手把手搭建平台的教程啊。

agengood 发表于 2009-9-18 19:18:42

大侠们,我这样理解操作系统行不行?比如说,我们做单片机跑裸机的时候,一般是一个while(1){...},就搞定了,{}里面呢有LCD显示,有KEY按键,有LED闪烁。统一写在一个while(1)里面。那么,操作系统就可以这样来理解,有三个while(1),一个是LCD的,一个是KEY的,一个是LED的。关键就是他们如何切换的问题。我这样理解不知对不对?请大侠指点??

shiqianwei 发表于 2009-9-19 13:03:09

voidmain (void)
{
    PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK);      /* Clear the screen                         */

    OSInit();                                              /* Initialize uC/OS-II                      */

    PC_DOSSaveReturn();                                    /* Save environment to return to DOS      */
    PC_VectSet(uCOS, OSCtxSw);                           /* Install uC/OS-II's context switch vector */

    RandomSem   = OSSemCreate(1);                        /* Random number semaphore                  */

    OSTaskCreate(TaskStart, (void *)0, &TaskStartStk, 0);
    OSStart();                                             /* Start multitasking                     */
}

这是ucosii的main函数(2.52版的),它进到OSStart()里就不出来了,那时候就是操作系统在运行了。你说像那么3个while(1),也是有点那么个意思。

banyai 发表于 2009-9-19 14:57:36

大概就是这么回事,uc/os作为实时操作系统,有两种切换方式:1.系统时钟切换,如果只有这一点,它就是一个分时操作系统,比如10ms,系统切换一次,把最高优先级的就绪任务运行,正在运行的任务停下来等待运行。2.由任务和中断发出一个通信信息这后,立即切换任务,这就是所谓的实时了。

agengood 发表于 2009-9-20 18:42:28

请更多的人留言,顶起来

VincentYan 发表于 2009-9-20 18:59:55

推荐一本好书《基于嵌入式实时操作系统的程序设计技术》周航慈 吴光文著,ucOSII的应用,非常不错

zchong 发表于 2009-9-21 12:57:20

楼上,这本书现在好像不好买啊

usecool 发表于 2009-9-22 16:30:50

IAR有调试ucosii的插件,更方便点。

agengood 发表于 2009-9-25 20:51:30

终于明白了操作系统是怎么回事了?今天在ADS上想动手写一个程序,发现ADS上面没有芯片选择这一项,更没有芯片的头文件可以调入?如何操作呢?比如说我要用LPC2214这款芯片,如何操作?

dingdangCat 发表于 2009-9-26 22:43:35

mark

xml2028 发表于 2009-9-27 11:06:08

UCOSII确实不好入门,看了半个月,还是什么都不懂,希望坛子里的各位大哥多传授点入门经验,玩单片机还是会点UCOSII比较好。。。。

agengood 发表于 2009-9-29 20:25:17

先顶一顶,一直顶到自已能用它做项目为止

agengood 发表于 2009-10-6 21:08:48

先顶一顶,一直顶到自已能用它做项目为止

bone 发表于 2009-10-6 21:51:28

焦海波有本书,讲解的相当细致,lz去查查看吧!

xm042041 发表于 2009-10-13 11:57:14

10L,可以这么理解,任务调度是内核的核心

tydyg 发表于 2009-10-17 16:13:25

我也是刚想学习UCOS的,不过听说先学习small RTOS51以后,再学习UCOS快些,我看了陈明计的书,大致明白了一点,现在写了一个小程序在KEIL调试了一下,又在PROTEUS上跑,发现4个任务不能都运行,不知怎么处理了?

tydyg 发表于 2009-10-17 16:26:33

哪位大哥在学习UCOS啊?交流一下。我的QQ:513845925
页: [1]
查看完整版本: 刚学UCOSII,遇到超级难题!!!