Sviluppare un nuovo prodotto
Dalla prima accensione della scheda all’architettura firmware: driver, funzioni e comunicazioni costruiti sui vincoli del tuo hardware.
Sviluppo e consulenza firmware per aziende e team tecnici: nuovi dispositivi o software embedded da stabilizzare. STM32, ESP32, bare-metal e RTOS, dal debug agli aggiornamenti OTA.
Descrivi hardware, obiettivo e criticità: valuto se posso aiutarti e quale primo passo ha senso per il progetto.
Dalla prima accensione della scheda all’architettura firmware: driver, funzioni e comunicazioni costruiti sui vincoli del tuo hardware.
Reset, blocchi o tempi di risposta imprevedibili. Analizziamo il codice e riproduciamo il problema per individuare e verificare la correzione.
Protocolli industriali, diagnostica e aggiornamenti remoti. Estendiamo le funzioni del prodotto curando sicurezza e possibilità di ripristino.
Un esempio di come affrontiamo un firmware instabile.
Esaminiamo hardware, codice disponibile e requisiti. Concordiamo perimetro, vincoli e criteri di verifica.
Implementiamo o rivediamo il firmware, con debug sul dispositivo reale e test sulle funzioni coinvolte.
Prepariamo la versione concordata, le note delle modifiche e la documentazione operativa. Sorgenti e toolchain sono definiti nel contratto.
Hai già una scheda o un firmware da rivedere? Partiamo da lì.
Apri l’area che ti interessa per trovare tecnologie, attività e servizi specialistici.
Bring-up della scheda, periferiche e driver in C e C++. Architetture bare-metal o RTOS con task, priorità e memoria definiti sui vincoli real-time del prodotto; logiche FPGA quando servono temporizzazioni dedicate.
Integrazione UART, SPI, I²C, CAN/CAN-FD, BLE, Wi-Fi, Thread e LoRaWAN; protocolli Modbus, OPC UA, MQTT e CoAP. Architetture di aggiornamento con firma, rollback e distribuzione graduale, compatibilmente con l’hardware.
Analisi di reset, watchdog, errori di memoria, concorrenza e latenze. Revisione dell’architettura e del codice quando un prototipo deve evolvere o un prodotto richiede nuove funzioni.
Unit test, hardware-in-the-loop, fault injection e log strutturati. Build con CMake o strumenti vendor, test con Ceedling/Unity e integrazione continua su GitHub Actions o GitLab CI, secondo il progetto.
L’analisi statica può includere cppcheck e clang-tidy. Toolchain, misure e strumenti di debug vengono scelti in base all’hardware e agli ambienti già disponibili nel team.
Entrambi. Possiamo sviluppare firmware per nuovo hardware oppure revisionare e stabilizzare codice già in produzione. Prima delle modifiche vengono analizzati vincoli, dipendenze e comportamento attuale.
Con strumentazione mirata: log strutturati, misure ripetibili, fault injection controllata e stress test automatizzati. Prima si isolano le condizioni che innescano il problema, poi si interviene e si verifica che la correzione sia stabile.
Il perimetro include famiglie MCU diffuse, sistemi RTOS, Linux embedded e integrazione con logiche programmabili. La scelta viene valutata sul progetto reale, sugli strumenti disponibili e sui vincoli di produzione.
Sì. L'integrazione può includere API REST, MQTT, gateway BLE-cloud e sincronizzazione con HMI locali o remote. I protocolli proprietari vengono gestiti con componenti strutturati e documentati.
Modalità e contenuti della consegna vengono definiti nel contratto. I binari firmati e la documentazione operativa costituiscono la base; sorgenti, toolchain e script di build vengono concordati in base al progetto. Test e report di validazione accompagnano il rilascio.
Quando l'hardware lo consente, vengono utilizzati avvio protetto, firma del firmware, doppia partizione con ripristino automatico e distribuzione graduale degli aggiornamenti. L'architettura viene valutata sui vincoli tecnici, operativi e di manutenzione del prodotto.
Raccontaci su quale hardware lavori, a che punto sei e cosa vuoi ottenere. Da qui valutiamo il prossimo passo.
Valutazione iniziale del progetto