Für die Parallele Schnittstelle kenne ich sonst nur PonyProg. Das AVR-Studio unterstützt diese Programmer nicht. Ich bin aus diesem Grund auf USB_AVR-ISP umgestiegen.
Hallo!
Ich bin auf der Suche nach einem Programm, mit dem man in der Programmiersprche C einen AtMega32 direkt über die parallele Schnittstelle mit dem STK200/STK300 Dongle (ISP-Programmierkabel (ISP Dongle) von Robotikhardware) programmieren kann, so wie Bascom.
Ich habe es bereits mit AVR-Studio versucht, dort bekomme ich aber keine Verindung.
Da ich nur einen Com-Anschluss habe, und diesen für RS232 benütze, sollte man den Comtroller über die parallele Schnittstelle programmieren können.
Welches Programm benützt ihr?
Es sollte eine IDE haben.
Danke
Für die Parallele Schnittstelle kenne ich sonst nur PonyProg. Das AVR-Studio unterstützt diese Programmer nicht. Ich bin aus diesem Grund auf USB_AVR-ISP umgestiegen.
Danke für die antwort!
Ich werde es jetzt mal mit PonyProg versuchen!
Kennt jemand vllt. noch ein anderes Programm, mit dem man den Code direkt vom Editor in den Microcontroller über die parallele Schnittstelle übertragen kann?
Ich habe bereits den Programmer für den parallel-Port gekauft und möchte deshalb nich noch einen USB-Programmer kaufen!
Programmers NotepadKennt jemand vllt. noch ein anderes Programm, mit dem man den Code direkt vom Editor in den Microcontroller über die parallele Schnittstelle übertragen kann?
Gruß Sebastian
Linus TorvaldSoftware is like s e x: its better when its free.
Der erste Eindruck ist wirklich gut!Zitat von izaseba
Nur wie man die Programme compiliert und dann überträgt bin ich noch nicht ganz mitgekommen!
Ich habe WinAVR installiert. Dort wird automatisch Programmers Notepad und avrdude mitinstalliert. Also alles was ich brauche!
Die Einstellungen bei Tools für Programmers Notepad für WinAVR waren bereits eingestellt (hier nochmals die Beschreibung: PDF) Aber wie kann ich jetzt den Code compilieren und dann übertragen? Hat jemand zufällig eine Beschreibung parat?
Ja also das ist garnicht so schwer.
Programmers Notepad arbeitet mit Makefile und das will erst erstellt werden.
Dazu liefert Dir das winavr Paket ein Programm mit dem Namen Mfile, zu finden in Start/winavr******/
So nachdem Du Dein C Programm geschrieben hast, rufst Du MFile auf.
Darin kannst Du im Menu oben Makefile drücken und Einstellungen zu Deinem
µC machen ( unter MCU Type)
unter C/C++ Sources wählst Du Dein C Programm(das Du hoffentlich irgendwo gespeichert hast) Wenn Dein Programm aus mehreren *c Dateien
besteht mußt Du natürlich alle auswählen.
Unter avrdude wählst Du Deinen Programmer und Port.
Dann Speicherst Du Das Makefile in den gleichen Ordner, wo Dein *c Programm liegt.
Jetzt kann MFile gechlossen werden.
Im PN kannst Du in der Projektansicht rechtsklicken und Dein Makefile mit in den Projekt aufnehmen.
Es ist zwar nicht nötig, aber so erscheint das Makefile in der Projektansicht
und läßt sich von da aus bequem öffnen um eben kurz was zu ändern z.B. eine neue *.c Datei eintragen.
Kompilieren kannst Du mit Tools/Make all
Brennen mit Tools/Make program
Einfach ?
Wenn nicht mußt Du nochmal nachfragen
Gruß Sebastian
Linus TorvaldSoftware is like s e x: its better when its free.
Danke! Super Antwort!
Und auch einfach!!!!!
Thanks
Sollte es dennoch Probleme geben, melde ich mich!
Ich habe jetzt doch ein Problem:
Beim Programmieren:
Wahrscheinlich ist eine Eistellung für den Programmer falsch!> "make.exe" program
Creating load file for EEPROM: main.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 --no-change-warnings -O ihex main.elf main.eep || exit 0
c:\Program Files\WinAVR-20070525\bin\avr-objcopy.exe: there are no sections to be copied!
avrdude -p atmega32 -P lpt1 -c stk200 -U flash:w:main.hex
avrdude: can't open device "giveio"
avrdude: failed to open parallel port "lpt1"
make.exe: *** [program] Error 1
> Process Exit Code: 2
> Time Taken: 00:02
In MFile habe ich es mit stk200 und pony-stk200 versucht, immer die selbe Fehlermeldung.
Ich habe den ISP-Dongle von robotikhardware.de (hier)
Kann es damit zusammenhängen, dass ich den LPT-port über eine PCI Karte bereitstelle, denn bei Bascom musste ich auch die Adresse vom E/A-Bereich ändern?
Zusätzlich habe ich noch folgende Frage:
Bei MFile wird für F_CPU autom. 8000000 eingestellt. Ich habe aber 16Mhz. Sollte man den Wert in der Makefile ändern oder sonst irgendwo?
Danke
Wenn man
bei Google eingibt und den ersten Treffer nimmt, wird man aufavrdude: can't open device "giveio"
C:\winavr***\doc\avrdude\avrdude.pdf aufmerksam, darin befindet sich ein Kapitel mit dem Namen "Using the parallel Port" da steht was von install_giveio.bat was in c:\avr***\bin zu finden ist
Versuch es mal damit
Zu dem Quarz, ja das sollst Du im Makefile ändern (deswegen ist es gut, wenn man im Projektordner Makefile hat)
Da drückst Du drauf und kannst die Datei bearbeiten.
Interessant ist hier dieser Teil
# steht für Komentar, wird also ignoriert, jetz nur noch # an einer Stelle wegmachen und woanders einfügen, fertig.Code:# Processor frequency. # This will define a symbol, F_CPU, in all source code files equal to the # processor frequency. You can then use this symbol in your source code to # calculate timings. Do NOT tack on a 'UL' at the end, this will be done # automatically to create a 32-bit value in your source code. # Typical values are: # F_CPU = 1000000 # F_CPU = 1843200 # F_CPU = 2000000 # F_CPU = 3686400 # F_CPU = 4000000 # F_CPU = 7372800 # F_CPU = 8000000 # F_CPU = 11059200 # F_CPU = 14745600 # F_CPU = 16000000 # F_CPU = 18432000 # F_CPU = 20000000 F_CPU = 8000000
Viel Spaß mit Deinem Projekt
Gruß Sebastian
Linus TorvaldSoftware is like s e x: its better when its free.
Danke!
Die .bat Datei habe ich jetzt erfolgreich ausgeführt. Aber in der oben genannten .pdf steht folgendes:
Mein Problem ist jetzt, dass der LPT1 Port eine andere Adresse besitzt, da dieser über eine PCI Karte bereitgestellt wird, da ich keinen LPT onboard habe!AVRDUDE will only accept 3 Windows parallel port names: lpt1, lpt2, or lpt3. Each of
these names corresponds to a fixed parallel port base address:
lpt1 0x378
lpt2 0x278
lpt3 0x3BC
Die aktuelle Adresse für LPT1 ist folgende (E/A-Bereich im Gerätemanager)
0xCCA8
Der gesamte E/A Bereich:
CCA8-CCAF
CCB0-CCB7
Wie kann ich jetzt Avrdude sagen, dass diese Adresse verwendet werden soll?
Achja:
Ich habe folgende PCI Karte:
Moschip MCS9805
Lesezeichen