We are planning to move our flagship product to ARM platform along with RealView RTX kernel RTOS. We have used UCOS2 RTOS for years and it has proved itself to be a very robust operating system. I would like to have expert comments on features and robustness of RealView RTX Kernel RTOS in comparison with UCOS2 RTOS robustness in preemptive multitasking environment on ARM processor.
I originally used UCOS-II on a 80C390 processor and ported my applications to the RTX kernel for ARM. I did this about a year ago, and it didn't actually take that long for both the processor and OS ports, maybe a month.
I would generally say UCOS-II is a bit more advanced than RTX, as RTX lacks some UCOS-II features. However with some recoding I was able to do everything I was doing in UCOS-II on RTX. I did miss UCOS-II's extra features, however I feel that RTX's integration with the Keil simulator is worth more than all of RTX's other limitations.
We did this to remove the need for re-licensing UCOS-II, as well as the better Keil simulator integration.
Stuart
one of the absolutely missing items in the RTX/uv3,4 integration is the PC per task. Why isn't it there?
One I thing could not do in RTX was suspend a task from another task, this can be easily done in uC/OS-II.
I had to result to terminating and then restarting the task, which was far from ideal in the particular circumstances.
I am not sure if this could have been done some other way? Any ideas?
Drop the thread priority very low and have a running dummy thread with higher priority making sure that the thread stays inactive?
Per that is a good idea. I would still prefer it as a feature though as I do loath to have an extra task acting as an effective second idle task.
I am going to try something dangerous as an experiment (not that I would use it in my real system!). If it is possible I am going to try and raise the idle task priority to 2 and then move other tasks to 1... and see the havoc this creates!