J'essaie de comprendre le fonctionnement des systèmes d'exploitation en temps réel. J'ai regardé les codes sources de certains RTOS. Je veux apprendre en créant mon RTOS simple, quelque chose comme FLIRT.
J'utilise la série PIC16 et le compilateur XC8 C avec MPLABX. Je souhaite également implémenter ce RTOS très simple dans la série PIC12.
J'ai donc décidé de commencer par apprendre à manipuler la pile (comme supercat l'a fait dans cette réponse) et J'ai commencé à chercher et suis tombé sur AN818 qui est intitulé "Manipuler la pile du microcontrôleur PIC18". Cité à partir de la note d'application:
Traditionnellement, la pile de microcontrôleurs n'a été utilisée que comme espace de stockage pour les adresses de retour des sous-programmes ou des routines d'interruption, où toutes les opérations 'push' et 'pop' étaient masquées .
Pour la plupart, les utilisateurs n'avaient pas d'accès direct aux informations sur la pile. Le microcontrôleur PIC18 s'écarte légèrement de cette tradition. Avec le nouveau noyau PIC18, les utilisateurs ont désormais accès à la pile et peuvent modifier le pointeur de pile et empiler les données directement.
Je suis confus. Comment se fait-il qu'il existe des RTOS conçus pour les microcontrôleurs PIC qui fonctionnent avec des cœurs PIC16? Par exemple, OSA RTOS est disponible pour PIC12 / 16 avec le compilateur mikroC.
Pouvez-vous me diriger vers certaines ressources, ou si possible donner des exemples, afin que je puisse en apprendre davantage sur stack changer?