Descrizione dell'offerta
Per cliente multinazionale operante in ambito tecnologico siamo alla ricerca di uno EMBEDDED SOFTWARE ENGINEER (livello Middle ) da inserire nel team di progettazione software. La risorsa si occuperà dello sviluppo "low-level" su piattaforme basate su architettura ARM, curando l’intero ciclo di vita del software: dalla fase di accensione del processore (Bootloader) fino alla configurazione dell’ambiente operativo Linux o RTOS e alla messa in sicurezza del sistema. Responsabilità Tecniche Sviluppo Low-Level: Sviluppo e personalizzazione di First Stage Bootloaders e U-Boot .
Secure Boot & Trust: Implementazione di Trusted Boot Chains , gestione della firma del firmware e integrazione di meccanismi di Root of Trust su architetture ARM. Linux Kernel & BSP: Configurazione, patching e ottimizzazione del Kernel Linux; sviluppo di driver e gestione dei Device Tree . Build Systems: Creazione e mantenimento di distribuzioni Linux custom tramite Yocto Project .
Firmware Security: Implementazione di protocolli di sicurezza e gestione di ambienti di esecuzione isolati. Requisiti Tecnici per Architettura Il candidato ideale lavorerà su SoC eterogenei caratterizzati dalle seguenti architetture: ARMv7-A (32-bit): Ottimizzazione del boot e gestione della memoria su core single-core ad alta efficienza. ARMv8-A (64-bit): Gestione di sistemi multi-core complessi e interfacciamento con il Trusted Firmware-A .
ARMv7-M / ARMv8-M: Sviluppo di firmware per i co-processori real-time integrati nei SoC per la gestione di task critici e sicurezza. Toolkit Tecnologico Previsto Ambiente: Linux e Windows come OS di sviluppo. Build Tools: Yocto Project, BitBake, Make/CMake.
Debug: JTAG, GDB, analizzatori di protocollo (UART, I2C, SPI). Versionamento: Git. Requisiti Istruzione: Laurea in Ingegneria Elettronica, Informatica, Telecomunicazioni o equivalente.
Esperienza
Almeno 3 anni di esperienza nello sviluppo embedded su Linux o RTOS Linguaggi: Ottima conoscenza del linguaggio C/C++ e dei puntatori. Sistemi Operativi: Conoscenza dei concetti base dei sistemi operativi (gestione memoria, scheduling, interrupt). Attitudine: Forte curiosità per l’architettura dei calcolatori e propensione al debug su hardware.
Bootloader: Esperienza pratica nella modifica di sequenze di boot e gestione di partizioni ridondate. Yocto: Capacità di creare layer e ricette custom per il supporto di nuove schede (Board Support Package). Sicurezza: Conoscenza di base di crittografia (AES, RSA, hashing) applicata al firmware.
Benefit
Contratto
Inserimento diretto a tempo indeterminato Range RAL: 40k-50k Orario lavorativo: Full time lun-ven, in presenza