Segger emWin4Web

Le GUI create con emWin di SEGGER possono ora girare in un browser per il web

SEGGER annuncia emWin4Web, uno strumento innovativo che consente agli sviluppatori di far girare le interfacce grafiche per applicazioni embedded
direttamente nei normali browser per il web. Tutte le funzionalità di emWin disponibili sul target sono replicate, pixel per pixel, nei browser: ciò che vedi è
effettivamente ciò che ottieni.
emWin4Web è la più recente aggiunta al pacchetto emWin, la libreria grafica embedded della SEGGER, nota per la sua efficienza nella realizzazione di interfacce
utente interattive.
Grazie alla ridotta occupazione di memoria, emWin è ideale per sistemi basati su microcontrollori con risorse
limitate.
Con l’introduzione di emWin4Web, gli sviluppatori possono ora compilare facilmente emWin e le applicazioni create con AppWizard nel formato WebAssembly
usando uno strumento in riga di comando.
Supportato da tutti i browser principali, ed essendo quindi per natura multipiattaforma, gli utenti possono far girare, dimostrare e testare applicazioni su
più piattaforme, come Windows, macOS, Linux, Android e iOS, senza dover scaricare o installare un’applicazione. Ora gli sviluppatori possono condividere le loro applicazioni
più diffusamente, permettendo un accesso più semplice ai prototipi e ai dimostratori su un’ampia serie di dispositivi.
Questa flessibilità offerta migliora la collaborazione tra colleghi, consentendo ai membri dello staff (che potrebbero non avere accesso all’ambiente di simulazione
completo o a uno specifico hardware) di poter facilmente verificare e interagire con il prototipo dell’applicazione direttamente tramite un browser web.
emWin4Web fornisce anche una funzionalità per abilitare un server web locale, il che permette agli sviluppatori di aprire e testare immediatamente i loro esempi compilati.
L’uso di emWin4Web richiede l’accesso ai sorgenti di emWin per garantire un’integrazione senza problemi e un uso del tool al pieno delle sue possibilità.

Che cos’é emWin

emWin di SEGGER è una libreria grafica embedded leader, progettata come soluzione efficiente per l’interfaccia grafica utente (GUI) per applicazioni dotate di display
grafico. La sua flessibilità consente di operare senza difficoltà con numerosi processori e modelli di controller grafico.
emWin può essere impiegato in svariate applicazioni, dai prodotti basati su un solo chip e alimentati a batteria con requisiti grafici essenziali, a sistemi embedded di alta
fascia con requisiti prestazionali elevati e contenenti animazioni sofisticate. emWin è ampliamente utilizzato in numerosi mercati come il controllo industriale, l’Internet of
Things (IoT), i sistemi di rete, l’elettronica di consumo, i sistemi critici per la sicurezza, il mondo automotive, i dispositivi medici ed avionici, il che lo rende una soluzione
all’avanguardia per le GUI nell’industria embedded.

Leggi tutto

emLoad: il bootloader versatile

In molte applicazioni la presenza di un bootloader è un grande valore aggiunto, perchè permette di semplificare la produzione e il rapporto con il cliente che può aggiornare un firmware difettoso senza dover far rientrare il prodotto.

Segger ha maturato una grande esperienza nell’ambito dei bootloader e il loro prodotto emLoad è già giunto alla quarta generazione.

Strategie di aggiornamento

emLoad è un bootloader pensato per microcontrollori a 16/32 bit di cui può aggiornare  il firmware interno in vari modi:

  • attraverso la porta USB DEVICE, utilizzando la classe HID (Human Inteface Device). In questa variante, la scheda target viene connessa via USB al PC sul quale gira un’applicazione di aggiornamento fornita in codice sorgente.
  • tramite la porta USB HOST, usando la classe MSD (Mass Storage Device): Lo scenario è quello di aggiornare il firmware inserendo una chiavetta di memoria nella porta USB Host del target.
  • tramite la porta UART.  Sul PC gira un software che è in grado di effettuare l’aggiornamento aprendo una COM verso il target

emLoad supporta varie strategie di aggiornamento, che possono essere personalizzate: si può per esempio aggiornare il firmware se e solo se quello proposto è una release più recente di quella installata, oppure solo se è maggiore o uguale a quella già installata.

Sicurezza

emLoad incrementa la sicurezza risolvendo due problemi:

Come bloccare i tentativi di manomissione del firmware (alterazione del firmware e/o sostituzione con un firmware alternativo non genuino).

Questo risultato viene raggiunto tramite un meccanismo di firma digitale del firmware implementata con algoritmi crittografici asimmetrici: RSA e  ECDSA (Curve Ellittiche). All’atto dell’aggiornamento del firmware, la firma digitale generata in fabbrica usando una chiave segreta viene verificata istantaneamente tramite la chiave pubblica presente all’interno della memoria protetta del target.

Come distribuire gli aggiornamenti firmware attraverso un canale non sicuro eliminando i rischi di copie illegali e di reverse-engineering?

emLoad risolve questo problema con l’add-on facoltativo che introduce la crittografia simmetrica dell’immagine del firmware. L’immagine del firmware viene decifrata solamente all’interno del microcontrollore durante le operazioni di aggiornamento.

 

 

 

 

 

