Skip to content

First sub-project of the semester in Embedded & Real - Time Systems Course, E.C.E. Dept. Aristotle University of Thessaloniki, Greece

Notifications You must be signed in to change notification settings

charisoudis/embedded_rts_project_1

Repository files navigation

[ από το report: ]

Τρόπος Υλοποίησης:

Η βασική ιδέα είναι η υλοποίηση ενός ατέρμονου βρόγχου στο σώμα του οποίου θα υπάρχει η συνάρτηση που παίρνει δείγματα από κάποιο ρολόι του συστήματος ( RTC ή CPU ). Η εκτέλεση του παραπάνω βρόγχου διακόπτεται από ένα σήμα τύπου ALARM το οποίο όταν αποσταλλεί στην διεργασία που εκτελείται οδηγεί στην μετάβαση της εκτέλσης σε μία συνάρτηση η οποία πριν τερματίσει την εκτέλεση της διεργασίας, επιτελεί τα εξής:

  1. υπολογίζει τις περιόδους της δειγματοληψίας, αφαιρώντας από κάθε δείγμα του ρολογιού το αμέσως προηγούμενο του
  2. υπολογίζει τα στατιστικά των περιόδων της δειγματολήψίας ( min, max, mean, median & deviation )
  3. καταγράφει τα δείγματα, τις περιόδους και τα στατιστικά σε τρία αρχεία κειμένου με αντίστοιχα ονόματα

Για την εύρεση του πραγματικού αριθμού των δειγμάτων που αντλήθηκαν μέσα στους βρόγχους άντλησης δειγμάτων υπάρχει ένας μετρητής δειγμάτων. Η τελική τιμή αυτού του μετρητή αποτελεί τον αριθμό των δειγμάτων που πάρθηκαν πραγματικά, ο οποίος είναι μικρότερος από τον αρχικά υπολογισθέντα αριθμό λόγω καθυστερήσεων που προκύπτουν κατά την εκτέλεση του προγράμματος.

Υλοποιήσεις συνάρτησης δειγματοληψίας

Έγιναν τρεις ( 3 ) υλοποιήσεις στη C για την άντληση των δειγμάτων:

  • η πρώτη περιέχει στο σώμα του βρόγχου την gettimeofday() η οποία επιστρέφει timestamps από το epoch, τα οποία αποθηκεύονται σε έναν πίνακα το αρχικό μέγεθος του οποίου είναι ο υπολογισθέντας αριθμός δειγμάτων ( βάσει της περιόδου δειγματοληψίας και του συνολικού χρόνου )
  • η δεύτερη περιέχει στο σώμα του βρόγχου την clock_gettime() με επιλεγμένο τύπο ρολογιού το MONOTONIC_RAW το οποίο επιστρέφει δείγματα τύπου timestamps από το ρολόι του επεξεργαστή
  • η τρίτη είναι όπως η δεύτερη με τη προσθήκη linear regression του error μεταξύ της ζητούμενης και της actual περιόδου δειγματοληψίας

About

First sub-project of the semester in Embedded & Real - Time Systems Course, E.C.E. Dept. Aristotle University of Thessaloniki, Greece

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published