mikrocontroller

Die Mechanik/Elektronik des c't-Bot

Moderator: Moderatoren Team

Beitragvon eax » 15. Jan 2007, 14:53

Naja, die Änderungen halten sich in Grenzen, im aktuellen Code aus dem CVS ist die Anpassung bereits drin. ;-)
Man braucht nur noch eine gcc-Version, die den Atmega644 unterstützt.

Viele Grüße,
Timo
eax
Friends of Robby
Friends of Robby
 
Beiträge: 747
Registriert: 18. Jan 2006, 17:16
Wohnort: Karlsruhe

Beitragvon QuisaZaderak » 15. Jan 2007, 21:16

Was habt ihr mit dem Takt gemacht. Der ATMega32 schafft ja nur 16MHz, der 644 schafft 20MHz. Hat sich jemand schon an den Quarzaustausch gemacht?

Die FUSE Bits sind ja auch geändert worden. Welche Werte verwendet ihr? Welches BODLEVEL?

@Timo: Habs im aktuellen CVS nicht gesehen. Muss ich irgendeinen FLAG setzen? Welche gcc Version unterstüzt den ATMega644?

@Marvin: Danke für den Link. Hast du evtl. ne Liste mit den Anpassungen? Auf welche CVS Version beziehst du dich?

@hettrich: Den ATMega128 gibts aber nicht mer im DIP Gehäuse und in den originalen Bausatz vom Ct-Bot lässt sich meines Wissens als größtes Modell nur der 644er einbauen.
"Stimmt es, daß die Arbeit am Computer dumm macht?" - "Sie haben nichts zu befürchten. Computer können einen wahnsinnig machen, aber nicht dumm."
QuisaZaderak
Friends of Gort
Friends of Gort
 
Beiträge: 88
Registriert: 24. Jan 2006, 19:24
Wohnort: Kröblitz

Beitragvon eax » 15. Jan 2007, 22:51

Hi,
wenn du 20 MHz Takt nimmst, musst du wahrscheinlich noch was am Code ändern.
CVS-Version von heute, kein Flag. ;-)
Ich habe gcc 4.1.1 mit diesem new-devices-patch.

Viele Grüße,
Timo
eax
Friends of Robby
Friends of Robby
 
Beiträge: 747
Registriert: 18. Jan 2006, 17:16
Wohnort: Karlsruhe

Beitragvon marvin » 16. Jan 2007, 00:28

Hi,

habe gerade mal die aktuellen CVS Sources für den mega644 übersetzt. Auf den ct-Bot geflasht, funktioniert soweit ohne Probleme (mit WinAVR 20060421).

Respekt! Gute Arbeit. :)

Gruß marvin
marvin
Wiki Master
Wiki Master
 
Beiträge: 432
Registriert: 18. Jan 2006, 17:21
Wohnort: Berlin

Beitragvon eax » 16. Jan 2007, 01:03

Danke, danke! Schön, dass es bei dir und mit WinAVR auch funktioniert :-)
Gruß Timo
eax
Friends of Robby
Friends of Robby
 
Beiträge: 747
Registriert: 18. Jan 2006, 17:16
Wohnort: Karlsruhe

Beitragvon QuisaZaderak » 16. Jan 2007, 19:38

@eax:
Ich habe gcc 4.1.1 mit diesem new-devices-patch.

d.h. du hast Linux oder?


@marvin:
Hast du die Installation wie auf heise beschrieben durchgeführt oder hast du irgendwelche Programme aktualisiert?
"Stimmt es, daß die Arbeit am Computer dumm macht?" - "Sie haben nichts zu befürchten. Computer können einen wahnsinnig machen, aber nicht dumm."
QuisaZaderak
Friends of Gort
Friends of Gort
 
Beiträge: 88
Registriert: 24. Jan 2006, 19:24
Wohnort: Kröblitz

Beitragvon eax » 16. Jan 2007, 20:11

Nein, nicht unter Linux sondern unter OS X ;-)
eax
Friends of Robby
Friends of Robby
 
Beiträge: 747
Registriert: 18. Jan 2006, 17:16
Wohnort: Karlsruhe

Beitragvon marvin » 16. Jan 2007, 22:55

Hi,

@QuisaZaderak Alle Tools sind wie unter Heise beschrieben installiert. Unter Eclipse mußte ich nur unter
"Project/Properties/C C++ Build/Debug-MCU-W32" das Target für den Compiler und Linker auf mega644 ändern.

Zum Flashen verwende ich den mySmartUSB mit aktueller Firmware (V1.5). In den Flasher Batch Files mußte man ebenso das Target von m32 auf m644 ändern.
Das wars. Die Fusebits sind die selben wie beim mega32.

Gruß marvin
marvin
Wiki Master
Wiki Master
 
Beiträge: 432
Registriert: 18. Jan 2006, 17:21
Wohnort: Berlin

Beitragvon Frutiger » 23. Jan 2007, 23:06

Hi marvin,
ich habe mir am Wochenende einen c't Bot zusammengelötet. Das
heißt, die Hauptplatine ist fertig und ein mega644 steckt drin. Es
sind noch keine Sensoren angeschlossen.
Nun wollte ich die Fuse Bits setzen, aber wie bzw. womit? Selbst PonyP
kennt den 644 nicht. Bevor ich widerwillig den mega32 reindrücke,
meine Frage: Wie hast Du das hinbekommen?

Den mySmartUSB nutze ich auch.
Frutiger
Friends of Marvin
Friends of Marvin
 
Beiträge: 4
Registriert: 20. Jan 2007, 00:14

Beitragvon marvin » 23. Jan 2007, 23:16

Hi Frutiger,

Ponyprog kennt den mega644 leider nicht. Aber avrdude der aktuellen WinAVR Version kennt den mega644.

Zum Flashen benutze ich folgenden Befehl:

[pre]avrdude -p m644 -c avr910 -P com5 -U flash:w:ct-Bot.hex:i[/pre]

Zum Setzen der Fusebits:

[pre]avrdude -p m644 -c avr910 -P com5 -u -U lfuse:w:lfuse.hex:i -U hfuse:w:hfuse.hex:i -U lock:w:lock.hex:i [/pre]

Den COM Port muß man natürlich anpassen.

Gruß marvin
marvin
Wiki Master
Wiki Master
 
Beiträge: 432
Registriert: 18. Jan 2006, 17:21
Wohnort: Berlin

Beitragvon eax » 23. Jan 2007, 23:49

Hi,

bitte beachten: http://www.heise.de/ct/foren/go.shtml?read=1&msg_id=12042012&forum_id=89813

Außerdem hat der ATmega644 auch noch Extended Fuse Bits (efuse genannt bei avrdude).

Gruß Timo
eax
Friends of Robby
Friends of Robby
 
Beiträge: 747
Registriert: 18. Jan 2006, 17:16
Wohnort: Karlsruhe

Beitragvon Frutiger » 24. Jan 2007, 01:12

@eax: Klasse Tipp! Eben, mit dem neuesten avrdude hatte ich gefummelt.
Ich benutze dann mal die Version von myAVR (V5.1?) und schwupp, der
644 wurde ausgelesen.

@marvin: leider kenne ich mich mit dem Format der .hex Files noch nicht aus.
Ich meine, das für
lfuse=0xFF
hfuse=0xD9
Ext'd=0xFF
richtig gewählt sind (ein FuseBit Rechner sagt das).
Gibt es beim Basteln der .hex Files Besonderes zu beachten?
Frutiger
Friends of Marvin
Friends of Marvin
 
Beiträge: 4
Registriert: 20. Jan 2007, 00:14

Beitragvon eax » 24. Jan 2007, 01:23

und noch ein Tipp: ;-)

Im CVS gibt es diese hex-Files im Verzeichnis contrib/flash_n_fuse (bzw. contrib/Bootloader falls man den Bootloader benutzen will).

Die von dir genanneten Werte sind aber korrekt. :-)

Gruß Timo
eax
Friends of Robby
Friends of Robby
 
Beiträge: 747
Registriert: 18. Jan 2006, 17:16
Wohnort: Karlsruhe

Beitragvon marvin » 24. Jan 2007, 12:24

Hi,

@eax danke für den Hinweis mit den efuse. Zum Glück funktioniert es auch ohne, da alle Fusebits unprogrammiert bleiben.

@frutiger Man kann die Fusebits Werte auch direkt als Parameter angeben, ohne Hex Files.

Zum Setzen der Fusebits:

[pre]avrdude -p m644 -c avr910 -P com5 -u -U lfuse:w:0xff:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m[/pre]

Gruß marvin
marvin
Wiki Master
Wiki Master
 
Beiträge: 432
Registriert: 18. Jan 2006, 17:21
Wohnort: Berlin

Beitragvon eax » 24. Jan 2007, 14:12

@marvin: Nur eine kurze Frage: Warum der Parameter -u? Umgeht man damit irgendwelche Probleme?

Gruß Timo
eax
Friends of Robby
Friends of Robby
 
Beiträge: 747
Registriert: 18. Jan 2006, 17:16
Wohnort: Karlsruhe

VorherigeNächste

Zurück zu Mechanik/Elektronik

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron