Forum: Mikrocontroller und Digitale Elektronik Kein Programmieren möglich?


von Alex S. (schnigge5)


Angehängte Dateien:

Lesenswert?

Hallo erstmal!
Ich möchte anfangen, ATmegas zu programmieren und war schon viel hier 
unterwegs. Super hier!!!! :-)  Aber nun habe ich das erste größere 
Problem.
Ich habe mir einen ATmega 16 gekauft und mir ein Board gebaut laut 
dieser Anleitung ( 2te also für ne rs232 
http://s-huehn.de/elektronik/avr-prog/avr-prog-alt.htm). Nun habe ich 
endlich Ponny-prog unter win 7 64bit am laufen. Dieses erkennt auch 
meinen Adapter etc.  "TEST OK" Nur er will zum verrecken nicht dieses 
Ding Beschreiben. Immer meldet er "Device missing or unknown 24" Ich 
habe mal 2 Screens vom DSO in den Anhang getan. Auf dem 1ten sieht man 
MOSI und SCL und auf 2ten MISO und Reset. Das sieht doch ganz gut aus, 
oder?!?!?!?

Kann mir jemand helfen?

Besten Gruß ALEX

von Paul Baumann (Gast)


Lesenswert?

Ich habe diesen Adapter auch lange an ein und demselben Rechner benutzt.
Unter Windows ME ging es, unter XP ging es, unter Windows Vista und 7
ging es um's Verrecken nicht mehr.

Das "Test ok" sagt nicht viel aus.

Hast Du die Möglichkeit, bei einem Bekannten, der noch ein "altes"
Betriebssystem auf seinem Rechner hat, den Adapter zu testen, um sicher 
zu
gehen, daß der selbst physisch in Ordnung ist?

MfG Paul

von Julian B. (julinho)


Lesenswert?

Die Signale sehen eigentlich gut aus, der AtMega scheint auch zu 
antworten.
An welcher Stelle hast Du die Signale gemesse, an der Buchse oder am 
Atmega?

von Alex S. (schnigge5)


Lesenswert?

@ Paul: Ich werd mal probieren, obs an nem andern Rechner funktioniert. 
Nur da muss ich erstmal nen Treiber für finden.
@ Julian: Tja ich dachte doch, dass die Signale gut aussehn. Gemessen 
hab ich am d-sub-stecker. Das Problem ist, dass ich ja ATmega einsteiger 
bin, und das mein erster Kontakt ist. von daher kann ich mir auch nur 
schlecht selber helfen:-)
Aber schonmal vielen Dank für eure hilfe. Ich melde mich wieder, wenn 
ichs ma auf nem xp-Rechner ausprobiert habe.

Gruß Alex

von Paul Baumann (Gast)


Lesenswert?

Du brauchst bei XP "GiveIO", bei ME und 2000 oder 98 noch nicht.
Hier kann man es herunterladen. (Alles in englischer Sprache, aber man 
kommt
zurecht)
http://www.cs.ucr.edu/~eblock/pages/pictools/giveio.html

Das gestattet dann den direkten Zugriff
auf die Daten- und Steuerleitungen der Schnittstelle, denn es werden ja
bei Ponyprog auch die Steuerleitungen verwandt -nicht nur RXD und TXD.

Ist der Kontroller selbst richtig beschaltet d.h. liegt die 
Betriebsspannung
an, kommen die Leitungen MOSI, MISO, SCLK, Reset und Masse an den 
entsprechenden Anschlüssen an u.s.w. ?

MfG Paul

von RTFM (Gast)


Lesenswert?

Hast Du mal geschaut, unter welcher Adresse deine serielle Schnittstelle 
läuft?Stimmt diese Adresse mit den früher üblichen Adressen überein? 
Ponyprog benutzt:
LPT1: 0378h
LPT2: 0278h
COM1: 03F8h
COM2: 02F8h
COM3: 03E8h
COM4: 02E8h

Win XP benutzte diese Adressen auch, aber Win 7 hat leider andere. Und 
wie man die in Ponyprog reinbekommt, würde mich auch mal interessieren.

von Christian F. (cmf) Benutzerseite


Lesenswert?

Bei mir läuft PonyProg unter Win 7 64 Bit ohne irgendwelche Änderungen.

von RTFM (Gast)


Lesenswert?

Könntest Du mal bitte nach deiner Schnittstellenadresse schauen?
Wenn Du eine Schnittstelle direkt auf dem Motherboard hast?

von Paul Baumann (Gast)


Lesenswert?

@RTFM

Ich habe hier zwar nur eine serielle Schnittstelle auf dem Mainbord, 
aber
die hat unter Windows 7 die gleiche Adresse "wie immer" d.h. 03F8h-03FFh

Das ist auch nicht das Problem, sondern der Umstand, daß das System die
Leute nicht mehr so einfach auf die Schnittstellen zugreifen läßt und 
sie
mit den Pins "wackeln" können.

MfG Paul

von RTFM (Gast)


Lesenswert?

Meine beiden seriellen Schnittstellen auf dem Mainboard haben von Win 7 
die Adressen BF00h und BE00h bekommen, eine zugerüstete parallele 
Schnittstelle (PCIe) hat die Adresse BF00h bekommen.
Ich hätte an diesem Rechner ja auch lieber wieder die alten Adressen. 
Nur wie reinbekommen?

von Julian B. (julinho)


Lesenswert?

Die Adresse des Ports scheint nicht das Problem zu sein, die Pins machen 
ja das richtige (siehe Oszibilder). Der Atmega antwortet auch, siehe 
Miso-Signal.
Der PC kann das Signal nur nicht (richtig) interpretieren. Das liegt oft 
am Timing, da Ponyprog nicht in Echtzeit auf die Schnitstelle zugreifen 
kann.

von ...-. (Gast)


Lesenswert?


von Alex S. (schnigge5)


Lesenswert?

ALSO!!!!!!!  :

Es geht! :-)
Aber halt nur unter xp, wie Paul schon schrieb. Das heißt also, dass 
meine Schaltung doch iO ist. Es wäre toll wenn man es auch unter win7 
könnte.

Nur hier schon die nächste Frage: Warum ist es so wahnsinnig lahm? Der 
brauch 10min um ein Programm zu brennen, welches nur nen Port an und 
wieder aus schaltet. Das kenne ich von anderen µC nicht!

Mfg

von Alex S. (schnigge5)


Lesenswert?

Nachtrag.
Er versucht gerade seit 38min zu programmieren und ist bei 15%!!!!

Ist das normal?

mfg

von Alex S. (schnigge5)


Lesenswert?

Ich nochmal!

nach 1,5 Std. meldet das Ponny: übertragen. 1,5std.!!!!!!!! und was 
passiert...NIX!

Jemand wies auf AVR-DUDE hin. Nun meine Frage: Wie installiert man das 
denn? Ich komme immer auf diese Seite 
http://download.savannah.gnu.org/releases/avrdude/ was mache ich denn 
mit den Dateien? Gibt es nicht was in der Art "install.exe"?

Besten Gruß ALEX

von ...-. (Gast)


Lesenswert?

http://www.mikrocontroller.net/articles/AVRDUDE dort ist ganz unten ein 
Link auf die compilierten Dateien, auf savanna.. gibt es nur den Source.

Installation ist nicht nötig. Es ist ein Kommandozeilenprogramm, mit 
z.B. Burn-o-mat hast Du aber ein GUI.

von Paul Baumann (Gast)


Lesenswert?

Das scheint ein Timing-Problem bei Ponyprog zu sein. Guck mal in das
Verzeichnis von Ponyprog, da gibt es eine Konfigurationsdatei und auch 
eine Hilfedatei dazu, wie man was und wo einstellen kann.

Ich glaube nicht, daß das mit AVRDUDE besser geht.

MfG Paul

von tt4u (Gast)


Lesenswert?

Ich habe sowohl einen Parallel- als auch einen Seriell-Programmer und 
mit avrdude (Windows und Linux) ging das alles immer ratz-fatz, z.B. 
ATMEGA32 in knapp 50 Sekunden. USB-Programmer (USB-STick hier aus dem 
Artikel) ist natürlich schneller.

von Alex S. (schnigge5)


Lesenswert?

