Forum: Mikrocontroller und Digitale Elektronik µC programmieren ohne ISP ?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Anfänger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Moin,
auf der Suche nach Programmiergeräten für µC habe ich nun 2 Geräte 
gefunden:

AVRISP mkII

PICKit 3

Mit dem mitgelieferten Kabel kann man ja mit den Geräten PICs und Atmels 
programmieren die in einer Schaltung eingebaut sind (ISP)

Schön und gut, nur habe ich aber gar keine ISP Anschlüsse,

sondern z.B.so etwas:

http://www.instructables.com/id/LogicProbePIC/

also ein Hexfile und eine Schaltung zum Aufbau.

Sodele, und wie brenne ich nun mit dem AVRISP mkII oder PICKit 3 ein 
Hexfile in einen Atmel / PIC ?? Irgendwie brauch ich doch noch Hardware 
dazu wo man dann den µC reinsteckt (kopf kratz) ??

von Teo D. (teoderix)


Bewertung
0 lesenswert
nicht lesenswert

von Fuchs (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mit sowas

von dasrotemopped (Gast)


Bewertung
1 lesenswert
nicht lesenswert
bei deinem PicKit 3 ist ein Poster dabei, auf dem mit vielen Bildern 
gezeigt wird, wie man einem Pic an den Programmer anschliessen muss.
wenn du das schon verlegt hast, hier ist der Download:
http://ww1.microchip.com/downloads/en/DeviceDoc/50002010B.pdf
Viel Spass.

Gruß,

dasrotemopped.

von Jens P. (picler)


Bewertung
0 lesenswert
nicht lesenswert
Anfänger schrieb:
> Mit dem mitgelieferten Kabel kann man ja mit den Geräten PICs und Atmels
> programmieren die in einer Schaltung eingebaut sind (ISP)

Genau, dafür stellt der PIC 5 Anschlüsse bereit (Vcc, GND, Vpp, Takt und 
Daten) die mit dem PICkit 3 verbunden werden. Dazu muss man natürlich 
einen passenden ISP-Anschluss auf der Platine vorsehen (oder 
nachträglich einbauen).

> Schön und gut, nur habe ich aber gar keine ISP Anschlüsse,

Vorher programmieren oder ISP mit einbauen.

> Sodele, und wie brenne ich nun mit dem AVRISP mkII oder PICKit 3 ein
> Hexfile in einen Atmel / PIC ?? Irgendwie brauch ich doch noch Hardware
> dazu wo man dann den µC reinsteckt (kopf kratz) ??

Wenn du den PIC unbedingt extern programmieren willst und davon nicht 
gerade 1000 Stück brauchst kannst du dir aus einer passenden IC-Fassung 
und ein Stück Lochrasterplatine einen simplen Adapter zusammenlöten. 
Einfach die passenden Anschlüsse vom PICkit mit der Fassung verbinden, 
PIC reinstecken und programmieren.

Viele Tipps für PIC-Einsteiger gibt es unter www.sprut.de

PS: Das ist jetzt nur für PICs geschrieben, aber bei den AVRs ist es 
quasi das gleiche. Dazu einfach mal die Forensuche benutzen.

von W.A. (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Jens P. schrieb:
> Dazu muss man natürlich einen passenden ISP-Anschluss auf der Platine
> vorsehen (oder nachträglich einbauen).

Man soll den Aufwand nicht übertreiben. Was soll man da einbauen müssen. 
Der µC ist doch nicht ohne Grund so ausgerichtet, wie er ausgerichtet 
ist.

Einen dafür passenden Prüf-Clip gibts (fast) überall.

von Jens P. (picler)


Bewertung
0 lesenswert
nicht lesenswert
W.A. schrieb:
> Man soll den Aufwand nicht übertreiben. Was soll man da einbauen müssen.
> Der µC ist doch nicht ohne Grund so ausgerichtet, wie er ausgerichtet
> ist.

Keine Ahnung, wo eine 5-polige Stiftleiste, etwas Draht und je nach 
Schaltung ein Widerstand und zwei Dioden für dich Aufwand sind? 
Jedenfalls sehe ich in quasi allen meinen Basteleien mit PICs einen ISP 
vor. Das hat den Vorteil, das man jederzeit an den µC (bzw. dessen 
Speicher) ran kommt.

> Einen dafür passenden Prüf-Clip gibts (fast) überall.

Wenn du mit überall Ebay meinst, gebe ich dir Recht. Beim örtlichen C 
habe ich ihn noch nicht liegen sehen... Außerdem sind mir solche Dinger 
zu unhandlich. Den muss man mit einer Hand immer festhalten. Das macht 
sich beim Debuggen immer etwas ungünstig.

: Bearbeitet durch User
von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
AVR Mikrocontroller (die meisten jedenfalls) haben eine ISP 
Schnittstelle. Die Pins sind mit MISO, MOSI, SCK und RESET beschriftet. 
Diese musst du mit dem ISP Programmieradapter verbinden. Natürlich auch 
VCC und GND nicht vergessen.

Du kannst die Pins auch als "normale" I/O Pins verwenden, wenn du deine 
Schaltung so auslegst, dass der Programmieradapter Vorrang hat. Zum 
Beispiel:
1
           _____      1kΩ
2
GND |-------   ------[===]--------o SCK Pin
3
          Taster

So kannst du den Zustand des Tasters am SCK Pin abfragen, aber wenn der 
ISP Programmieradapter dort angeschlossen ist, dann hat dieser Vorrang. 
Der 1kΩ Widerstand verhindert einen Kutzschluss durch die 
Doppel-Belegung.

Achtung, jetzt kommt der Fallstrick Nr 1:

Wenn du mit dem Programmieradapter die Fuses so änderst, dass der µC 
eine externe Taktquelle verwendet, dann muss die auch vorhanden sein. 
Ansonsten hat er nach dem nächsten Strom aus/an Wechsel keine Taktquelle 
mehr und dann funktioniert auch die ISP Schnittstelle nicht mehr.

Weitere häufige Fallstricke:

- Wenn der µC mit weniger als 8Mhz getaktet ist (was standardmäßig der 
Fall ist), kommuniziert der Programmieradapter zu schnell, der µC kommt 
nicht mit. Du musst die Geschwindigkeit des Programmieradapter herab 
setzen. Bei avrdude geht das z.B. mit dem Parameter -B20

- ISP benötigt den RESET Pin. Wenn du die Reset-Funktion des Pins (bei 
kleinen ATtinys) deaktivierst, geht ISP nicht mehr.

- Wenn du JTAG oder Debug-Wire aktivierst, geht die ISP Schnittstelle 
nicht mehr. Dann brauchst du einen ICE-Debugger oder High-Voltage 
Programmer, um den Fehler wieder rückgängig zu machen.

- Da der Reset-Pin Teil des ISP Protokols ist, darf da kein dicker 
Kondensator direkt dran hängen. 100nF sind Ok, bei mehr kann es zu 
Fehlfunktionen kommen. Du kannst das Problem so umgehen:
1
       100µF    1kΩ           100kΩ
2
GND |----||----[===]----+----[===]----o VCC
3
                        |
4
                        o
5
                       Reset

Also im Prinzip genau wie oben mit dem Taster.

Bei Mikrocontrollern mit PDI und TPI Protokoll (statt ISP) dürfen gar 
keine Kondensatoren an den betroffenen Leitungen hängen.

von simpel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Es reicht ja, auf der Platine, dort wo Platz ist, ein paar Einzelstifte 
für den ISP hochstehen zu lassen. Darauf kann man dann die female-Enden 
der billigen Breadbordboardkabel stecken, die mit dem Progger verbunden 
sind. Dann muss nicht mal Platz für einen Wannenstecker verschwendet 
werden.

von Volker S. (vloki)


Bewertung
0 lesenswert
nicht lesenswert
Bei der ICSP Geschichte muss man allerdings auch darauf achten, dass die 
benötigten Pins nicht durch äußere Beschaltung unbrauchbar werden. Das 
kann bei kleinen uC mit wenigen Pins dann schonmal zusätzlichen Aufwand 
bedeuten (Jumper...)

Für Pickit3 bei aliexpress suchen. Da gibt es haufenweise Angebote 
inklusive Programmier-Sockel zu einem Preis, für den man bei einem 
ordentlichen Distributor noch nicht mal einen nackten Sockel bekommt. 
Dann hat man für 2€ mehr auch eine einfache Lösung, falls es "In 
Circuit" mal nicht geht.

: Bearbeitet durch User
von Frank K. (fchk)


Bewertung
2 lesenswert
nicht lesenswert
Stefan U. schrieb:
> AVR Mikrocontroller (die meisten jedenfalls) haben eine ISP
> Schnittstelle. Die Pins sind mit MISO, MOSI, SCK und RESET beschriftet.
> Diese musst du mit dem ISP Programmieradapter verbinden. Natürlich auch
> VCC und GND nicht vergessen.

Bei PIC heißen die Pins PGC/PGD oder ICSPCLK/ICSPDAT und der Reset heißt 
da MCLR. Das Prinzip ist aber gleich.

> Achtung, jetzt kommt der Fallstrick Nr 1:

den gibts bei PIC nicht, ICSP funktioniert immer.

> - Wenn der µC mit weniger als 8Mhz getaktet ist (was standardmäßig der
> Fall ist), kommuniziert der Programmieradapter zu schnell, der µC kommt
> nicht mit. Du musst die Geschwindigkeit des Programmieradapter herab
> setzen. Bei avrdude geht das z.B. mit dem Parameter -B20

Ist bei PIC auch irrelevant, ICSP ist fast idiotensicher.

> - ISP benötigt den RESET Pin. Wenn du die Reset-Funktion des Pins (bei
> kleinen ATtinys) deaktivierst, geht ISP nicht mehr.

Ist bei PIC auch irrelevant. Da gibts aber eine andere Fallgrube. Der 
Programmer legt bei den 8 Bittern eine Spannung zwischen 8 und 13.5V 
(typabhängig) an, um in den Programmiermodus zu wechseln. Die externe 
Beschaltung muss damit zurecht kommen.

> - Wenn du JTAG oder Debug-Wire aktivierst, geht die ISP Schnittstelle
> nicht mehr. Dann brauchst du einen ICE-Debugger oder High-Voltage
> Programmer, um den Fehler wieder rückgängig zu machen.

JTAG und ISP gehen bei AVR gleichzeitig, Debugwire und ISP aber nicht.

> - Da der Reset-Pin Teil des ISP Protokols ist, darf da kein dicker
> Kondensator direkt dran hängen. 100nF sind Ok, bei mehr kann es zu
> Fehlfunktionen kommen. Du kannst das Problem so umgehen:

Ist bei PIC genauso.

fchk

von W.A. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Jens P. schrieb:
> Keine Ahnung, wo eine 5-polige Stiftleiste, etwas Draht und je nach
> Schaltung ein Widerstand und zwei Dioden für dich Aufwand sind?

Wie lange brauchst du, um das hinzufädeln?
Wieviel größer wird die Platine?
Reicht das Gehäuse dann noch?

Für einmalige Programmierung ist das doch arg übertrieben.

Wenn man dann unbedingt eine separate Verbindung braucht, und sei es 
wegen der Pin-Beschaltung, ist statt einer Stiftleiste bei 
durchkontaktierten Platinen meist einfacher, in Randnähe eine Reihe Vias 
vorzusehen, in die man zum Programmieren nur eine 
Stiftleiste/Wannenstecker reinhält, z.B. einen gewinkelte Wannenstecker 
(wegen der größeren Elastizität der Beine).

Da beim TO schon ein µC im DIP-Gehäuse verwendet wird, besteht doch 
überhaupt kein Grund für zusätzliche Kontakte und Kabeleien, falls denn 
die Schaltung so ausgelegt ist, dass sich Programmierung und normale 
Beschaltung nicht in die Quere kommen.

von Axel S. (a-za-z0-9)


Bewertung
0 lesenswert
nicht lesenswert
Anfänger schrieb:
> wie brenne ich nun mit dem AVRISP mkII oder PICKit 3 ein
> Hexfile in einen Atmel / PIC ?? Irgendwie brauch ich doch noch Hardware

Die "Hardware" besteht aus 5 (PIC) bzw. 6 (AVR) Verbindungen (vulgo: 
Drähten) zwischen dem µC und dem Programmiergerät. Wie du das konkret 
löst, ist dir überlassen. Am universellsten ist ein entsprechender 
Steckverbinder auf der Platine, z.B. einreihig 5-polig für PIC und 
zweireihig 6- oder 10-polig für AVR. Die Steckverbinder und ihre 
Belegung sind genormt (idR so, daß ein 1:1 Kabel zwischen Programmier- 
gerät und Platine paßt). Du kannst aber beliebige Steckverbinder nehmen 
und dir ein Spezialkabel dafür bauen. Für AVR ist Micromatch 6-polig 
beliebt, weil schön klein.

Wenn du den µC nur einmalig programmieren mußt, dann kannst du diese 
Verbindungen auch einfach einmalig an die entsprechenden Punkte auf der 
Leiterplatte anlöten und nach dem Programmieren wieder entfernen.

Oder du baust/kaufst so einen Adapter mit Nullkraftsockel, wo du den µC 
zum Programmieren einsetzt.

: Bearbeitet durch User
von Anfänger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danke erstmal für die Beiträge.
Der PICKit ist nun unterwegs, habe das Gerät also noch nicht.
Nun habe ich aber noch etwas anderes gefunden:

http://www.watterott.com/de/USB-Bit-Whacker-18F2553-Development-Board

Meint ihr das ist brauchbar ?
Wenn man noch in die Lötstellen an den Seiten so Stiftsockel einlötet 
und von da die Drähte zu einer Fassung auf einer Lochrasterplatine 
verbindet müsste doch auch funktionieren ?

von Volker S. (vloki)


Bewertung
0 lesenswert
nicht lesenswert
Brauchbar für was? Als Programmiergerät für andere PICs würde ich mal 
sagen NEIN. Der Bootloader darauf ist zumindest zum Entwickeln auch 
unnütz, wenn du dann demnächst sowieso ein PICkit hast...

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
> Meint ihr das ist brauchbar ?

Ich meine, dass das Ding vor allem teuer ist, wenn man es mit einem 
Arduino Nano aus China vergleicht.

von Anfänger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Brauchbar meinte ich um lediglich ein vorhandenes Hexfile in den PIC zu 
programmieren und ob das Teil dazu taugt.
Sicher ist es doppelt so teuer wie ein PICKit, aber wenn man nur diese 
eine Funktion braucht.
War aber sowieso mehr eine theoretische Frage.

von Frank K. (fchk)


Bewertung
1 lesenswert
nicht lesenswert
Anfänger schrieb:
> Danke erstmal für die Beiträge.
> Der PICKit ist nun unterwegs, habe das Gerät also noch nicht.
> Nun habe ich aber noch etwas anderes gefunden:
>
> http://www.watterott.com/de/USB-Bit-Whacker-18F2553-Development-Board
>
> Meint ihr das ist brauchbar ?
> Wenn man noch in die Lötstellen an den Seiten so Stiftsockel einlötet
> und von da die Drähte zu einer Fassung auf einer Lochrasterplatine
> verbindet müsste doch auch funktionieren ?

Für 8 Bit PICs nicht. Dafür fehlt noch die programmierbare 
Spannungsquelle für die Programmierspannung, die an Vpp/MCLR angelegt 
werden muss. Und DU musst das ICSP-Protokoll für den jeweiligen Chip 
(das ist von Chipfamilie zu Chipfamilie unterschiedlich!) selber 
implementieren.

Sorry, aber wenn ich mir Deine Beiträge so anschaue, glaube ich nicht, 
dass Du das in endlicher Zeit hinbekommst.

fchk

von Volker S. (vloki)


Bewertung
0 lesenswert
nicht lesenswert
Anfänger schrieb:
> Brauchbar meinte ich um lediglich ein vorhandenes Hexfile in den PIC zu
> programmieren und ob das Teil dazu taugt.
> Sicher ist es doppelt so teuer wie ein PICKit, aber wenn man nur diese
> eine Funktion braucht.
> War aber sowieso mehr eine theoretische Frage.

Das Teil taugt nur dazu ein vorhandenes hex-file für das Teil in das 
Teil zu laden. Mit anderen PICs kan das Teil erst mal gar nichts 
anfangen.

: Bearbeitet durch User
von Anfänger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
na da war mein Japanisch doch au wieder net so gut ich hab das so 
gelesen :o)
 Taugt dann das da wenigstens etwas um ein Hexfile in einen PIC zu 
flashen?
Ebay-Artikel Nr. 252117924313
Auf der Rückseite ist noch aufgedruckt wie man die Jumper für die 
entsprechenden PICS setzen muss.
Da ich die Schaltung sowieso aufbauen muss setze ich eben noch ein paar 
Lötstifte mit drauf  für ISP da hätt ich auch selber drauf kommen können

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Nein, das ist nur ein mechanischer Sockel, kein Programmieradapter.

Du brauchst einen Programmieradapter. Auf der einen Seite hat er einen 
USB Anschluss, in der Mitte einen bereits prigrammierten Mikrocontroller 
und auf der anderen Seite eine Schnitttselle zum Ziel.Mikrocontroller, 
der programmiert werden soll.

von Volker S. (vloki)


Bewertung
0 lesenswert
nicht lesenswert
Den Programmieradapter hat er doch schon ;-)

@Anfänger:
Ja das könnte passen. Ich habe diesen 
Ebay-Artikel Nr. 282227054977

von Robert V. (malso)


Bewertung
0 lesenswert
nicht lesenswert
Bin da nicht so bewandert. Gibts eigendlich so eine Art Miniklemmen die 
man an Verbaute µC-Beichen klemmen kann?

Robert

von Sascha_ (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Für den Fall dass das noch nicht erwähnt wurde: Der ESP8266 mit esp-link 
kann AVRs programmieren, aber es ist mir nicht ganz klar ob per ISP oder 
UART+Bootloader.

von Volker S. (vloki)


Bewertung
0 lesenswert
nicht lesenswert
Robert V. schrieb:
> Gibts eigendlich so eine Art Miniklemmen die
> man an Verbaute µC-Beichen klemmen kann?

W.A. schrieb:
> Einen dafür passenden Prüf-Clip gibts (fast) überall.

Oder such mal nach "Micro Kleps", "E-Z Hook" ...

von Programmiergast (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Anfänger schrieb:
> Sodele, und wie brenne ich nun mit dem AVRISP mkII oder PICKit 3 ein
> Hexfile in einen Atmel / PIC ?? Irgendwie brauch ich doch noch Hardware
> dazu wo man dann den µC reinsteckt (kopf kratz) ??

Für die Atmels gibts eine witzige und einigermaßen universelle Lösung:

https://guloshop.de/shop/Mikrocontroller-Programmierung/guloboard-G10::3.html

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.