Go Down

Topic: leOS - un semplice OS per schedulare piccoli task (Read 42 times) previous topic - next topic

leo72


Ti segnalo questa nuova libreria --> https://github.com/chrismoos/avr-os

Non è uno scheduler completamente automatizzato, mi pare. Va chiamato continuamente dal loop, ed il controllo è fatto su millis. Inoltre non ho capito bene cosa intenda per
Quote
each task has its own stack that is restored when a task is resumed

A me pare che salvi solo il puntatore allo stack, non salva lo stato del microcontrollore. Potrei sbagliarmi.
Non so però la logica esatta di come funziona, non ho studiato il codice.

m_ri

mah,dal context.h direi che salva tutto da r0 a r31..i vari stati penso siano in sti registri..

leo72


mah,dal context.h direi che salva tutto da r0 a r31..i vari stati penso siano in sti registri..

Non l'avevo visto.
Comunque mi sembra che sia un repetita dato che usando la libreria interrupt.h di Avr quest'operazione dovrebbe essere eseguita dalla libreria stessa. Però non vorrei dire castronerie.

Testato


io invece ti segnalo il fatto che gli IDE più recenti hanno un "autoimportatore" di librerie, tu gli dai il path o l'url di un file zip e lui ti copia e scompatta il tutto nella cartella Libraries. Non l'ho provato, l'ho letto di sfuggita su un issue di github.
In pratica ricordi che girò un link che puntava a raccogliere tutte le librerie? probabilmente hanno intenzione di automatizzare il tutto :)

Io sono passato a 1.5x definitivamente
le librerie vengono importate direttamente dallo .zip ma non vanno in libraries dell'IDE ma in una cartella dentro alla cartella Sketch. E' una scelta intelligente perche' quando si cancella l'ide vecchio non si perde nulla, ne' gli sketch ne le librerie
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

lesto

a si? prova a fare una libreria con le sottocartelle con dentro del codice, che non sia utility... dovrebbe funzionare in libraries, ma non se importata in questo modo...
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up