In circuit avr programmieren

Gast #465939
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!
Gast #465973
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!
Gast #465985
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.
#466311
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 ?
Gast #466415
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).
Gast #466418
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.
#467013
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
#467015
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.
(Firma: TravelRec.) Persönliche Seite #467022
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.
#467025
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren