Sviluppo software embedded
Una delle nostre caratteristiche peculiari è che, assieme alla progettazione di dispositivi hardware, forniamo anche il relativo software dedicato.
Le principali attività di sviluppo embedded:
Con la competenza e la lunga esperienza nel settore Linux embedded scriviamo firmware, driver e sistemi operativi personalizzati per tutte le più diffuse architetture.
Sviluppo di firmware bare metal
Sviluppare firmware è una delle attività che ha contraddistinto Develer sin dalla sua nascita. I nostri firmwaristi sono in grado di spremere fino all’ultimo ciclo di performance, superando in qualità e modularità i classici firmware industriali. Possiamo implementare nel microcontrollore tantissime funzionalità senza ricorrere a chip esterni (signal processing, networking con TCP/IP, loop di controllo), diminuendo i costi di produzione. Siamo anche in grado ottenere prestazioni hard real-time con elevati livelli di determinismo, ricorrendo a RTOS o usando soluzioni proprietarie. E possiamo implementare eleganti interfacce di controllo basate su HTML o QML, per controllare da remoto i tuoi dispositivi via PC, tablet e smartphone, senza perdere tempo con protocolli proprietari poco robusti e installazioni complicate di software e driver.
- Dimensione media dei progetti: 2-4 mesi
- Architetture: PIC, AVR, Cortex-M, ARM
- Bus: USB, CAN, SPI, Ethernet, Ethercat, [……]
Sviluppo driver kernel Linux e BSP
Se hai una periferica che ha problemi di compatibilità con Linux, magari con una versione recente del kernel, possiamo intervenire modificando e migliorando il driver esistente, o anche scrivendolo ex-novo. Ci siamo specializzati negli anni in driver per varie periferiche USB e PCI-express, ma anche su bus industriali come CANbus e Ethercat. Che si tratti di acquisire dati a diversi gigabit, o accendere semplicemente un LED, abbiamo l’esperienza per essere veloci ed efficaci. Lavoriamo anche giornalmente sullo sviluppo e manutenzione di BSP linux, modificando ed evolvendo quelli forniti dai produttori di CPU o creandone anche da zero partendo dai componenti base (bootloader, kernel, rootfs).
- Dimensione media dei progetti: 1-3 mesi
- Bus: USB, PCI-express, CANbus, EtherCAT
- OS: Linux
Hai bisogno di un driver o un firmware?
Programmazione di sistema (demoni) per Linux
Sviluppiamo demoni su Linux che si interfacciano con l’hardware, la rete, o altro software di sistema o applicativo. Sappiamo gestire bene sia un approccio di tipo multithreading sia di tipo event-driven, e allo stesso tempo utilizzare le syscall giuste per interfacciarsi in modo efficiente con il kernel. Possiamo ottimizzare per tempo di CPU, utilizzo di memoria o latenza di risposta, a seconda dei casi. Affianchiamo di solito lo sviluppo a una test suite che aiuti nei refactoring e nell’evoluzione.
- Dimensione media dei progetti: 1-4 mesi
- Linguaggi di programmazione: C, C++, Go
- Librerie: libev, libuv, pthread, zeromq
- OS: Linux
Sviluppo GUI multitouch basate su Qt Quick
Utilizziamo al meglio la potenza di Qt Quick per la realizzazione di interfacce utente fluide e dinamiche. Partendo dal concept iniziale, siamo in grado di progettare un’interfaccia curando gli aspetti di interaction design, realizzando la grafica con cura, e implementando il tutto sui tuoi dispositivi, sfruttando al meglio il processore scelto e l’accelerazione grafica, e integrandosi col tuo ecosistema. Conosciamo i trucchi da sfruttare in Qt Quick per massimizzare il framerate senza penalizzare l’aspetto grafico. Se vuoi occuparti tu del design, nessun problema: riprodurremo fedelmente il tuo mockup (es: in Photoshop).
- Dimensione media progetti: 4-12 mesi
- Linguaggi di programmazione: C++, QML, Javascript
- Librerie: Qt Quick
- OS: Linux, Android