Assumendo una piattaforma senza modalità kernel, come Atmel AVR, c'è qualche differenza tra un driver di dispositivo e una libreria, dato che tutto è comunque la modalità utente?
Chiedo perché sto pensando a come voglio stratificare il mio codice. È così:
+----------------+
| Business logic |
+----------------+
| CAN library |
+----------------+
| MCP2515 driver |
+----------------+
| SPI driver |
+----------------+
Il "driver" SPI ha un gestore di interrupt e parla direttamente con la periferica SPI del microcontrollore, che suona come un driver, ma a parte questo, non vedo come sia diverso per esempio, la libreria CAN, che ha funzioni di alto livello come "invia questo messaggio".