PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Megaload, normales Programm startet nicht



Timebeast
30.10.2007, 15:44
Hallo Leute,
ich habe gerade mal den Magaload Bootloader ausprobiert, funktioniert soweit recht gut. RS232 dran, Spannung an, Megaload erkennt den Prozessor (Mega8) und flashed ihn. Das Programm welches ich in den Flach geschrieben habe, wird auch einwandfrei vom Prozessor ausgeführt.

Tja und nun zu meinem Problem, wenn ich nun den Prozessor, ohne ihn zu flashen, laufen lassen will, fährt er das Programm nicht ab. Mir ist klar das der Bootloader recht langsam ist, da er erst alle möglichen Bautraten durchprobieren muß,... aber nach 10Min geht die Test Led immer noch nicht an, was sie nach erfolgreichem flashen aus dem Megaload Programm anstandslos und sofort tut.

Hatte jemand vielleicht schonmal ein ähnliches Problem?
Muß man vielleicht, wenn man diese "Technik" nutzt dem Programmcode an den Anfang die Einsprung Adresse geben?

An den Fusebits kann es meines Erachtens nicht liegen, es funktioniert ja.
Im Bootloader habe ich "nur" die include Dateien für den Mega 8 gesetzt, die CPU_Frequenz angepasst (XTAL=8000000, Prozessor läuft auf internen 8Mhz Takt, ich weiß, eigendlich zu ungenau, aber es geht) und die Baudrate angepasst (9600). Ansonsten habe ich nichts geändert...

Wäre toll wenn mir jemand auf die Sprünge oder einfach nur helfen könnte ;-)

Gruß
Ralf

Timebeast
31.10.2007, 03:20
Tjajaja,... hab heute bzw. gestern mal ne E-Mail an den "Hersteller" von Megaload geschrieben. Sieht wohl so aus als wäre es gar nicht meine Schuld, sondern ein Bug in der Software.
Nach eigenen "fix" Versuchen liegt der Fehler darin, das der Prozessor auf ein Zeichen wartet, und die Timeout Routine nicht greift (falls es eine solche überhaupt gibt, gefunden habe ich sie noch nicht).
Nettes Workaround, man schickt dem Prozessor einfach ein Zeichen über RS232, wenn es nicht ">" ist, fängt er mit dem aufgeflashten Code an.

Hab meine Erkenntnisse soweit auch via E-Mail weitergeleitet, mal sehen was der Fachman dazu sagt.

Gruß
Ralf

Hennes85
06.12.2007, 10:31
Hallo,

ich hab genau das gleiche Problem(Mega644): Direkt nach dem Flashen startet das Programm, wenn man danach einen reset auslöst startet das Programm nicht mehr...

Wenn du eine Antwort hast, bzw. du es bei Dir läuft, würde mich das brennend interessieren.

Gruß
Johannes

Hennes85
06.12.2007, 10:50
Ach ja, fertige Hex- Files für einige Controller gibts hier:
https://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=173
Bei mir funktionieren die einwandfrei...

Timebeast
06.12.2007, 18:24
Hallo Hannes,
ich bin etwas verwirrt, zuerst schreibst Du das Du das selbe Problem hast, dann jedoch das es einwandfrei funktioniert...
Also Problem gelöst, oder wie?

Egal, was bei mir darmals draus geworden ist, ich habe mir mit dem Programmierer von Megaload mehrere male geschrieben, und wir haben gemeinsam den Fehler behoben.
Sollte der Fehler nun doch noch auftreten, benutzt Du sehr wahrscheinlich eine alte Version. Also einfach auf: http://www.microsyl.com/ gehen und die neueste Version benutzen.

Gruß
Ralf

Hennes85
06.12.2007, 18:58
oh, sorry, ich sehe selbst, dass es etwas verwirrend ist, wenn man es nochmal durchließt. Also:

Die fertigen Hex- Files, die es hier auf der Homepage(siehe link weiter oben) gibt, habe ich in einem M32 und einem M128 eingesetzt. Das sind ältere Versionen mit AutoBaudRate, die aber auf den eingesetzen MCU's einwandfrei funktionieren.

Ein fertiger Hex-File für einen M644 ist aber in der o.g. Sammlung nicht dabei. Also habe ich ICCV7 runtergeladen und den Bootloader von der Homepage(microsyl.com) selbst für einen M644 compiliert. Und genau DABEI ist der Fehler aufgetreten, dass das Programm nach einem Reset nicht gestartet wurde.
Daraufhin hab ich hier gepostet.

Heute hab ich die Files dann nochmal von Microsyl.com runtergeladen und nochmal compiliert und siehe da - es ging!

Also: Problem heute gelöst! :-)

Gruß

Johannes