Hi All On test board:Leds(2 nos) --> P1.1,P1.2 Buzzer --> P1.3 In Task0:Task1 and Task2 are created. In Task1: led1 = On,led2 = off --> delay() --> led1 = Off,led2=On. In Task2: buzzer = On --> delay() --> buzzer = off. Serial port,Timers,Interrupts not initialised. No external RAM connected(only one int var used in code). After running this program on 89C51RD2 nothing was working. what might be the problem ? Do i have to initialise Timer,interrupts ? is this problem related to delay routines ? can any body suggest how can i check flow of RTOS program execution by using above on board resources ? Thanks regards Naresh
Hi Naresh, I am not familar with the 8-bit hardware, but there are good examples in C166 environment, so I guess there are some examples too in C51 toolchain. In C166 environment you will find it under EXAMPLE subfolder, but have look at the additionally files, since as I will mention below the printf's are excluded. There will be used a USER DEBUG function which give the states of the tasks and in which task you are currently. Since µVision has a build in function of printf in debugger/simulator I would suggest you to use this to output some usefull text for debugging purposes. (I use it,since I am beginner in RTOS programming and for me this give some usefull hints.) Sorry for may not be more helpfully in this case. Stefan
Hi Naresh , sorry I have forgotten some points. An eval-version of C166, if no examples available you can download ( as known ) at KEIL for free of charge. The Timerinterrupt depends from what timer interrupt you want to use. In common the OS will enable the global interrupt flag as I know, but may be differences between RTX Tiny and RTX full. So the full version works with preemptive multi tasking , the Tiny with Round-Robin, limited to 32 tasks and so on.
View all questions in Keil forum