[OT]rtems RTOS per AVR, ARM e tante altre CPU a me sconosciute

Ho clonato il repositor rtems e sono alle prima fase di configurazione chi si tuffa con me
in questa "avventura"?

http://www.rtems.org/

git clone git://git.rtems.org/rtems.git rtems

cd rtems
./bootstrap

./configure --help

ecc..

Ciao.

Ci vorrebbe un OT nel titolo del thread :wink:
A parte questo, ti vorrei fare qualche domanda:

  • a che livello di supporto sono con gli Atmel AVR? Vedo che non supportano gli interrupt, allo stato attuale (v. 4.10).
  • perché hai scelto rterms come RTOS? su cos'hai basato la tua scelta e perché hai scartato altri prodotti (vedi Avr-Os che ieri ne parlavi un gran bene)?

Nella sezione generale un RTOS non mi pare che possa essere considerato OT, le scheda Arduino che ho posso usarle indifferentemente sia con RTOS o meno, comunque lascio OT per evidenziare che il post non è proprio Arduino Style.

Perché leo, bella domanda, non lo so, me lo sto chiedendo proprio adesso.
avr-gcc e avr-libc ecc supportano rtems dalla versione 4.7.0 di gcc e avr-libc credo da 1.8.0, comunque mi ero accorto di questa particolarità quando tentati di compilare la toolchain atmel patched. Quindi cercando con google rtems mi resi conto che era un progetto interessante, mi ripromisi di valutarlo.

In post recenti lesto scrive di eclipse per arm e che vuole riscrivere il codice per il coso volante che gira su ST32, credo sia stato per questo motivo quando durante una ricerca con google non correlata e comparso il link di rtems, ho letto un poco (molto poco) e ci sto provando da sorgenti.

avr-os e solo per avr, io dentro ho 3 schede ARM, due ST32 e una freescale che prendono polvere.
Per rtmes mi sembra aver letto che c'è anche un plugin eclipse, quindi un po questo un po quello mi sono lasciato
prendere dall'entusiasmo scordandomi del tutto di avr-os.

Ne sono molto poco, pure per questo cerco compagnia durante il percorso.

Che fai ti rimbocchi le maniche e ci provi anche tu?
Tanto è sicuro che almeno una scheda con ARM a bordo la devi avere dentro casa.

Ciao.

A me gli RTOS piacciono e non poco. In passato mi sono studiato tutte le librerie simil-RTOS quali Avr-Os, Scoop, RTuinOS ecc nonché ho provato anche port per Arduino/Atmel di veri RTOS quali FreeRTOS, ChibiOS quindi con me sfondi una porta aperta :wink:

Di schedine ARM a casa ho l'Arduino Due (se tralasciamo una Rasp ma che considero più un SoC).

Io non ho esperienza pratica con RTOS, solo teoria. Con esperienza pratica significa che non ne ho mai scelto uno e quindi mi sono limitato a giocare con gli esempio di.. ad esempio ho bertos o qualcosa di simile.

Questo rtems sembra roba proprio tosta e ad alto livello. La rogna è che la toolchain che ho installata nel sistema non va bene, ne devo compilare una specifica per rtems. Ci sono anche dei pacchetti rpm, deb ecc pronti ma purtroppo non ho trovato nulla di pronto per Fedora 17, quindi mi tocca tentare il build manuale, ma aspetterò ancora un paio di giorni per saperne di più.

ChibiOS, mi pare che sia basata su un cooperative task, cioè niente switch context.
Ah dimenticavo per rtems, leggendo veloce mi pare di aver letto che come opzione c'è lo scheduler deadline, si c'è almeno nella doc http://rtems.org/onlinedocs/doc-current/share/rtems/html/c_user/Scheduling-Concepts-Earliest-Deadline-First-Scheduler.html#Scheduling-Concepts-Earliest-Deadline-First-Scheduler

Ciao.

