-- ist deine Hardware richtig aufgebaut? (ISP, Spannung, Widerstände)
-- passt die Hardare zu den Optionen von avrdude? (Progger, µC)
-- wird der richtige Port verwendet?
-- ist der Port auf bidirektional? (BIOS-Setup)
Druckbare Version
-- ist deine Hardware richtig aufgebaut? (ISP, Spannung, Widerstände)
-- passt die Hardare zu den Optionen von avrdude? (Progger, µC)
-- wird der richtige Port verwendet?
-- ist der Port auf bidirektional? (BIOS-Setup)
Hallo,
was ist das für ein Programmer "dapa" ?
War der bei avrdude von Suse dabei, oder hast Du den selber konfiguriert?
schaumal in /etc/avrdude.conf
wie der definiert ist, und ob die Pinbezeichnung in der conf wirklich auch stimmt.
Den Parameter -F kannst Du vergessen, wenn es ohne nicht geht, dann stimmt da was nicht.
Gruß Sebastian
Mein avrdude.conf befindet sich in /usr/local/etc/, ist leider zu groß um es zu posten (Begrenzung auf 20000 zeichen)
Ich check da garnix in der Datei. Meine Hardware ist das RNB-FRA 1.1 mit Atmega32. Unter Windows hat es einwandfrei funktioniert, jedenfalls mit Bascom. Als Programmer musste man da glaub ich STK500 oder sowas ähnliches angeben. Das Verbindungskabel ist auch von robotichardware.de gekauft. Kann also nix falsch sein an der Hardware.
avrdude konfiguriert??? wtf? Ich habs einfach installiert so wie ich das package bekommen hab und Ende. Hab da nix verstellt in den conf-Files.
stk500 ??
stk500 hat einen programmer, der an der seriellen Schnittstelle hängt, und ich meine Du hat einen, der am Parallelport hängt, oder hab ich mich da verlesen? 8-[
Wenn Du also am Parport hängst, ist die config sehr einfach, Beispiel:
Das ist ein ausschnitt aus meiner avrdude.conf, die definition habe ich mir selber erstellt, was sagt sie aus ?Code:#
# PROGRAMMER DEFINITIONS
#
programmer
id = "einfach";
type = par;
reset = 16;
sck = 1;
mosi = 2;
miso = 11;
;
id - bezeichnung, das ist der parameter der später an -c übergeben wird
type -> par naja, Parallelport
und danach die Pins an den die signale hängen, also bei mir z.B am Pin 16 hängt reset, am 1 sck usw.
Such mal in deiner avrdude.conf nach der sektion
#
# PROGRAMMER DEFINITIONS
#
und schau welche id mit deiner Verdrahtung übereinstimmt, wenn es keine gibt, erstelle sie selber nach dem Muster von mir.
angesprochen wird das ganz einfach so:
Code:avrdude -patmega32 -ceinfach.
Naja, Suse schmeißt immer alles durcheinander.Zitat:
Mein avrdude.conf befindet sich in /usr/local/etc/
Gruß Sebastian
Also ich bin jetzt schon mal so weit, dass er auf den Befehl
hin das hier ausgibt:Code:avrdude -p atmega32 -c stk200 avrm8ledtest.hex
Was muss ich jetzt machen, dass er das .hex-File rüberschmeißt ???Code:avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9502
avrdude: safemode: Fuses OK
avrdude done. Thank you.
mfg
jagdfalke
schön, also ein Par programmer mit stk200 Verdrahtung.
Schonmal was von manpages bei Linux gehört ?Zitat:
Was muss ich jetzt machen, dass er das .hex-File rüberschmeißt ???
ein -h Parameter bewirkt auch wunder...
also bevor Du weiter fragst tipe in die Konsole
oder auchmalCode:man avrdude
ein Tip, das kannst Du sogar bei fast allen Tools, oder Konsolenbefehlen machen :-bCode:avrdude -h
Aber, damit das mal schneller geht hier was für den Anfang:
Schreibt eine *.hex Datei in den FlashCode:avrdude -patmega32 -cstk200 -U flash:w:deinprogrammalshexdatei.hex
Schreibt was in den eepromCode:avrdude -patmega32 -cstk200 -U eeprom:w:deineeprominhalt.eep
fusebits werden mit fusel oder fuseh oder nur fuse, oder garnicht, je nach AVR angesprochen.
Was gibt es noch? naja anstatt *:w:* kann man noch *:r:* bzw *:v:* eintippen, der Parameter -t ist auch ganz gut...
Man kann den quatsch natürlich auch komplett in Makefile übernehmen, oder in einen kleinen script, um sich das viele rumgetippe zu sparen.
Ich hoffe, daß ich helfen konnte
Gruß Sebastian
Danke für die Hilfe, eine Frage beleibt jetzt noch: Was ist der Unterschied zwischen Eeprom und Flash?
Prinzipell vom Aufbau her oder aus Anwendersicht beim AVR?Zitat:
Zitat von jagdfalke
klappt es jetzt?
Ich hoffe doch.
wie soll ich jetzt Deine Frage beantworten :-k
also im flash wird Dein Programm abgelegt, naja auch irgendwelche Daten,Texte usw.
Das Problem ist, man kann zu Laufzeit nicht reinschreiben, es wird nur einmal beschrieben und zwar beim Programmieren. Zu Laufzeit ist Flash Readonly.
Willst Du z.B. irgendwelche Meßdaten, irgendwelche Werte zu Laufzeit dauerhaft speichern, verändern, kannst Du das nur im EEprom machen.
Ich habe z.B. bei meinem Akkuloader alle Akkudaten im EEprom gespeichert.
So kann ich nach jeder Ladung den Wert für Anzahl der Ladungen um 1 erhöhen, somit weiß ich immer, wie oft ich mein Akku geladen habe.
soviel dazu, vielleicht gibt es hier noch jemanden, der mehr dazu sagen kann, bzw. meine Aussage kippt.
Gruß Sebastian
Achso, das Flash ist praktisch wie ein RAM im PC. Das Programm ist im RAM und läuft, Das Eeprom ist mehr wie die Festplatte. Ich weiß, an manchen Stellen hinkt der Vergleich aber ich denke ich habs kapiert.
Ich denke mal, dass es jetzt klappt. Der Output zeigt, dass er ließt und löscht und schreibt und ließt und vergleicht, oder so ähnlich.
Ich kann leider nicht herausfinden ob das Programm wirklich ausgeführt wird, da ich noch keinerlei skills in der Programmierung in C habe. (Ich hatte genauso wenig Ahnung in Bascom :D) Ich muss wohl erstmal ganz von vorne anfangen.
Wenn jemand noch nen Tip hat, wo ich anfangen soll, immer raus damt !
mfg
jagdfalke