EMB 94

EMBEDDED 94 • NOVEMBRE • 2024 55 TCP/IP | SOFTWARE definito chiamato “opt.h”. Il file “opt.h” contiene tutte le configurazioni predefinite dello stack e dei suoi moduli, mentre il file “lwipopts.h” consente all’utente di configu- rare completamente lo stack e i relativi moduli. Si noti che questo file non include tutte le possibili opzioni di lwIP. Pertanto, se una configurazione non è definita nel file “lwi- popts.h”, verrà considerata la configurazione predefinita definita in “opt.h”. Allo stesso modo, la libreria lwIP ha un file header speci- fico per l’applicazione chiamato “lwipcfg.h”. L’indirizzo IP, l’indirizzo del gateway, l’indirizzo della netmask e l’indi- rizzo MAC del controllore devono essere definiti nel file “lwipcfg.h”, come illustrato nella figura 3. Per stabilire una connessione tra lwIP e i driver hardware sottostanti, è necessario un layer di adattamento specifico per la piattaforma. Per esempio, quando si implementa lo stack lwIP per un microcontrollore, è necessario un dri- ver personalizzato che faccia da ponte tra lo stack lwIP e i MAC driver Ethernet del microcontrollore. Questo driver personalizzato deve comprendere le seguenti funzionalità: • Funzione di inizializzazione: Questa funzione è re- sponsabile dell’inizializzazione del MAC driver speci- fico del microcontrollore • Funzione Send: Facilita il trasferimento dei dati rice- vuti dallo stack TCP al MAC driver Ethernet per la successiva trasmissione • Funzione Receive: Gestisce l’inoltro dei pacchetti rice- vuti dal driver MAC Ethernet allo stack TCP Per il microcontrollore ADI, un driver personalizzato pre- esistente si trova in MaximSDK al percorso “MaximSDK\ Libraries\lwIP\Maxim\mxc_eth.c”. Questo driver funge da wrapperper la libreriadiperifericheEthernetMAC(EMAC) del microcontrollore, che si trova nei driver periferici in “C:\ MaximSDK\ Libraries\PeriphDrivers\Source\EMAC”. Fig. 1 – File della libreria lwIP MaximSDK di ADI Fig. 2 – Layer del protocollo TCP/IP Fig. 3 – File di intestazione lwipcfg

RkJQdWJsaXNoZXIy Mzg4NjYz