Es ist zum verzweifeln!
Ich habe nun die von http://www.mikrocontroller.net/articles/AVRDUDE 
Dateien ausprobiert und keine läuft bei mir. Eigentlich dachte ich, ich 
wäre nicht allzu computerdoof, aber nun kommen Selbstzweifel auf!!!
Ich möchte doch nur mit meinem Win7 64bit das blöde Ding programmieren 
und nicht hier schreiben, dann auf Stick, dann von altem Laptop 1,5 std. 
programmieren. ;-[

Habe ich nicht die Möglichkeit mit Atmelstudio 6 über mein 
Selbstbauinterface das Ding zu brennen?

Trotzallem schonmal herzlichen Dank für die vielen Tipps

von tt2t (Gast)


Lesenswert?

> Ich habe nun die von http://www.mikrocontroller.net/articles/AVRDUDE
> Dateien ausprobiert und keine läuft bei mir.

libusb installiert ???

von Alex S. (schnigge5)


Lesenswert?

Bitte Leute...Sorry, wenn ich euch nerve. Hab schon ein schlechtes 
Gewissen!

Ich kenne das nur so in der Art "Studio zum programmieren und 
beschreiben". Und nun klappt gar nix. Ich gebe zu ich könnte ein Stk500 
kaufen, aber ehrlich gesagt bin ich dafür zu geizig, da ich es nicht 
brauche. ich möchte das Ding nur programmieren und dann in eine 
Schaltung einbauen, daher die selbst gebaute Platine.

Ich blicke da nicht mehr durch. AVR-Studio, AVR Dude, PonnyProg, 
Burn-o-mat etc...

Also. AVR-Studio läuft; AVRDude kapier ich net von wegen Quellcode oder 
auch .exe (die dann nur kurz ein DOS-Fenster öffnet und dann nix mehr 
macht); PonnyProg läuft unter WIN7 net (unter xp ja, aber braucht 
stunden zu verifizieren?); Burn-o-mat läuft, will aber irgendwie was mit 
AVR Dude zu tun haben (mit dem ich aber ja nicht klar komme);

und dann wäre ja da noch dieses AVRgcc das hat nichts mit Atmel zu 
tun,oder? Das ist ein freier Compiler, für den man dann auch andere 
C-Befehle braucht, oder wie? Oder muss das in AVR-Studio "eingebunden" 
werden?

Gut davon mal abgesehn...ich möchte ja jetzt erstmal ein blödes kleines 
Programm schreiben, mit dem ich mich in die Atmels einarbeiten kann. 
Also nix Bootloader und solche Spielereien.

Kann mir jemand vielleicht sowas in der Art Plan geben wie ich vorgehn 
sollte?
Also: 1. Programmer-Platine anschließen, 2. DasunDas Programm 
installieren(Win7 64bit!), 3. darin schreiben "#include, define.... ,4. 
so-und-so draufspielen...
Wenns sowas überhaupt gibt.

Wenn nicht muss ich halt ma viel Geld anlegen.

Besten Gruß und nochmal Danke für die ganzen Tips!!!!

ALEX

ps lib usb????? keine Ahnung. hab ich aber nicht installiert. Was ist 
das und wofür?

von Sam P. (Gast)


Lesenswert?

Wenn das nicht der einzige AVR ist, den du in deinem Leben programmieren 
wirst, dann besorg dir einen billigen USB-Programmer, der mit AVR Studio 
kompatibel ist (die geben sich gern als AVR-ISP aus o.ä.). Ich hab grad 
kein Modell zu Hand, solls aber unter 10 € geben. Forensuche sollte da 
schnell Ergebnisse bringen.

Grund: Das Rumgehampel mit seriellen/parallelen Ports wird nicht besser 
werden. Wer für solche Alltagstätigkeiten auf I/O-Schnittstellen setzt, 
die die Consumerwelt bereits vor einem Jahrzehnt für tot erklärt hat, 
macht sich (auf lange Sicht) viel Mühe, die die paar Euro für nen 
modernen Programmer mehr als Lohnenswert machen.

Also: Wie viel Geld ist dir deine Zeit wert? Hättest du nicht liebend 
gerne 10 Euro ausgegeben, deine ausgerauften Haare behalten und dir in 
der gesparten Zeit einen schönen Film angesehen?


Off-Topic: Ich hab sowas auch mal gemacht. Mein PIC-Programmer war 
kaputt (warum, das tut nichts zur sache ähem :). Es war natürlich ein 
PIC drauf, der ausgetauscht werden muss. Henne-Ei-Problem. Genau das 
gleiche wie der TO hab ich gemacht, was windiges ausm Netz verdrahtet, 
alte Kiste mit LPT besorgt, und nach reichlich gekotze es dann doch 
irgendwann hinbekommen. Ich wollte halt nicht einsehen, zum Reparieren 
eines PIC-Programmers einen PIC-Programmer zu kaufen ;) Sonst hätt ich 
mir das niemals angetan.

Bei mir war übrigens das Problem, dass die Signale nur manchmal müll 
waren, irgendwo war da ein Wackelkontakt oder es gab Übersprechen oder 
was auch immer. Das Symptom mit dem stundenlangen Programmieren (was am 
Ende dann nichtmal funktionierte) hatte ich auch noch. Das ist die Mühe 
echt nicht wert, nimm lieber gleich was richtiges.

von Alex S. (schnigge5)


Lesenswert?

Hey Sam!
Danke für den Beitrag. Ich bin ja schon selbst darauf gekommen, mir was 
ordentliches zu kaufen. Nur anfangs war mein Gedanke "schön alles selber 
bauen und die Materie verstehn".... das sehe ich auch immer noch so! Und 
man kann da auch bestimmt was machen,    ABER....

...man will son Ding ja aus einem bestimmten Grund programmieren und der 
rück immer mehr ins dunkle, solange man sich mit dem Scheiß der 
Programmierung aufhält!!!! :-)

Es ist echt nicht die Mühe wert, auch wenn man dabei was lernen würde.

trotzdem Danke

von Ralf-Peter G. (ralfpeter)


Lesenswert?

Hallo Alex,

nur kein Suizid ;=), das ist doch gerade DAS was den Kick bringt. Wäre 
grausam wenn alles gleich gehen würde !
Schau mal bei http://www.mechaos.de/avr_progusb.php vorbei, ein 
Programmer mit USB der sich über Bit-Bang selbst die Firmware aufspielt. 
Nur ein Treiber ist für den FTDI-Chip notwendig und schon hast Du einen 
STK500-Clon. Dauert beim erstenmal (Selbstprogrammierung) zwar etwas 
aber dann geht die Post ab. Habe mir das Teil modifiziert aufgebaut - 
ich will nichts anderes mehr haben !

Mfg Grelli

von Christian F. (cmf) Benutzerseite


Lesenswert?

Alex Schneider schrieb:
> Bitte Leute...Sorry, wenn ich euch nerve. Hab schon ein schlechtes
> Gewissen!
Also...
> Ich kenne das nur so in der Art "Studio zum programmieren und
> beschreiben". Und nun klappt gar nix. Ich gebe zu ich könnte ein Stk500
> kaufen, aber ehrlich gesagt bin ich dafür zu geizig, da ich es nicht
> brauche. ich möchte das Ding nur programmieren und dann in eine
> Schaltung einbauen, daher die selbst gebaute Platine.
Ich wäre auch zu geizig.
> Ich blicke da nicht mehr durch. AVR-Studio, AVR Dude, PonnyProg,
> Burn-o-mat etc...
>
> Also. AVR-Studio läuft;
Mit AVR Studio kann man µCs nur programmieren, wenn man einen AVR Studio 
kompatiblen Programmer hat. (STK500, AVR-ISP, viele billig USB 
Programmer imitieren einen AVR-ISP)
> AVRDude kapier ich net von wegen Quellcode oder
> auch .exe (die dann nur kurz ein DOS-Fenster öffnet und dann nix mehr
> macht);
AVRDude ist DAS Programm zum übertragen von HEX Files auf den 
Mikrocontroller. Öffne die .exe Datei mal im Terminal 
("Eingabeaufforderung" oder so heißt das ja unter Win) Dann sollte 
irgendein Text erscheinen wie: "No Programmer selected, blablabla"

