Go Down

Topic: Utilizzare il programmatore Avrisp mkii con Arduino IDE su Mac OS X (Read 1 time) previous topic - next topic

gpb01

Mi è arrivato un programmatore Avrisp mkii e così mi sono divertito a fare un po' di prove per il caricamento di programmi sulle varie board tramite esso, lavorando da Arduino IDE e su piattaforma Mac OS X.

Magari è cosa nota, ma prima che qualcun'altro perda delle ore a cercare di capire come mai non si vede la corretta porta seriale e cerchi a destra e sinistra degli inesistenti driver per OS X, segnalo che NON occorre installare assolutamente nulla ...

Si collega l'Avrisp mkII al alla porta USB del Mac, si collega il connettore ICSP (filo rosso verso orientato il lato dove sono gli I/O digitali NON verso il lato dove sono gli analogici), si seleziona la board, si compila il programma e ... menu File -> Upload Using Programmer ... e viene effettuata la programmazione :)

Provato su OS X 10.8.4 (Mountain Lion) con Arduino IDE 1.0.5 ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

astrobeed


Magari è cosa nota, ma prima che qualcun'altro perda delle ore a cercare di capire come mai non si vede la corretta porta seriale e cerchi a destra e sinistra degli inesistenti driver per OS X, segnalo che NON occorre installare assolutamente nulla ...


Non devi installare nulla perché la distro di Arduino per MAC contiene già i driver per l'AVRISP MKII, a differenza di quella per Windows che richiede una installazione di driver specifici per l'uso del AVRISP MKII  con AvrDude.

gpb01


...
Non devi installare nulla perché la distro di Arduino per MAC contiene già i driver per l'AVRISP MKII, a differenza di quella per Windows che richiede una installazione di driver specifici per l'uso del AVRISP MKII  con AvrDude.


Si, esatto, come anche per tutte le varie board Arduino, che vengono riconosciute immediatamente appena le colleghi sulla USB senza che installi alcun driver ... ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

pelletta


gpb01


Il "plug & play" vale anche per i pinguini ;)


Perché, sotto OS X ... cosa pensi in realtà ci sia ???  :smiley-mr-green: :smiley-mr-green: :smiley-mr-green:

Guglielmo
Search is Your friend ... or I am Your enemy !

pelletta


gpb01


Un paio di marroni, pure belli tosti e fumanti :) :smiley-sweat: :smiley-yell:


:D

Fai un salto temporale di 13 anni indietro e ... leggiti quest'articolo http://www.freenix.no/arkiv/daemonnews/200010/darwin.html ... all'epoca veniva visto dalla comunità BSD come ... "... niente di più di una curiosità" ... ne ha fatta di strada ... ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

busco


Questo programmatore utilizza il BUS SPI.

Che differenza c'è tra ICSP utilizzando Arduino come programmatore e

questo programmatore?

Grazie.


astrobeed


Si, esatto, come anche per tutte le varie board Arduino, che vengono riconosciute immediatamente appena le colleghi sulla USB senza che installi alcun driver ... ;)


Questo perché sia sul Mac OS che Linux è attivo di default il driver per i device USB di tipo CDC.
Anche per windows non tocca installare nulla in realtà visto che il driver utilizzato da Arduino, usbser.sys, fa parte del sistema operativo però serve un file di testo .inf che descrive al s.o. il device che deve essere collegato nel caso dei dispositivi CDC, più che altro viene specificato il VID e il PID del device e alcuni parametri accessori.

astrobeed


Che differenza c'è tra ICSP utilizzando Arduino come programmatore e
questo programmatore?


La stessa che c'è tra una vera mozzarella di Bufala e una mozzarella prodotta in Cina :)
Arduino ISP è solo una pallida imitazione di un vero programmatore ISP come l'AVRIPS MK II.

gpb01


...
Questo programmatore utilizza il BUS SPI.
...


:smiley-eek: :smiley-eek: :smiley-eek: e questa dove l'hai letta ???  Utilizza il connettore ICSP e tutti i dettagli li trovi qui : http://www.atmel.com/tools/AVRISPMKII.aspx

Guglielmo
Search is Your friend ... or I am Your enemy !

astrobeed


:smiley-eek: :smiley-eek: :smiley-eek: e questa dove l'hai letta ???


In realtà il connettore ICSP altro non è che il bus SPI con  aggiunto il segnale di reset nella versione a 6 pin, ci possono esser dei segnali in più, p.e. il clock, nella versione a 10 pin.
Detto in altri termini, la programmazione ISP degli AVR avviene tramite bus SPI.

gpb01


In realtà il connettore ICSP altro non è che il bus SPI con  aggiunto il segnale di reset nella versione a 6 pin, ci possono esser dei segnali in più, p.e. il clock, nella versione a 10 pin.
Detto in altri termini, la programmazione ISP degli AVR avviene tramite bus SPI.


Si, ok Astro, buona parte dei pin del processore sono usati per fare varie cose, quindi certo, l'ICSP usa gli stessi pin del SPI, ma non per questo il programmatore è un device SPI e lo puoi connettere in parallelo a devices SPI ...

Generalizzando, su questi micro, ogni pin può fare quasi di tutto ...  :smiley-mr-green: :smiley-mr-green: :smiley-mr-green:

Guglielmo
Search is Your friend ... or I am Your enemy !

astrobeed


quindi certo, l'ICSP usa gli stessi pin del SPI, ma non per questo il programmatore è un device SPI e lo puoi connettere in parallelo a devices SPI ...


Mi spiace deluderti ma l'interfaccia tra programmatore, non importa quale sia, e AVR in modalità ISP è proprio un bus SPI, a tutti gli effetti un programmatore che sfrutta questa modalità è un device SPI di tipo master, in modalità ISP l'AVR è esclusivamente uno slave.
Ti rammento che la SPI può essere sia a tre fili, modalità Master/Slave esclusiva, che a quattro fili, modalità Master/Multislave, il quarto filo è il segnale Slave Select, ovviamente quest'ultimo deve essere duplicato n volte quanti sono gli slave.

http://www.atmel.com/Images/doc0943.pdf

Code: [Select]

In-System Programming allows programming and reprogramming of any AVR microcontroller positioned inside the end system.
Using a simple Three-wire SPI interface, the In-System Programmer communicates serially with the AVR microcontroller,
reprogramming all non-volatile memories on the chip.

gpb01



Mi spiace deluderti ma l'interfaccia tra programmatore, non importa quale sia, e AVR in modalità ISP è proprio un bus SPI, ...
....


Oh ... non si finisce mai di imparare ... questa m'era veramente sfuggita ... grazie  XD

Guglielmo

... del resto ... il tempo è limitato e la "carta" da leggere è sempre di più  =(
Search is Your friend ... or I am Your enemy !

Go Up