PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler bei Übertragung mit Bootloader...



mull
26.02.2008, 11:54
Habe alles genauso gemacht wie es in der Textdatei steht, die man im Rar File von Robotikkkhardware mit dabei hat.

1. Hex-File per ISP hochgeladen

Die LED leuchtet derweil im 4er Takt mit einer Pause, Suche habe ich auch schon benutzt, hat abe rnicht weitergeholfen...

2. Fusebits wie in der Bild Datei geändert
3. MCS Bootloader als Programmer ausgewählt
4. Programm übertragen gedrückt
5. Reset gedrückt

danach kam zurück...

Open COM
Sending Init byte
Loader returned : 123
Error : -6006
Finish code : -6006

ComPort 4 ist auch richtig, im Geräte Manager nachgeschaut und in Bascom ausgewählt. Übertragungsrate gleich.

Kann mir echt keiner helfen?

LG Michael

Diron
29.02.2008, 15:02
Ich schließe mich dem problem an... Hab es genauso wie oben beschrieben und stecke hier auch fest. Hast du das Problem schon behoben, mull?

mull
29.02.2008, 15:42
Ne, habe keine Ahnung was da schief gelaufen ist. Ich werds nach den anderen Problemen weiter versuchen.

Grüssle

Diron
29.02.2008, 16:36
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=33715&highlight=60

mit den vorgeschlagenen einstellungen (Boot size: 1024) hats dann mit der weiter unten vorgeschlagenen Baudrate von 38400 auch grade bei mir geklappt. *freu*

Probiers mal aus...

Diron
29.02.2008, 16:41
lol... aber nur einmal!

chr-mt
29.02.2008, 17:17
Wenn es nur einmal läuft, dann liegt es warscheinlich an der Fuse
"Boot Reset Vector Enabled"
Der Bootbereich ist ja ganz hinten im Flash.
Ist der Chip leer, startet das "Programm" an Adresse 0 und irgendwann mal wird die Stelle erreicht, wo sich der Bootloder befindet, und er startet.
Ist ein Programm draufgeladen, kommt der Programmzähler logischerweise nicht mehr dahin, da ja im Programm normalerweise nicht in's Nirvana gesprungen wird, sondern immer zurück.
(Es sei denn, man hat Müll programmiert :) )
Ist die erwähnte Fuse gesetzt, startet der Controller an der Startadresse des Bootloaders und nicht bei 0.

Den Rücksprung auf Adresse 0 macht der Bootloader dann von sich aus, wenn das Programm fertig geflasht wurde oder der Timeout kommt.

Gruß
Christopher

Diron
29.02.2008, 21:28
Danke Christopher, hattest recht mit der Fusebit.. aber das allein war nicht alles!

so, kurz der stand, der bei mir jetzt endlich funktioniert.

ISP-Kabel wieder dran... Programmer richtig einstellen, das hex-file für den bootloader nochmals rüberspielen (vorher clear buffer). Das dauert schon erheblich länger als en normales Programm (weil eben so groß) Vorher oder nachher die fusebits einstellen und die einstellung speichern.

Den Mega2560 reseten.

Dann die Programmereinstellungen wie im oben erwähnten thread für den MCS Bootloader machen >> Baudrate 38400 (!)<<, speichern und ein eventuell offenes terminalfenster schließen.

Die FUSEBITS des zu übertragenden Programmes entsprechend anpassen (z.b:"&B11011100") und compilieren.

auto program chip...das Fenster öffnet sich und die Meldung "Reset Chip" erscheint. Daraufhin den chip mit dem Button "Reset" reseten und schon sollte es gehen. Zumindest bei mir.
...

Bleibt zu klären ob viele (alle) die einen Mega2560 über usb programmieren wollen das Problem mit der Baurate des Programmers >38400 baud anstatt 9600 baud<<
haben.
Gibt es jemanden der ihn mit 9600 Baud programmiert?

mull
02.03.2008, 15:15
Okay, das Hochladen per usb funktioniert jetzt bei 38400 baud.
Muss wohl an der Geschwindigkeit liegen, darunter gehts nicht.

Aaaaaaaaaaaaaber jetzt öfnet sich immer dabei das Terminal Fenster, welches dann sagt.....Could not Open Com 4...... ?

Wieso ? Das nervt etwas....

Jemand eine Idee?

Diron
03.03.2008, 10:22
Options>Communication> den Haken bei "Keep Terminal emulator open" rausnehmen.

Options>Programmer> den Haken bei "set focus on terminal.." deaktivieren

Der serielle COM-Port über USB kann genauso wie jeder Com-Port nur einmalig "reserviert" werden.
Ich habe momentan das Problem, das ich über USB flashen will, er aber nach dem Chip reset den COM-Port im Windows nicht wieder aktiviert... und somit der Programmer den Chip nicht anspricht zum flashen.
Könnts am USB-Treiber liegen? Kann ich den Mega2560 auch anders reseten, als über die Stromzufuhr?

mull
05.03.2008, 16:25
Den Haken hatte ich glatt übersehen. Habe auch mal verschiedene Übertragungsgeschwindigkeiten getestet, aber bei mir gehts nur mit 38400. Zum Glück ja einigermassen schnell.