Um mit AVRDude ein Programm zu übertragen musst du AVRDude etwa so 
aufrufen:
1
avrdude -p µC -P PORT -c PROGRAMMER -U flash:w:DATEI.hex
2
3
Beispiel:
4
avrdude -p atmega8 -P com1 -c USBASP -U flash:w:main.hex
> PonnyProg läuft unter WIN7 net (unter xp ja, aber braucht
> stunden zu verifizieren?);
Bringt dir eh nichts, da du keinen mit PonyProg kompatiblen Programmer 
hast.
> Burn-o-mat läuft, will aber irgendwie was mit
> AVR Dude zu tun haben (mit dem ich aber ja nicht klar komme);
Genau. Burn-o-mat ruft avrdude auf nur dass du eben grafisch den µC, den 
Port usw. auswählen kannst.
> und dann wäre ja da noch dieses AVRgcc das hat nichts mit Atmel zu
> tun,oder?
Jep.
> Das ist ein freier Compiler,
Ja.
> für den man dann auch andere C-Befehle braucht, oder wie?
Nein
> Oder muss das in AVR-Studio "eingebunden"
> werden?
Der ist schon eingebunden. AVR Studio nutzt AVR GCC um aus deinem 
Programm die HEX Datei zu erzeugen.
>
> Gut davon mal abgesehn...ich möchte ja jetzt erstmal ein blödes kleines
> Programm schreiben, mit dem ich mich in die Atmels einarbeiten kann.
> Also nix Bootloader und solche Spielereien.
Ok.
> Kann mir jemand vielleicht sowas in der Art Plan geben wie ich vorgehn
> sollte?
> Also: 1. Programmer-Platine anschließen, 2. DasunDas Programm
> installieren(Win7 64bit!), 3. darin schreiben "#include, define.... ,4.
> so-und-so draufspielen...
> Wenns sowas überhaupt gibt.
1. AVR Studio öffnen
2. Projekt erstellen (AVR-GCC Projekt heißt das glaube ich)
3. µC auswählen
3.1 In den Projekteinstellungen die CPU Frequenz wählen (Standard ist 
meist 1000000)
3.2 In den Projekteinstellungen die Optimierung auf Os stellen
3.3 Programm schreiben. Einfaches Beispiel wäre:
1
#include <avr/io.h>
2
3
int main(void)
4
{
5
  while(1)
6
    ;
7
}
4. Programm kompilieren.
5. Die kompilierte HEX Datei suchen
6. Im Terminal in den Ordner mit der HEX Datei wechseln.
7. Programmer anschließen an µC und Rechner
8. Folgendes im Terminal eingeben:
1
avrdude -p MIKROCONTROLLER -P usb -c PROGRAMMER -U flash:w:blabla.hex
>
> Wenn nicht muss ich halt ma viel Geld anlegen.
Wollte ich immer vermeiden.
> Besten Gruß und nochmal Danke für die ganzen Tips!!!!
>
> ALEX
>
Christian
> ps lib usb????? keine Ahnung. hab ich aber nicht installiert. Was ist
> das und wofür?
Ohne das funktionieren (glaube ich) alle-wenige-keine USB-Programmer 
(unter Win)

von tt2t (Gast)


Lesenswert?

ohne die libusb http://sourceforge.net/apps/trac/libusb-win32/wiki geht 
bei Windows mit den USB-Programmern meist nix. Runterladen, 
installieren. Danach gehen auch avrdude und andere Brenn-Programme, die 
USB benutzen.

von tt2t (Gast)


Angehängte Dateien:

Lesenswert?

Ich benutze den USB-Stick hier aus dem Forum, gibt es auch bei ehajo.de. 
Wenn ich den einstecke und das System kennt den noch nicht, dann fragt 
Win nach einem Treiber. Das ist ein .inf-File, der auf die libusb zeigt, 
das sollte natürlich die aktuelle Version (z.Zt 1.2.6.0) sein. Mein 
aktuelles Verzeichnis, in dem die Dateien sind, habe ich mal angehängt, 
ich weiss allerdings nicht, wie es mit 64-Bit steht (meine Rechner 
laufen alle noch mit 32-Bit).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.