Page 1 of 1

HAL (Hardware Abstraction Layer)

PostPosted: 10 Oct 2014, 10:30
by Leonardo
Salve a tutti,

Volevo intavolare una discussione sul codice per micro-controllori indipendente dall'hardware, ad esempio codice per controllare vari IC o periferiche (i2c, spi, uart, etc..) indipendente dalla MCU e facilmente portabile su sistemi diversi.

Atmel ha la sua libreria ASF che in un certo senso permette di astrarre qualcosa dall'hardware sottostante, limitatamente ai suoi micro.

TI ha la libreria DriverLib per i suoi device.

ST analogamente ha STM32Cube per parte dei suoi device

e così via..

Sapete se esiste una qualche libreria che permette di astrarre ulteriormente (un vero e proprio HAL), anche in relazione a device diversi, quindi utilizzabile sia sugli AVR sia sugli MSP430 sia sui PIC, etc..?

Re: HAL (Hardware Abstraction Layer)

PostPosted: 11 Oct 2014, 20:14
by deluca
in realtà c'è qualcosina anche per NIOS, ma al momento non esiste nulla che riesca a supportare e gestire l'hardware delle famiglie che hai indicato con questo tipo di astrazione. Dovremmo far mettere d'accordo tutti i produttori di compilatori ..... il che mi sembra troppo "astratto" :)

Re: HAL (Hardware Abstraction Layer)

PostPosted: 12 Oct 2014, 02:25
by Leonardo
La strada che ho seguito per il momento è la creazione di codice diciamo generico che richiama ad un API unica che ho creato che presenta poi diverse implementazioni per diversi micro-controllori ma un unica interfaccia.

L'implementazione è poi basata sulle varie librerie ASF, DriverLib, etc.. Il porting su diversi micro è molto più rapido così.

NIOS l'ho un po snobbato al momento :?

Continuerò su questa strada allora che sta dando i suoi buoni frutti.

Grazie
Ciao

Re: HAL (Hardware Abstraction Layer)

PostPosted: 12 Oct 2014, 12:54
by legacy
@deluca
Esatto! Tra l'altro gia' fanno muro da soli, figurati se collaborassero.