Per cliente multinazionale operante in ambito tecnologico siamo alla ricerca di uno EMBEDDED SOFTWARE ENGINEER (livelloMiddle) 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 diFirst Stage BootloaderseU-Boot.
- Secure Boot & Trust: Implementazione diTrusted 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 deiDevice Tree.
- Build Systems: Creazione e mantenimento di distribuzioni Linux custom tramiteYocto 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 ilTrusted 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.
- Debug: JTAG, GDB, analizzatori di protocollo (UART, I2C, SPI).
- 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 linguaggioC/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.
Contratto: Inserimento diretto a tempo indeterminato
Orario lavorativo: Full time lun-ven, in presenza
Il presente annuncio è rivolto ad entrambi i sessi, ai sensi delle leggi 903/77 e 125/91, e a persone di tutte le età e tutte le nazionalità, ai sensi dei decreti legislativi 215/03 e 216/03