Creo que básicamente los C que existen son casi lo mismo, algunos cumplen la norma establecida C99. Algunos como el CCS tienen funciones o librerías propias que ayudan al programador en algunas procesos.
Pienso que lo más importante, es escribir correctamente el código para crear multiprocesos. La mayoría de programadores he visto que programan todo linealmente y hasta en un mismo archivo.
CCS te obliga a hacer eso..
¿Cómo te obliga ha hacer eso?, Multitarea es algo similar a esto:
Perdón, no especifique, me refería a lo que esta en negrita...
De mas esta decir que hacer un include de un .c es programar en un solo archivo.
Y si queres mas un de un archivo tenes que poner las directivas en cada uno de los archivos para que funcione... para nada modular ni tampoco util.
Con respecto a la multitarea. Cualquier programa con una interrupción es multitarea. Es mas, uno podría hacer un código sin interrupciones y llamarlo multitarea (supongamos encender un led cada tanto y hacer un echo de la UART).
Obviamente un RTOS es exactamente eso, una interrupción cada cierto tiempo y ver que "proceso" le toca, nada mas hablando simplistamente.
La gran ventaja de CCS es que te lo provee con muy poco entender.
La desventaja, dificultad para compilar varios archivos, poca información de algunas funciones (y mucho menos investigarlo al no tener el código fuente), entre algunas otras mas que seguramente me olvido.