Per cliente multinazionale operante in ambito tecnologico siamo alla ricerca di uno EMBEDDED SOFTWARE ENGINEER (livello Middle) da inserire nel team di progettazione software. Scorra verso il basso per trovare i dettagli completi dell'offerta, inclusa l'esperienza richiesta e le mansioni associate. 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).
- xrdztoy Sicurezza: Conoscenza di base di crittografia (AES, RSA, hashing) applicata al firmware.
Benefit
- Contratto: Inserimento diretto a tempo indeterminato
- Range RAL: 35k-45k
- Orario lavorativo: Tempo pieno lun-ven, in presenza
Mostra le tue capacità professionali all'azienda, compila il form e lascia un tocco personale nella lettera di presentazione, aiuterà il recruiter nella scelta del candidato.