www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik In circuit avr programmieren


Autor: R. H. (knosper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
WIE PROGRAMMIERT MAN AM BESTEN DIE AVR´S OHNE pROGRAMMIERGERÄT?

Autor: Oliver Döring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einer entsprechenden Software vom PC aus und einem einfachen Adapter 
vom Parallelport auf die ISP-Pins am AVR. Ein passives Filter am SCK-Pin 
ist dringend empfohlen, und zusätzlich mußt Du Dich darauf einstellen, 
daß diese Methode nicht immer 100% zuverlässig funktioniert.

Schaltpläne für die Adapter gibt es meist mit der Software. Welches 
Betriebssystem?

P.S.: Schalt mal Dein caps lock ab!

Autor: R. H. (knosper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Windows XP

Autor: Oliver Döring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann probier es mit AVRStudio von Atmel - WinAVR ist da meines Wissens 
nach ganz gut integrierbar - und einem beliebigen ISP-Programm für 
Windows (Suchen im Forum oder Google hilft).

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ R.w. H.:
Mein Tipp: kauf' dir einen AVRISP! Sonst wird's nicht lange dauern und 
die üblichen Fragen werden hier autauchen, wie 'µC ist nicht mehr 
ansprechbar', µC verFused, wie kann ich den retten?' oder 'Wie stelle 
ich die ISP-Frequenz ein?'. GUTES WERKZEUG IST GOLD WERT!

Autor: R. H. (knosper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die tips.

Habe mal gehört, dass, wenn man rS232, implementiert auch nen nackten 
avr direkt programmieren kann.

wisst ihr da was?

Autor: Oliver Döring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, das geht definitiv nicht.

Was Du meinst, ist ein sogenannter "Bootloader". Der muß aber auch erst 
einmal auf den AVR drauf, und das geht nur per ISP oder 
Programmiergerät. Es gibt Controller, die ab Werk mit einem Bootloader 
ausgeliefert werden, wie zum Beispiel die ARM7-Controller von Atmel. 
Aber wie gesagt, nicht die AVRs.

Autor: jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Nein, das geht definitiv nicht.

Schau mal hier...

http://www.lancos.com/siprogsch.html#spiadapter

Autor: Oliver Döring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja und?

Autor: R. H. (knosper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das heist man muss, in abhängigkeit der µc, genau wssen, wie dieser zu 
programmieren ist.

Ist ISP standardesiert, d.h. bei allen µc gleich?

wie kann ich schnell herausfinden ob ein µc einen bootloader hat oder 
nicht?
Klar steht es sicher irgendwo im datenblatt wenn einer vorhanden ist, 
dabei wird man aber erst mal warscheinlich vile seiten Manual 
durchforsten müssen.

geht das auch schneller ?

Autor: Oliver Döring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht es nur um Atmel AVR?

Dort gibt es in jedem Datenblatt ein Kapitel "serial downloading", wo 
genau beschrieben ist, welche Pins für ISP vorgesehen sind. Immer sind 
das RESET und GND, meistens SCK, MISO und MOSI (gibt ein paar 
Ausnahmen). Dieses Interface aus den 5 (oder 6 mit Betriebsspannung) 
Pins ist standardisiert. Die ISP-Software kann einen Identifier auslesen 
und so den Prozessor (und die Größe der Speicher) feststellen.

Du mußt bei der Auslegung Deiner Schaltung auf folgendes achten: Der 
Controller braucht einen Takt. Wenn Du also den internen RC-Oszillator 
nicht   nutzen willst, braucht der Controller auch zum Programmieren 
einen Quarz. Denke daran, daß beim ISP Deine Schaltung "in Betrieb" ist. 
Daher mußt Du darauf achten, daß die ISP-Pins nicht von der Schaltung 
auf irgendeinen festen Pegel getrieben werden oder in ungünstige 
Impedanzen schauen, so daß der Programmieradapter (also der Parallelport 
Deines PC) diese nicht vernünftig treiben kann. Achte auch darauf, daß 
beim Programmiervorgang RESET ständig aktiv (low) ist und die drei Pins 
SCK, MISO und MOSI beliebige Zustände annehmen. Deine Schaltung sollte 
damit zurechtkommen (und nicht die CNC-Fräse in die Anschläge fahren).

Autor: Oliver Döring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

Wenn genügend Pins frei sind und SPI nicht benötigt wird, einfach die 
Leitungen Vdd, GND, RESET, SCK, MISO und MOSI auf einen 6poligen 
Pfostenstecker führen und als dediziertes ISP-Interface benutzen. Für 
die Anschlußbelegung gibt es einen "Pseudo"-Standard, der dann auch mit 
dem Atmel-Programmiergerät kompatibel ist, falls Du das später doch 
einsetzen möchtest.

Autor: Knuddel Pudel (knopf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, ich benötige also immer eine SPI. Zum einen um ein bootloader zu 
laden oder wenn dies erkaputt ist oder nen update braucht, um ihn neu zu 
programmierne.

werden die I/O nicht für nadere dinge dann blockiert?

wie ist es mit dem debuggen. kann man über SPI debuggen?

ein bootloader macht wohl nichts anderes als bei einem reset darauf zu 
warten ob was da ist zum neu zu programmieren und wnn nicht springt er 
zur applikation. das heist er setz sich auf adresse 0 -sprich 
startaddresse. Inizialisiert sereiell oder USB. wartet ob da was kommt, 
wenn nicht springt er auf anfangsadresse einer applikation. stimmt das 
so?

also ein bootloader erwartet so immer etwas auf rs232 oder USB

Autor: Knuddel Pudel (knopf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe mich mal mit ISP- schnittstelle umgesehen.

Manche nehmen die datenbitleitungen für eine stromversorgung, andere 
nicht.

manche gehen direkt auf die Leitungen zum steuern, manche nehmen noch 
ein ttl-baustein. was der sinn dieses bausteins sein soll ist mir nicht 
ganz klar.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir scheint, Du bringst einige Dinge durcheinander. Du mischst 
ISP-Schnittstelle mit ISP-Adapter. Die Schnittstelle am Controller ist 
immer gleich, die Adapter oder Programmer variieren stark. Wichtig 
ist, daß der Adapter oder der Programmer das ISP-Protokoll und Timing 
einhalten. Jeder, der keinen originalen Programmer besitzt, macht´s halt 
anders, mit unterschiedlichem Erfolg. Mit einem originalen 
ISP-Programmer (ATMEL AVR-ISP) ist man immer auf der sicheren Seite und 
kann, eigene Dummheit ausgeschlossen, von 99.99% sauber programmierten 
Controllern ausgehen.

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Debuggen über SPI geht nicht, dafür haben die meisten AVR's JTAG 
eingebaut (andere Pinne).

Die ISP-Ports kann man bei geschickter Beschaltung für andere Sachen 
weiterverwenden.

Man benötigt in der Schaltung nicht zwingend den Programmier-Anschluss. 
Man kann auch hingehen und den µC vor dem Einbau einen Bootloader (und 
das Programm) aufspielen und anschließend über eine vorhandene 
Kommunikationsschnittstelle updaten (falls nötig).

Bootloader müssen nicht zwingend über die RS232 arbeiten (bei AVR's 
übrigens auf keinen Fall USB da es keinen mit eingebauten USB gibt) 
sonder können z.B. auch über I2C arbeiten.

Der Bootloader sitzt für gewöhnlich am oberen Ende des Speichers.

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.