Leggi tutto

Bootloader

Segger emLoad è il bootloader della Segger che automatizza il processo di aggiornamento sul campo del Vostro target embedded . emLoad è il bootloader embedded di SEGGER per sistemi embedded. Facilita il processo di aggiornamento del firmware. Questa è una parte cruciale della gestione del ciclo di vita di un prodotto. emLoad offre la flessibilità di aggiungere nuove funzionalità sul campo, correggere bug e affrontare vulnerabilità di sicurezza dopo che un sistema è stato implementato. Viene fornito con numerose opzioni per la comodità dell’utente finale del sistema.

(altro…)

Leggi tutto

Stack USB Device

Stack USB Device ottimizzato per il kernel real-time Segger embOS. Sotto sono riportate le classi device attualmente disponibili

MSD

Mass Storage Device

Applicazioni tipiche:

  • Digital camera
  • USB stick
  • MP3 player
  • DVD player

Non richiede l'installazione di driver sull'host

CDC-ACM

Communication Device Class. 

Il device viene visto dall'host come un canale seriale virtuale.

Applicazioni tipiche: 

  • Modem
  • Telephone system
  • Fax machine
  • Datalogger
Printer

Questa classe riceve dati da un host e li gira a un parser. Questo modulo fornisce delle routine automatiche di gestione degli errori, per esempio nel caso in cui il dispositivo rimanga senza carta. Il protocollo USB è completamente nascosto allo sviluppatore che si può concentrare sullo sviluppo del parser.

MTP

Media Transfer Protocol

Applicazioni tipiche:

  • Digital camera
  • MP3 player
  • Smartphone

Vantaggi rispetto a MSD:

  • cavo scollegabile durante il trasferimento di dati, senza danni al file system.
  • Il file system può non essere FAT
  • I file possono essere virtuali
    • Host e device possono accedere al file system simultaneamente.
IP-Over-USB

Grazie alla nuova tecnologia IP-over-USB con il webserver integrato, è possibile accedere al dispositivo da qualsiasi host (Windows, Linux, Mac) semplicemente digitando il nome del dispositivo nella barra degli indirizzi di un browser. Il nome del dispositivo per default è usb.local. Non è necessario installare nulla sull'host.

HID

Human Interface Device

Applicazioni tipiche:

  • tastiere
  • puntatori Mouse 
  • Joystick
  • Game pad
  • pannelli di controllo con bottoni
BULK

Componente Bulk per lo stack USB Device. Grazie alle comode API molto simili a quelle della classe CDC è possibile trasferire dati in modalità Bulk.

Virtual MSD

Questa tecnologia può essere utilizzata in vari tipi di applicazioni senza dover installare alcun driver sull'host. SmartMSD analizza l'operazione effettuata dall'host e passa il comando allo strato applicativo del target, il quale intraprende le azioni opportune. Un semplice drag-and-drop è ciò che serve per inizializzare il processo.

Video Protocol class (UVC)

La classe USB Device Video consente di trasmettere dati video all'host. Questo flusso video può essere catturato da una camera, letto da un file system oppure generato dall'applicazione stessa. Questa classe consente al device di gestire un flusso video indipendentemente da hardware di acquisizione delle immagini. Per esempio, istruzioni video preregistrate possono essere inviate al PC senza avere una camera.

Audio Protocol Class

Con la classe Audio, il sistema embedded può essere trasformato in un registratore audio oppure in un altoparlante. Non sempre sulla scheda hardware è disponibile un jack audio. Con emUSB Device Audio si può traferire dati audio indipendentemente dall'hardware. Ad esempio, audio riprodotto da un PC può essere salvato sul target direttamente in una SD Card.

RNDIS Class

Con la classe RNDIS consente al device USB di comportarsi come un adattatore ethernet. Funziona con qualsiasi stack TCP/IP.  Un'applicazione tipica è gestire un webserver attraverso la porta USB.

ECM Class

La classe emUSB-Device permette a un dispotivo USB di comportarsi come un adattatore di rete. Può essere per esempio usato per far girare applicazioni basate su TCP/IP  a USB device to act as a virtual network adapter. This can be used to run TCP/IP-based applications over USB

NCM Class
DFU Class

La classe Device Firmware Upgrade consente di gestire l'aggiornamento del firmware in qualsiasi dispositivo USB Device. Il protocollo di aggiornamento è standard, quindi sul PC si può usare qualsiasi utility compatibile (es. dfu-util). E' anche supportato l'upload di immagini del firmware.
Questa classe può essere combinata con qualsiasi altra classe USB e non richiede endpoint USB aggiuntivi.

OTG Class

La classe USB OTG (On-the-go) permette al target Device di assumere entrambi i ruoli: Device & Host.

Leggi tutto

Stack USB Host

La libreria della SEGGER emUSB-Host è conforme alle specifiche standard USB stabilite dall’USB Implementors Forum. Supporta tutte le modalità di trasferimento (controllo, bulk, interrupt, isocrono) a tutte le velocità. La gestione dei pipe USB e i meccanismi estesi di recupero degli errori necessari per un funzionamento affidabile sono implementati internamente. Procedure di test sofisticate garantiscono l’affidabilità e la qualità del software host USB. (altro…)

Leggi tutto