beantwortet: ATmega- Programmierung: Starthilfe gesucht

  • Hallo,
    gibt es hier jemanden im Forum, der mir bei den ersten Schritten der ATmega8- programmierung helfen kann ?
    Bekomme im Moment mein Programmierboard mit passivem Programmieradapter, Laptop :) und XP :-)) nicht zum Spielen (AVR wird nicht erkannt).


    Hat jemand Erfahrungen mit dieser Kombination?
    Ich bin für jeden Tip dankbar


    73''- Frank

    Speaky, BCR, FP, DRK, ... 8)

  • Hallo Frank,
    Was meinst du denn mit passivem Programmieradapter ?
    Ich habe einen preiswerten Programmieradapter für die serielle Schnittstelle von Atmel der sehr gut funktioniert.


    72 Wolf, DL2WRJ

  • Hallo Frank!


    Ah, der Link von der Liste funktioniert!


    Zu Deiner Kombination kann ich nichts sagen, aber wenn das ein Parallelport-Programmer ist, hilft vielleicht folgendes weiter:
    Im Gerätemanager\Anschlüsse\ECP-Druckeranschluss\Eigenschaften auf der Registerkarte Anschlußeinstellungen mal die Option " Jeden ... zugewiesenen Interrupt verwenden". (XP ist bezügl. Interrups sehr vorsichtig ;)
    Für Atmels verwende ich einen gebastelten ISP-Knubbel mit 74HC244.
    Mit Programmiererfahrung kann ich leider nicht dienen.


    73, Andreas

  • @ Wolfgang:
    leider habe ich am Laptop keine serielle Schnittstelle mehr.
    Ich möchte deshalb erstmal passive Adapter für den Parallelport probieren.
    Zwei passive Adapter sind in DL7UNO's AVR- Buch beschrieben:
    - ein SP12- kompatibler Adapter mit 7 Dioden direkt im LPT- Steckergehäuse
    mit Spannungsversorgung aus dem Laptop
    - ein Adapter mit 74HS125 im LPT- Steckergehäuse mit Spannungsversorgung aus der AVR- Schaltung
    Beide funktionieren aber bei mir nicht. DL7UNO schreibt, daß das am Laptop und / oder am XP liegen kann :)


    Andreas:
    Danke für den Tip mit den XP- Einstellungen, das werde ich mal probieren.
    Ich glaube, ich habe den gleichen Adapter mit 74xx (Knubbel) wie Du.


    73''- Frank, DL9VF

    Speaky, BCR, FP, DRK, ... 8)

  • Hallo Frank,
    Ich halte allerdings von den "passiven" Adaptern nicht viel da die modernen Schnittstellen häufig nicht die benötigte Leistung(Spannung oft nur 3.3V da CMOS) abgeben können.
    Du könntest aber z.B. einen Adapter für USB auf Seriell verwenden.


    72 Wolf, DL2WRJ

  • Hallo Wolf,
    kann man den Adapter, den Du verwendest, nachbauen ?
    (Oder: wo kann man ihn kaufen :) ? )



    73''- Frank, DL9VF

    Speaky, BCR, FP, DRK, ... 8)

  • Hi,
    hab nen Experimentierboard mit dem ATMega8 und einem SP12 kompatiblen Programmer von
    http://www.myAVR.de
    soweit ich mich erinnere klappte das unter XP mit avrDUDE ganz gut..
    Gruß

  • Hallo Frank,
    Selberbauen vom Programmer hab ich nie probiert. :)
    Ich hab den Programmieradapter und das USB-Seriell Interface vom Reichelt.
    Aber Segor sollte das auch führen.
    Bei Reichelt nach "AT AVR ISP" suchen.


    72 Wolf,DL2WRJ

  • Hallo Frank,
    vielleicht mal die verschiedenen Modi der par. Schnittstelle im Bios probieren


    72/73 de DC0DW , Addi

  • Hallo Frank,


    ich benutzte zuletzt die Entwicklungsumgebung "AVR-GCC" (C-Compiler für AVRs), wie auch DL7UNO sie in seiner FA-Artikelserie kurz anspricht.


    Um die parallele Schnittstelle damit korrekt anzusprechen, muss man unter XP den Treiber "giveio.sys" verwenden (erlaubt direkte Hardware-Zugriffe unter XP).


    Bei AVR-GCC sind ein paar batch-files dabei, mit denen man giveio komfortabel starten kann. "install_giveio" zum Starten, "remove_giveio" zum Beenden und "status_giveio" zum Überprüfen, ob der Treiber noch läuft.


    Evtl. hilft das?


    Vorher hatte ich Bascom (BASIC-Compiler) benutzt, damit ging es ohne speziellen Treiber sofort (auch unter XP).


    73, Per, DL1YPF

  • Hallo
    und danke an alle, die bisher geantwortet haben.


    Hier vielleicht nochmal meine "Ausstattung":
    Ich habe das ATmega- Board nachgebaut, daß im FA 6/2005 von DG7XO beschrieben wurde.
    Zum Programmieren wollte ich möglichst wenig Hardware- Aufwand treiben.
    Bisher habe ich deshalb zwei passive Adapter gebaut:
    den SP12- kompatiblen mit 7 Dioden und einen mit 74HS125, beide für die parallele Schnittstelle.
    Mein Rechner ist ein Laptop ohne serielle Schnittstelle und mit XP.
    Als Software nehme ich Bascom, das AVR- Buch von DL7UNO habe ich.


    1. Beim Versuch, ein Programm, das ich aus dem Buch abgetippt habe, zu compilieren, bekomme ich den Fehler "File not found". Ich weiß aber nicht, welches File fehlen sollte, das m8def.dat ist vorhanden.


    2. Mit beiden Adaptern bekomme ich mit TwinAVR keine Verbindung zum ATMega.


    Ich würde gern herausfinden, ob es wirklich nicht mit den passiven Adaptern funktioniert. Am Wochenende ist ja Zeit, einiges auszuprobieren-
    für Potsdam wurde regnerisches Wetter angesagt :-))


    73''- Frank, DL9VF

    Speaky, BCR, FP, DRK, ... 8)

  • Hi,
    Das Problem mit BASCOM hatte ich auch. Da gibt es einen Dialog in dem Dateitypen ausgewählt werden können die erzeugt werden. Nachdem ich da ein wenig "gespielt" hatte ging das dann problemlos. Leider kann ich dir jetzt nicht mehr sagen was es genau war weil ich BASCOM wieder runter geschmissen habe.
    Probier mal AVRDUDE mit dem SP12 funktioniert das bei mir, musst allerdings unter WinXP vorher das giveIO starten. Ich kann mir vorstellen das das bei dem TwinAVR auch so ist.


    Auf der seite von http://www.myAVR.de gibt es auch ein Forum in dem sich auch ein paar Threads mit dem Thema des "brennens" beschäftigen. Da das Board auch einen SP12 nutzt könnte dir das auch weiter helfen.


    Gruß und viel Spass beim basteln.

  • Hallo Frank,


    ist so "auf dem Trockenen" etwas schwierig zu beantworten, aber ich würde evtl. noch einmal folgendes überprüfen:


    1. Ist die Bascom-Version die aktuellste, die es gibt? Es gab da in der Vergangenheit einige Updates.


    2. Wenn Du magst, dann poste das komplette Programm-Listing doch mal hier auf der Liste! Dann kann ich es mir hier heraus kopieren und mal sehen, ob ich (oder andere) es hier mit meinem Bascom kompiliert bekomme! Dann werden wir vielleicht besser sehen!


    3. Falls Du den AVR aus der parallelen Schnittstelle mit Strom versorgst, dann probier doch mal, ob Du ihn stattdessen extern über ein Steckernetzteil mit Strom versorgen kannst. Evtl. klappt einfach die Stromversorgung nicht. Dann kannst Du ihn natürlich auch nicht programmieren.


    4. Falls Du ein Oszilloskop hast, solltest Du (bei eingeschalteter Versorgungsspannung) überprüfen, ob der Taktquarz am AVR schwingt. Wenn nicht, dann kannst Du ihn natürlich auch nicht programmieren!


    5. Ich wundere mich (möglicherweise aus Mangel an Erfahrung und Wissen), warum Dein SP12-Programmierer aus 7 Dioden besteht!? Ich habe den von DL7UNO gebaut (soll SP12-kompatibel sein), und der besteht aus 5 Dioden (für die Stromversorgung) und 3 Widerständen (zum Programmieren). Evtl. hast Du ein falsches Schaltbild für den Programmieradapter benutzt? Kann aber auch sein, dass ich da falsch liege.


    6. Nimm statt TwinAVR doch mal die in Bascom eingebaute Programmer-Software (MCS Universal Interface)!


    Schick doch einfach mal Dein Listing! 73, Per, DL1YPF


  • Frank,


    Werden irgendwelche filesaus älteren Experimenten included, die du nicht ins gleiche Verzeichnis kopiert hast??. Bei unserem DDS hat mich das am Anfang zur Verzweiflung gebracht.


    Du kannst dir von Niko zum testen unser Atmel Evaluation board aus dem Büro ausleihen, es liegt sowieso nur rum, da wir ja inzwischen mit dem großen Brenner brennen. Den USB / RS232 Konverter kannst du auch mitnehmen, ich brauch ihn wegen meiner Radtour erst am 26.7. wieder.


    Peter

    73/2 de Peter, DL2FI
    Proud member of Second Class Operators Club SOC and Flying Pig Zapper #OOO (Certificated Kit Destroyer)

  • Per, Du hast natürlich recht, der SP12-kompatible Brenner hat 5 Dioden, nicht 7 :)


    -Die Bascom-Version habe ich direkt von der Homepage des Herstellers heruntergeladen.
    -Mein Experimentierbord (nach FA 6/05) hat eine Spannungsversorgung.
    -Ich habe noch nicht mit dem Programmieren beginnen können:
    Mit TwinAVR und dem SP12- kompatiblen Brenner erkennt der PC den AVR nicht, und wenn ich ein simples Programm (nur $RegFile, $Crystal und zwei Befehle) direkt in den AVR brennen will, kommt der Fehler "File not found".
    Das einzige File, das m.M. nach gebraucht wird (m8def.dat) steht im gleichen Verzeichnis wie Bascom.


    Ich werde mir mal die Seite myavr.de genauer ansehen.
    Danke erstmal für Eure Hilfe.


    an Peter:
    Danke für das Angebot. Ich weiß noch nicht, ob ich es am Donnerstag nach Lichtenrade schaffe.


    vy 73'' aus Potsdam


    von Frank, DL9VF

    Speaky, BCR, FP, DRK, ... 8)

  • Hallo Frank,


    kurze Frage: Hast Du daran gedacht, das Programm zuerst zu kompilieren (Taste F7 in Bascom)? Erst danach kannst Du es in den AVR brennen (Taste F4). Ich meine ja nur ...


    73, Per, DL1YPF

  • Hallo Frank,
    auf:
    http://www.pater.name/LedOn.zip
    findest du ein Zip-File (wie du sicher siehst).


    Darin ist eine LedOn.asm sowie alle Dateien die von AVR-Studio erzeugt wurden.


    Ich habe die asm für einen ATmega8 assembliert das ergebnis ist die ledon.hex


    Weiterhin findest du den Installer von AVRDude in dem Zip.
    Nach Installation und start von giveIO (ist im AVRDude Verzeichnis) kannst du mit folgendem Befehl:


    C:\Dokumente und Einstellungen\Christoph\LedOn>c:\avrdude\bin\avrdude -p m8 -c s
    p12 -E noreset,vcc -U flash:w:ledon.hex


    (natürlich mit angepassten Pfaden)


    die ledon.hex auf deinen AVR laden.


    Das hat so mit meinem SP12 funktioniert und sah so aus:


    avrdude: AVR device initialized and ready to accept instructions


    Reading | ################################################## | 100% 0.00s


    avrdude: Device signature = 0x1e9307
    avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed


    To disable this feature, specify the -D option.
    avrdude: erasing chip
    avrdude: reading input file "ledon.hex"
    avrdude: input file ledon.hex auto detected as Intel Hex
    avrdude: writing flash (12 bytes):


    Writing | ################################################## | 100% 0.01s


    avrdude: 12 bytes of flash written
    avrdude: verifying flash memory against ledon.hex:
    avrdude: load data flash data from input file ledon.hex:
    avrdude: input file ledon.hex auto detected as Intel Hex
    avrdude: input file ledon.hex contains 12 bytes
    avrdude: reading on-chip flash data:


    Reading | ################################################## | 100% 0.01s


    avrdude: verifying ...
    avrdude: 12 bytes of flash verified


    avrdude done. Thank you.


    Viel Glück


    PS: das Programm macht nichts anderes als den Ausgang an PortB Pin0 auf 1 zu setzen. Wenn du über einen Wiederstand hier eine LED anschliesst sollte diese leuchten....

  • Hallo,
    ich bin richtig fasziniert, welche Resonanz meine Frage ausgelöst hat :-))
    Danke allen, die geantwortet haben.


    Inzwischen weiß ich, daß ich eigentlich zwei Probleme hatte:
    1. PC erkennt AVR nicht
    2. Fehler beim Compilieren in Bascom ('File not found')


    Das erste Problem hat sich nach Nachlöten des Programmieradapters und etwas Heißkleber erledigt: TwinAVR erkennt jetzt den ATmega8.


    Die Bedienung von Bascom werde ich mir jetzt näher ansehen.
    Im Moment bekomme ich beim Compilieren eines beliebigen Programmes
    erst den Balken "Checking Test0001.bas / Flash used ..."
    und bei Flash used 1% die Fehlermeldung "File not found"


    73''- Frank, DL9VF

    Speaky, BCR, FP, DRK, ... 8)

  • Hallo Frank,


    Dein Fehler liegt darin, dass Du nicht kompilierst, sondern lediglich den Syntax Check durchführst. Click mal auf den Button rechts daneben, den mit dem schrägen schwarzen Chip drauf! Du wirst Dich wundern, was dann alles funktioniert :)


    -- Thilo

  • Es ist geschafft- das Programmierboard funktioniert.


    Hier meine Zusammenfassung:


    Hard- und Software:
    Laptop mit Windows XP, Programmierboard für ATMega8 nach FA 6/2005, passiver SP12-kompatibler Programmieradapter für den LPT-Port,Bascom-AVR, TwinAVR


    Probleme:
    1. ATMega8 wurde von Twin-AVR nicht erkannt.
    2. Fehler "File not found" beim Compilieren von Programmen.


    Lösung:
    zu 1. Programmieradapter nachgelötet und mit Heißkleber festgelegt,
    metallisiertes Gehäuse durch Plastikgehäuse ersetzt.
    zu 2. scheint ein Fehler im Bascom zu sein.
    Der Fehler (und die Lösung dazu) wird hier im Forum von mcselec.com beschrieben (Die Lösung steht dort im zweiten Posting).


    73''- Frank, DL9VF


    Danke nochmal allen, die geantwortet haben !
    So macht das Hobby Spaß !

    Speaky, BCR, FP, DRK, ... 8)