Domani cerco di capire se l'ambiente è facilmente impostabile oppure no.

x iscrizione.

Oggi a casa ho clonato il repo e ho lanciato lo script ./bootstrap. Ha dato un pò di warning ma ha terminato il lavoro.
Le info per la compilazione però non le ho trovate. Che cosa si compilerebbe, poi? Una specie di IDE? La toolchain? Non c'è molta documentazione su questo rtems. :sweat_smile:

mmm..no IDE no di sicuro almeno al momento non mi pare nel codice ci sia traccia di IDE.

Ha dato un pò di warning ma ha terminato il lavoro.

Dopo aver clonato il repo, questo in locale punta alla versione in sviluppo, quindi io ti direi di postare
i messaggi di errore.
Nel mio caso (Fedora 17) la versione in sviluppo usa autoconf-2.69 e io ho 2.68 e quindi non funge.
La versione 4.10 invece è compatibile con F17.
git tag
Ti fa vedere una lista di tag.
git checkout 4.10
HEAD punta alla versione 4.10.

Conviene sempre non sporcare il repogit locale, crea un tar.bz2 e scompattalo da qualche parte e lavori su questo.

./bootstrap --help
./bootstrap -c cancella tutto quello che ha creato bootstrap, dovrebbe pulire tutto l'albero
./bootstrap -p non so con precisione cosa fà, ma credo che abbia a che fare con l'installazione

Non c'è molta documentazione su questo rtems. smiley-sweat

Ci sei cascato anche tu, c'è c'è e che è nascosta e frammentata.
http://www.rtems.org/onlinedocs/releases/rtemsdocs-4.10.2/share/rtems/html/index.html

Si compilano librerie, tools di configurazione e strumenti a riga di comando, quali ancora non lo so e figurati
se so come si usano :stuck_out_tongue:

Per AVR, in avr-libc list dicono che lavora con RTEMS senza applicare patch dalla v1.8.0.
Purtroppo non c'è supporto per le board che abbiamo noi, di recente è stata introdotta la BSP (Board Support Package) ST32F4, ma non funziona la ethernet.

Se cerchi sul tubo rtmes qualcosa esce.
Se mi dici la tua distro, vado a vedere se ci sono pacchetti pronti per la tua, anzi no naviga qui http://www.rtems.org/ftp/pub/rtems/linux/4.10/. Ci sia arriva da RTEMS Project cliccando RTEMS General Information: Download

Non mi chiedere altro, perché ne so quanto ne sai tu.

Ho usato un Mac, non Linux. Per i warning, al momento non sono a casa per cui non so dirti.

Se non c'è un ambiente di sviluppo, ed il supporto per gli Avr è limitato, questo rtems mi cade un pò d'interesse. :sweat_smile:
Diciamo che non ho molta voglia di imparare ad usare l'ennesimo blocco di strumenti e di classi con i loro metodi e tutto quel che ne deriva, per poi arrivare ad una cosa che forse userò 1 volta giusto per far lampeggiare 2 led in contemporanea come ho già fatto per altri RTOS in passato :stuck_out_tongue_closed_eyes:

Magari tu hai un interesse diverso, avendo una scheda ST e cercando un RTOS da sfruttare ma io al momento non uso altro che Atmel AVR (tranne dei test fatti mesi fa con i PIC) per cui non so come questo rtems possa essermi d'aiuto :sweat_smile:

Si, diciamo che è qualcosa da osservare che piega prende nel tempo.
Resta sempre il fatto che è fatto per agevolare il porting e questo non è da sottovalutare, pensa se fosse possibile passare da ARM ad AVR8, AVR32 ecc conoscendo un solo RTOS.

Non so quanto sia complicato creare una BSP per la DUE.

Comunque io per il momento mi prendo altri due giorni di tempo, poi si vede, ho altro da fare e mi servono altre info.

Ciao.

x iscrizione :smiley: