EMB_75
EMBEDDED FEBBRAIO 52 SOFTWARE | RTOS TOOLS L’ utilizzo di un sistema operativo in tem- po reale (RTOS - Real-Time Operating System) è una prassi comune nello sviluppo di software em- À del codice in parti (task) di dimensioni inferiori che possono essere eseguite in modo quasi-paral- lelo e in maniera indipendente gli uni dagli altri. Un RTOS supporta il multi-tasking in maniera À modo lo sviluppo di applicazioni che prevedono più funzioni concorrenti. La priorità decide lo scheduling Un RTOS di solito implementa il cosiddetto mul- ti-tasking preemptive utilizzando una routine di interrupt periodica (interrupt del tick di siste- ma): lo schedulatore dell’RTOS viene eseguito a ogni tick e seleziona il task a più elevata priorità tra quelli che sono pronti per essere eseguiti. Si tratta di una soluzione molto semplice che per- mette di realizzare schedulatori di piccole dimen- sioni, ottimizzati e validati in maniera esaustiva. Se si utilizza questo modello, un’assegnazione ponderata delle priorità dei task è un aspetto importante, se si vuole evitare di penalizzare le prestazioni del sistema. Il sistema potrebbe an- Un tool utile per comprendere il funzionamento delle applicazioni real-time Dr. Johan Kraft CEO and founder Percepio AB che diventare “unresponsive” (ovvero cessa di rispondere) perché i task a più elevata priorità impegnano troppo il processore impedendo quin- di l’esecuzione dei task con priorità più bassa. L’analisi delle priorità dei task e del comporta- mento runtime (durante l’esecuzione) comporta la registrazione e la visualizzazione della sche- dulazione dei task. Per questo motivo Percepio propone Tracealyzer, un tool in grado di mostra- re oltre 30 viste interattive grazie alle quali è possibile comprendere e analizzare in modo mol- to semplice i dati registrati. La schedulazione dei task in Tracealyzer " À ? - le di Tracealyzer che mostra una sequenza crono- logica di eventi (timeline) sull’asse verticale con l’esecuzione dei task e dei gestori degli interrupt (interrupt handler), contrassegnati con la lettera A, annotati con etichette di testo che mostrano gli eventi (B), incluse le chiamate alle API del- l’RTOS e gli “user event” tipici dell’applicazione (C). Il pannello “Selection Details” (D) mostra le proprietà dei task evidenziati mentre il “View + 'Z( À - ti. Con un semplice doppio click sui “frammenti” Tracealyzer è un tool software per l’analisi di applicazioni basate su sistemi operativi real-time sviluppato da Percepio che permette di ricavare informazioni dettagliate sul comportamento real-time del software embedded, consentendo di risolvere complessi problemi causati dal software in tempi brevi, sviluppare software più robusti, prevenire futuri problemi e individuare nuove modalità per migliorare le prestazioni del software
Made with FlippingBook
RkJQdWJsaXNoZXIy MTg0NzE=