I file di formato .elf (Executable Linkable Format) non sono altro che librerie dinamiche. Collegati tra loro, questi file consentono di disporre di eseguibili più piccoli, con vantaggi in termini di occupazione di memoria.

Segger ELFLib è una libreria che consente di estrarre tutte le più importanti informazioni da questi file, sia che si tratti di dati di tipo generale (ad esempio correlati all’header o ad altre sezioni del .elf), oppure che si tratti di informazioni molto specifiche, necessarie ad esempio al debugging (variabili, funzioni, tipi, indirizzi ecc.). I file ELF vengono solitamente preferiti ad altre analoghe soluzioni qualora vi sia la necessità di creare utility di visualizzazione o di controllo del target per correlare e studiare il comportamento dell’applicazione in relazione ai dati di programma.

Diversamente dai formati DWARF, che specificano univocamente come interpretare le informazioni di debug, le differenze tra i vari compilatori in commercio sono molteplici, il che introduce una serie di incertezze che non rendono possibile ad un IDE (Integrated development environment, ovvero un ambiente di sviluppo integrato, come ad esempio MDK-Arm) gestire in modo appropriato un file ELF che è stato generato da un altro IDE.

ELFLib di Segger risolve egregiamente questi problemi. Fornita come libreria statica con opzione “source code”, ELFLib è disponibile per ambienti operativi Windows, Linux e MacOS e include una serie di esempi che mostrano in che modo sia possibile utilizzare l’API.

Per maggiori informazioni su ELFLib:  https://www.segger.com/products/development-tools/elflib/

 SEGGER Microcontroller

SEGGER Microcontroller progetta e realizza strumenti di sviluppo hardware e software per l’implementazione di sistemi embedded. Attiva dal 1997, Segger e’ il produttore di J-Link/J-Trace, l’emulatore piu’ diffuso in ambito industriale, di Flasher, programmatore flash stand-alone per la produzione e di altri dispositivi hardware destinati agli sviluppatori embedded. Segger offre inoltre un’ampia gamma di prodotti software, che includono embOS (RTOS), emWin (GUI), emFile (File System), emUSB (USB host e device stack) e embOS/IP (TCP/IP stack). Maggiori informazioni su Segger sono disponibili su http://www.segger.com