Go Down

Topic: Firmware, chi è e come funziona ? (Read 1 time) previous topic - next topic

CarloMaragno

Oct 26, 2012, 10:19 pm Last Edit: Oct 26, 2012, 10:27 pm by CarloMaragno Reason: 1
Ciao a tutti,

è un po che non scrivo qui, comunque volevo chiedervi come funzionano i firmware.

sto provando a seguire queste guide, anche se con scarso successo.

1. --> http://www.contraptor.org/mini-cnc
2. --> http://reprap.org/wiki/Arduino_GCode_Interpreter
3. --> http://reprap.org/wiki/G-code

nel primo link è un sito dove spiegano come costruire una piccola CNC e fin li mi è tutto chiaro ma quando si inizia a parlare del firmware non capisco più niente, istintivamente googolato il nome sotto quella voce trovo il secondo e il terzo link in cui si inizia a parlare di un linguaggio chiamato gcode(che credo sia un linguaggio della CNC).
E il problemi arrivano quando mi si chiede di mandare un firmware all arduino :smiley-roll-blue: ?!?!?!!

ora uso un mega 2560

leo72

Il firmware è il codice contenuto in un microcontrollore. Parlando dell'Arduino, è la traduzione in linguaggio macchina dello sketch utente.
Firmware indica normalmente un programma normalmente non modificabile dall'utilizzatore di un apparato. Un firmware è anche il codice del tuo telefonino oppure del tuo televisore, che normalmente non sono modificabili dall'utente.

CarloMaragno

Quindi il firmware è il codice che fa capire l' Arduino le istruzioni che si scrivono sul' IDE.
Cambiare firmware vuol dire far capire delle altre istruzioni al Arduino, Giusto?!?!?!?


MA come si cambia un firmware?

leo72

Ogni cosa ha il suo linguaggio. Tu scrivi in C ma il C non è capito dalla CPU del microcontrollore, essa sa "leggere" solo il linguaggio macchina. Il compilatore converte il tuo sketch che scrivi nell'IDE in un formato leggibile dall'Atmega328. La scrittura di un nuovo firmware la fai con l'upload eseguito tramite l'IDE.

CarloMaragno

QUINDI:

Firmware == Sketch


pero i file che ho scaricato io sono un sacco come facci ad aprirli tutti insieme??

leo72

Firmware=sketch se parliamo di Arduino

Hai un link al firmware?


leo72

Quelli sono file binari, ossia firmware già pronti per essere caricati su un microcontrollore. Per fare ciò devi usare avrdude da terminale (cerca sul forum, ci sono tante discussioni: io personalmente ho messo tante volte i comandi da dare).

CarloMaragno

#8
Oct 26, 2012, 11:07 pm Last Edit: Oct 26, 2012, 11:12 pm by CarloMaragno Reason: 1
avrdude è un file un comando una porta o che....


si, ma vengono fuori discussioni su errori strampalate

leo72

avrdude è un comando.
Se hai Linux, basta fare "man avrdude" per vedere come usarlo.

cyberhs

Le macchine utensili a controllo numerico (CNC) usano da tempo un linguaggio chiamato G-code che è universale (o quasi) e che risponde alle regole ISO 6983.

In pratica, alla macchina si invia un file ASCII che contiene delle righe di testo di questo tipo:
Code: [Select]

N10 G01 X100 Y100 Z100 S1000 F250 M03

Se Arduino è il controller CNC, esso deve interpretare questo file in modo che agisca di conseguenza:
N10 ... numero blocco istruzioni
G01 ... interpolazione lineare
X100 ... asse X
Y100 ... asse Y
Z100  ... asse Z
S1000 ... velocità spostamento
F250 ... avanzamento (feed)
M03 ... avvia mandrino in senso orario


Go Up