cencia ha scritto:un altro paio di dubbi...
1) allora da quanto ho capito se uso qualsiasi PIC, posso fare il mio sistema real time con MPLAB, con i dovuti file di configurazione e direttive varie. confermi?
NI,
Un sistema operativo per microcontrollori è un framework, una struttura (diversi sorgenti in C o librerie pre-compilate) che ti serve per sviluppare un programma con diversi compiti che funzionano apparentemente in contemporanea.
Facciamo un esempio sui PIC.
Hai presente il framework per i PIC per l' USB? Bene, quello è se vogliamo un sistema operativo perché la gestione dell' USB deve girare contemporaneamente al programma dell' utente. Se vai a vedere la documentazione del "low pin count development system" troverai la spiegazione di come realizzare un programma e gestire in contemporanea l' USB (che non è una cosa semplice da fare).
Nel manuale ti dice più o meno:
- Apri MPLAB, seleziona il micro X.
- Crea un progetto con queste caratteristiche etc. etc.
- Includici questi file .h che trovi etc. etc.
- configura il file "descriptor" per descrivere il tipo di periferica USB che devi implementare.
- Includi i sorgenti tizio.c caio.c sempronio.c (per esempio)
- Scrivi uno scheletro di main in questo modo etc. etc
- Dentro il main (o dentro la funzione pinco-pallo) ci scrivi il tuo programma.
Tu fai tutte queste operazioni e, magia delle magie, ti ritrovi implementata l' USB ed hai la possibilità di scriverci il tuo programma che poi di questa USB ne farà qualcosa.
Stessa cosa capita con un sistema operativo. Nelle istruizioni c'è scritto quali files devi includere nel tuo progetto e come scrivere i tuoi task.
Per quanto riguarda scriversi da soli il sistema operativo ... beh, io lo faccio sempre nei miei programmi. Uso uno stile di programmazione che mi permette di avere più compiti che funzionano contemporaneamente implementando macchine a stati ed uno scheduler delle balle che poi semplicemente usa un' array di puntatori a funzione. Una sorta di multitasking cooperativo da manovali. Senza pretese, intendiamoci, ma io sono all' antica e le cose piace farle da me, magari complicandomi un po' di più la vita e magari dovendo fare molta più attenzione.
cencia ha scritto:2) se scarico FreeRTOS, questo è un sistema di sviluppo? posso scrivere e compilare tutto con questo? o devo scrivere le procedure con MPLAB e linkare tutto con il sistema operativo....?
Come ho detto prima FreeRTOS è una collezione di files da includere nel progetto. Quindi non è un IDE, non è un debugger, sono solo files sorgenti punto e basta, come se fosse una libreria tiè. Devi quindi utilizzare i files che lo compongono insieme ad un sistema di sviluppo come MPLAB scrivendo il programma in un certo mod, con certe convenzioni. Ma per farlo devi leggerti bene e con calma tutta la documentazione. E' una palla, lo so

, ma è necessario farlo anche solo per iniziare a smanettare.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.