Il tempo reale in tempo reale ha più a che fare con il funzionamento del software rispetto all'hardware. Quando si chiede se qualcosa è difficile in tempo reale, deve essere applicato al sistema completo (Hardware, RTOS e applicazione). Ciò significa che i problemi di progettazione del sistema in tempo reale sono complessi o complessi.
Sotto carico che supera la specifica anche un sistema in tempo reale non funzionerà (si spera con un'indicazione di guasto corretta) mentre un sistema in tempo reale morbido con carico basso darebbe risultati duri in tempo reale. Quanta elaborazione deve avvenire nel tempo e quanta pre/post elaborazione può essere eseguita è la vera chiave per hard/soft in tempo reale.
In alcune applicazioni in tempo reale la perdita di alcuni dati non è un fallimento, dovrebbe essere solo al di sotto di un certo livello, di nuovo un criterio di sistema.
È possibile generare input sulla scheda e fare in modo che una piccola applicazione li contenga e verificare a quale livello i dati andranno persi. Ma questo ti dà una valutazione specifica per quel sistema che esegue quell'applicazione. Non appena inizi a fare più elaborazioni, il tuo carico di calcolo aumenta e ora hai un diverso limite in tempo reale.
Questa scheda eseguirà un programma di pianificazione bare bone offrirà grandi prestazioni prevedibili in tempo reale per la maggior parte delle attività. Eseguendo un RTOS completo con un carico di calcolo pesante probabilmente si ottiene solo un soft in tempo reale.
Edit after comment
Il modo più efficace e più semplice che ho usato per misurare le prestazioni del mio software (a patto di utilizzare una cedolare) è quello di utilizzare un timer hardware corsa libera sulla tavola e in tanto timbrare il mio inizio e la fine del mio ciclo . Oppure se si esegue un timestamp pieno di RTOS l'acquisizione e la transizione. Salva il tuo tempo massimo ed esegui una media sui valori più di un secondo. Se la tua media è intorno al 50% e il tuo massimo è del 20% rispetto alla media, sei OK. Altrimenti è tempo di refactoring della tua applicazione. Man mano che la tua applicazione cresce, il tempo ciclo crescerà. È possibile monitorare l'effetto di tutte le modifiche apportate al software durante il ciclo.
Un altro modo è utilizzare un timer hardware per generare un interrupt ciclico. Se si è in tempo, resettare l'interruzione. Se si perde la scadenza, il gestore di interrupt segnala un errore.Questo tuttavia ti darà un avvertimento solo quando la tua applicazione impiegherà molto tempo, ma si baserà su hardware e interrupt per non lasciarti sfuggire.
Queste soluzioni eliminano anche il requisito di collegare un oscilloscopio per monitorare l'uscita poiché le informazioni sull'ora possono essere visualizzate in qualsiasi tipo di terminale da un'attività in background. Se è facile da monitorare, lo monitorerai regolarmente evitando di risolvere i problemi di temporizzazione alla fine ma non appena vengono introdotti.
Spero che questo aiuti
BTW, è possibile chiamare l'assistenza. Ho ottenuto "Grant" 3 volte adesso. È abbastanza utile. –
Usa l'array gate per il bit hard realtime. Ecco a cosa serve –
cappello è quello che abbiamo capito. Ora usando una scheda diversa, eseguendo VxWorks –