Hallo Zusammen,
da ich wohl der einzige zu sein scheine, der noch in Assembler
programmiert stelle ich mal eine Frage.
Ich habe ein Programm mit AVR Studio geschrieben.
Habe einen USB ISP Programmer der nicht von Atmel ist also nicht z.B
STK500.
Wie bekomme ich jetzt mein Programm auf meinen Atmega32.
Unter ARR-GCC Tutorial steht ja schön, wie man das in C macht, aber
nicht wie es in Assambler geht.
Möglicherweise liegt es einfach daran, dass ich das noch nie gemacht
habe.
Vielen Dank für eine Antowort :-)
Gruß
Marius
Ich formuliere die Frage um ;-)
Also ich habe im Internet jetzt vermehrt ISP Programmer gefunden, die
folgenden Text enthalten:
....STK500v2 Softwareunterstützung - - AVR Studio (COM1..COM9) - -
AVRDUDE - - Bascom mit der Einstellung Options->Programmer = STK500:
LEDs...
Heißt dies, dass ich das Teil anschließe, die Software installieren und
aus dem AVR Studio direkt meinen Atmega programmieren kann, ohne den
umweg
über Hex-File, Make-File usw. zu gehen?
Also so interpetiere ich den Button bei AVR Studio "Connect to the
Selected AVR Programmer"
Gruß
Marius
Nööö, ohne Hexfile (oder ein Binärfile/Projektfile) geht es nicht. Die
ISP-Software des AVR-Studios kann auch nur das an den AVR übertragen,
was als HEX-File (oder ELF-File) vorliegt.
MfG
Mit AVR Studio kann man das Assemblerprogramm in einem Zug kompilieren
und per ISP auf den Atmel übertragen. Dazu dient der Knopf in der
Symbolleiste mit dem schwarzen Chip und dem roten Pfeil.
Dazu muss AVR Studio jedoch mit 'connect' deinen Programmer erkennen.
Thomas
Assemblerprogramme kompiliert man nicht. Ich assembliere mit F7 und
übertrage die HEX-Datei mit dem zugehörigen Icon und ggf. auch die
EEP-Datei mit dem zugehörigen anderen Icon.
Das setzt natürlich voraus,
- dass man den Programmer (bei mir STK500 bzw. AVR-Dragon) connectet
hat,
- dass man das richtige Device ausgewählt hat,
- dass man die richtigen Brennfiles im richtigen Projekt ausgewählt hat
(wenn man da nicht aufpasst, brennt man eine andere Datei, an der man
aktuell gar nicht arbeitet)
- dass man die richtigen Parameter eingestellt hat (ISP-Frequenz,
Target-Spannung, ...)
Man sollte sich also schon mal intensiv mit dem AVR-Studio beschäftigt
haben, es ist nunmal kein Multimedia-Konsum-Programm wie ein MP3-Player.
MfG
Hallo Zusammen,
ich habe jetzt einen ISP Programmer.
Er wird erkannt doch wenn ich das Programm übertragen möchte, kommt
folgende Fehlermeldung.
entering programming mode failed
Das mit dem 1/4 des Takts habe ich gemacht.
Targetspannung stimmt auch.
Richtig angeschlossen habe ich auch.
Pin 10,30,32 VCC
Pin 11,31 GND
MISO an MISO, MOSI an MOSI, SCK an SCK und Reset an Reset
Was mache ich falsch?
Gruß
Marius
Marius schrieb:> Hallo Zusammen,>> ich habe jetzt einen ISP Programmer.>> Er wird erkannt doch wenn ich das Programm übertragen möchte, kommt> folgende Fehlermeldung.> entering programming mode failed
Also keine Verbindung zum AVR...
> Das mit dem 1/4 des Takts habe ich gemacht.> Targetspannung stimmt auch.> Richtig angeschlossen habe ich auch.> Pin 10,30,32 VCC> Pin 11,31 GND> MISO an MISO, MOSI an MOSI, SCK an SCK und Reset an Reset> Was mache ich falsch?
Es besteht noch die Möglichkeit, dass der ATMega32 "verfust" ist. Die
Ursache könnte eine wacklige ISP-Verbindung sein (falsche Befehle durch
"Kippen" einzelner Bits), aber auch zielgerichtetes Ändern der Fuses
durch den Vorbesitzer.
Da stellt sich die Frage nach der Herkunft des ATMega32. Stammt er vom
Distri, von Reichelt, CSD oder anderen Neuteilehändlern, so gab es
keinen Vorbesitzer. Stammt er aber von Pollin oder anderen
Restpostenhändlern, so ist es durchaus möglich, dass aus einer Firma
stammt, die ihn im Vorfeld der Produktion bereits für den Einsatzzweck
gefust oder sogar programmiert hat.
Als nächstes könntest Du versuchen, einen externen Takt anzulegen. Im
Datenblatt findest Du die Beschaltung dafür. Dies ist hilfreich, wenn
nur die Taktquelle verfust ist.
Sollte ISP per Fuse deaktiviert sein, dann hilft der HV-Parallel-Mode,
wie ihn das STK500, der AVR-Dragon und der JTAG-ICE beherrscht.
>> Gruß>> Marius
MfG
Ich hab mir zwar vor kurzen auch einen Mega8 mit meinem neuen Programmer
zerschossen, aber wir wollen nicht gleich vom Schlimmsten ausgehen.
Kontrollier noch mal die Verbindungen zum Programmer. Da hab ich mich
mit meiner Freiluftverdrahtung auch 3 mal verhaut (darf ich gar nicht
sagen :-)
Wenn geht, nimm einen Durchgangsprüfer und klingle die Leitungen durch,
ob auch wirklich alles richtig am Chip ankommt. Mit einem Voltmeter noch
kontrollieren ob die Versorgungsspannung am Mega überall richtig
ankommt!
Bei manchen Programmern ist nicht klar, ob Vcc am ISP Stecker zur
Targetversorgung geeignet ist, oder ob das nur eine Sense-Leitung ist.
Manchmal gibt es da Steckbrücken, mit denen man das auswählen kann.
Daher: Mit dem Voltmeter direkt am Mega kontrollieren, ob da 5V (oder
3.3V) anliegen.
PONYPROG erledigt das Gewünschte. http://www.lancos.com/prog.html
Läuft unter Windows und kann die vom AVR Studio erzeugten Hexfiles über
ein einfaches Interface, das auch dort zu finden ist, in den uC laden.
Im Ponyprogfenster sieht man auch die Einstellung der Fuses und kann sie
anpassen wie gewünscht. ABer Vorsicht: unüblicherweise heißt
1....nicht gesetzt, kein Haken im Fensterchen
0....Fuse ist aktiv, ein Haken sichtbar.
Vielen Dank an alle.ich hab eben mal ein c Programm übertrag und es
läuft.
Doch nun wollte ich mal mein LC Display ansteuernt.
Unter dem Simulator in AVR Studio habe ich zusammen mit lcdsim alles
schon getestet.
Doch leider zeigt das Echt nix an.
Wie kann das denn sein?
LC Display kaputt?
Es hat den KS0066U als Controller drin.
in meinem Projekt habe ich Hauptprogramm und die LCD Routine in zwei
dateien.
Werden die auch automatisch beide ins HEX-File geschrieben?
Kann ich ja nicht sehen.
Gruß
Marius