Estoy tratando de entender cómo funcionan los sistemas operativos en tiempo real. He mirado los códigos fuente de algunos RTOS. Quiero aprender creando mi RTOS simple, algo como FLIRT .
Estoy usando la serie PIC16 y el compilador XC8 C con MPLABX. También quiero implementar esta serie muy simple de RTOS a PIC12.
Entonces, decidí que debería comenzar por aprender a manipular la pila (como supercat hizo en esta respuesta ) y empecé a buscar y encontré AN818 que se titula "Manipular la pila del microcontrolador PIC18 ". Citado de la nota de aplicación:
Tradicionalmente, la pila del microcontrolador solo ha sido Se utiliza como espacio de almacenamiento para direcciones de retorno de subrutinas. o rutinas de interrupción, donde todos los ‘push’ y ‘pop’ Las operaciones estaban ocultas.
En su mayor parte, los usuarios tenían No hay acceso directo a la información en la pila. los El microcontrolador PIC18 se aparta de esta tradición. ligeramente. Con el nuevo núcleo PIC18, los usuarios ahora tienen Accede a la pila y puede modificar el puntero de pila. y apilar datos directamente.
Estoy confundido. ¿Por qué existen RTOS para microcontroladores PIC que funcionan con núcleos PIC16? Por ejemplo, OSA RTOS está disponible para PIC12 / 16 con el compilador mikroC .
¿Puede dirigirme a algunos recursos o, si es posible, dar ejemplos para que pueda aprender sobre el cambio de pila?