IAR Embedded Workbench

Embedded Workbench di IAR Systems AB è l’ambiente di sviluppo integrato con il cross-compilatore C/C++ per architetture a 8, 16, 32 e 64-bit dotato dell’ambiente di debug C-SPY, con funzionalità opzionali di analisi statica (C-STAT) dei sorgenti e dinamica (C-RUN). Per alcune architetture (ARM, RISC-V, Renesas RX, RL78, RH850, ST STM8) è anche disponibile in versione certificata (“Functional Safety Edition”) per applicazioni Safety-Critical. (altro…)

Leggi tutto

IAR C-TRUST

C-Trust è un’estensione della toolchain IAR che per lo sviluppo di codice sicuro e crittografato. La gestione della sicurezza e della cifratura del firmware è completamente automatica, così gli sviluppatori possono concentrarsi sullo sviluppo dell’applicazione.

Dopo aver compilato e debuggato come al solito l’applicazione con IAR Embedded Workbench, il codice sarà automaticamente crittografato mediante l’algoritmo simmetrico standard AES. Il codice programmato in flash viene verificato tramite il boot loader sicuro (Secure Boot Manager).

Con C-Trust si estendono le funzionalità di Embedded Workbench per garantire la creazione di codice con un profilo di sicurezza creato dall’utente tramite il pacchetto Embedded Trust oppure con un profilo predefinito preinstallato.

Profilo di Sicurezza
IAR fornisce una serie di profili di sicurezza predefiniti.
Un profilo di sicurezza definisce la configurazione dell’ambito di esecuzione fidato (“trusted”).
Le proprietà del profilo del contesto di sicurezza predefinito include:

  • chiavi crittografiche e i certificati
  • configurazione del boot sicuro
  • gestione della sicurezza del microcontrollore
  • processo di aggiornamento dell’applicazione
  • policy di aggiornamento
  • layout della memoria del dispositivo

E’ possibile personalizzare un profilo di sicurezza solamente utilizzando il pacchetto Embedded Trust di cui C-trust rappresenta un sottoinsieme.

Per approfondire, visitate il link (esterno, sito IAR Systems):
https://www.iar.com/embedded_trust/

Leggi tutto

VisualSTATE (UML)

VisualSTATE è l'ambiente di sviluppo visuale per la generazione automatica di codice C/C++ a partire da modelli di macchine a stati. Supporta la generazione automatica della documentazione di progetto. Dotato di un editor grafico intuitivo, include una serie di tool di verifica e debug: verifica statica della macchina a stati, di un debugger a livello di macchina a stati con possibilità di collegamento al target tramite la tecnologia Reallink. La rappresentazione della macchina a stati è molto simile alla notazione UML per le macchine a stati.

Caratteristiche generali

Navigator

Il Navigator è l'ambiente generale di gestione del progetto. Dal Navigator è possibile lanciare gli altri tool compresi in VisualSTATE e specificare le opzioni e i parametri per il generatore di codice (Coder) e il Verificator. Dopo aver creato un progetto nel Navigator è possibile passare al Designer per progettare le macchine a stati del sistema. Clicca qui per vedere il filmato introduttivo sul Navigator

Designer

Il Designer è un potente strumento per creare le macchine a stati. Tutti gli elementi del sistema sono visibili e accessibili attraverso dei browser. Nella finestra principale è possibile creare un modello inserendo stati, transizioni, eventi, variabili, regioni concorrenti, segnali, parametri secondo la notazione prescritta da UML.

Validator

Consente la validazione del design inviando eventi alla macchina a stati progettata e evidenziando gli effetti di tali stimoli. E' possibile registrare sequenze di stimoli e successivamente utilizzarli come pattern di ingresso per il sistema visualSTATE.

Analisi Dinamica

Questo tool incluso nel Validator calcola il test-coverage della sistema. Tale test valuta, dato un file di stimoli (ottenibile tramite simulazione, per esempio) quante volte un certo evento si verifica , una certa azione viene intrapresa, certe variabili vengono modificate o transizioni di stato hanno luogo. Mette in evidenza quanta parte della macchina a stati non viene esercitata durante l'esecuzione della simulazione.

Analisi statica

E' possibile valutare alcuni aspetti del sistema quali ad esempio stabilire quali azioni sono triggerate da un certo evento o quali transizioni di stato possono portare a eseguire una certa azione.RealLinkPermette di comunicare tramite VisualSTATE col vostro target tramite un canale RS-232 oppure ethernet o CAN. In questo modo è possibile monitorare e controllare il comportamento run-time del modello direttamente sul target finale!

Verificator

VisualSTATE impiega una tecnologia per la verifica run-time del modello dell'applicazione. Verifica che l'applicazione sia il 100% consistente a livello logico. Verifica che solo in comportamento esplicitamente definito abbia luogo. Cerca condizioni di dead-end (stati trappola dai quali non si riesce ad uscire). Se una transizione è definita "guarded" allora il Verificator si accerta che tale transizione sia raggiungibile in almeno una delle possibili combinazioni di stato del sistema. Controlla che transizioni triggerate dallo stesso evento non provochino conflitti.
Prototyping
Tramite il prototyper è possibile configurare il proprio ambiente di simulazione personalizzato. E' possibile disegnare un modello grafico del prodotto, testarne il comportamento in modo interattivo.

Coder

IAR VisualSTATE genera il codice per il target automaticamente. Consente di ottenere così codice 100% consistente col design. VisualSTATE impiega una tecnologia che assicura una esecuzione pienamente deterministica del codice. Sono escluse "race conditions" durante l'esecuzione di processi concorrenti. Il codice generato è ANSI C oppure C++. La dimensione del codice generato, grazie alla tecnologia IAR, in generale richiede meno risorse in termini di memoria della corrispettivo codice scritto a mano. Questo indica che VisualState è ideale per generare codice per target piccoli da 8 oppure 16 bit.DocumenterGrazie a questo tool è possibile creare un report di documentazione relativo al progetto. Tale report include informazioni sul design, la validazione, la simulazione, la verifica , il codice generato e l'implementazione. Tutte le informazioni rilevanti sul progetto sono raccolte dai vari moduli di VisualSTATE e organizzati e strutturati in un documento in formato .RTF (rich text format) oppure HTML. E' possibile personalizzare il livello di dettaglio del report e le informazioni da includervi.

Leggi tutto