Pages: [1]   Go Down
Author Topic: Real-time  (Read 1157 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 52
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve a tutti!

Sentite volevo chiedervi gentilmente se fosse possibile spiegarmi un aspetto di Arduino.

Arduino ha un microcontrollore con un bootloader installato. Il bootloader di solito serve a caricare un kernel o un sistema operativo. Dentro Arduino cosa viene caricato? Ha un suo kernel?

Ve lo chiedo per capire cosa e chi gestisce l'esecuzione in real-time dei programmi caricati. Ho visto che il microcontrollore ha un Real Time Counter ma non ho capito chi lo gestisce, perchè di solito è il sistema operativo che qui però non c'è.

Grazie a tutti!
Logged

Parma
Offline Offline
Edison Member
*
Karma: 21
Posts: 2387
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non c'è nessun kernel o sistema operativo già inserito, semplicemente il bootloader passa l'esecuzione alle istruzioni che carichiamo noi.
Il Real Time Counter è realizzati in hardware dal micro.

Ciao
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21649
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il bootloader controlla dopo il reset se c'é un PC collegato che vuole caricare un sketch (per esempio tramite il IDE). Se non ci sono upload il bootloader termina il suo lavoro e il microcontroller passa a eseguire lo sketch caricato senza passare piú al bootloader.

Ciao Uwe
Logged

0
Online Online
Faraday Member
**
Karma: 47
Posts: 5898
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

il Real Time Counter e' solo un contatore, che puo' essere usato ad esempio con un quarzo da 32k per fare un orologio, non c'entra nulla con il real time che intendi tu  smiley
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 332
Posts: 22804
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve a tutti!

Sentite volevo chiedervi gentilmente se fosse possibile spiegarmi un aspetto di Arduino.

Arduino ha un microcontrollore con un bootloader installato. Il bootloader di solito serve a caricare un kernel o un sistema operativo. Dentro Arduino cosa viene caricato? Ha un suo kernel?
La memoria flash dell'Atmega328 presente sull'Arduino è divisa in due porzioni, una contiene un codice che viene eseguito al reset del microcontrollore, l'altra un altro codice. Nell'Arduino la prima contiene un software che viene denominato "bootloader" e che serve a cambiare il programma contenuto nell'altra sezione di memoria direttamente dal bootloader stesso. Ciò avviene quando, all'avvio, si spedisce tramite IDE un nuovo sketch: il bootloader, che risiede nell'area di memoria che viene letta per prima, controlla se sulla seriale arriva un nuovo programma. Se la risposta è positiva, scrive il programma nell'altra area di memoria, altrimenti avvia il programma che essa contiene.

Di per sé non c'è nessun kernel o sistema operativo preinstallato. Esistono alcuni progetti di RTOS, più o meno complessi, più o meno liberi.

Quote
Ve lo chiedo per capire cosa e chi gestisce l'esecuzione in real-time dei programmi caricati. Ho visto che il microcontrollore ha un Real Time Counter ma non ho capito chi lo gestisce, perchè di solito è il sistema operativo che qui però non c'è.

Grazie a tutti!
Il Real Time Counter di cui hai letto altro non è che modulo del microcontrollore agganciato ad un contatore interno. Un contatore, o timer, è un registro del microcontrollore che può essere aggiornato da diversi "eventi". Nel caso del Real Time Counter, questo modulo viene agganciato al timer 2 in modalità asincrona, ossia il cui clock è fornito non dal clock di sistema ma da una fonte di clock esterna. Questo modulo è nato per operare con i quarzi a 32768 Hz: impostando il prescaler (cioè il divisore di clock) del timer, si può ottenere un contatore particolarmente preciso.
Logged


Pages: [1]   Go Up
Jump to: