-
-
Erfahrener Benutzer
Robotik Einstein
Der IR Transceiver überträgt ja nur das serielle Signal, also könnte es gehen.
-
Erfahrener Benutzer
Roboter Experte
Das Protokoll, die Checksummen berechnen und das Flashen.
Das sollte doch zu machen sein.
Zum Testen kann man das ja erst mal in C Programieren.
[schild=19 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Freiheit für den ASURO - Ein Bootloader für alle ![/schild]
Prostetnic Vogon Jeltz
2B | ~2B, That is the Question?
The Answer is
FF!
-
also, willst du selbst nen bootloader coden?
-
Erfahrener Benutzer
Robotik Einstein
Wenn man einen eigenen Bootloader baut, kann man das Flashtool von ASURO nimmer verwenden, denn da werden die CRC-codes irgendwie anders berechnet, und es weiss kein normalsterblicher Asuro-User wie.
Das sollte aber kein Problem sein, denn man kann es ja so machen wie man lustig ist, wenn man eeh schon einen eigenen Bootloader macht.
Man kann ja das Hex-file so übertragen wie es da auch steht, dann gibts nach jeder Zeile einen CRC-Code, ist u.U. etwas langsamer, dafür könnte man die Baudrate etwas erhöhen ?!
-
ich würde das schematishc so machen:
start ----repli (OK)----zeile 1 ---reply angekommen-----zeile2 --- reply angekommen---foo---fertig----reply ok, ende
-
Erfahrener Benutzer
Robotik Einstein
hab mir die Sache mit dem Bootloader mal angeguckt, am Beispiel von Megaload, bis auf das es nur unter Windose .NET läuft, und das man erst 30s den Startbildschirm anguggen muss, schauts erstmal garned so schlecht aus.
Der Megaload ist für den iccavr optimiert, welchen ich nicht verwende, muss also auch noch umgebaut werden, hab dazu aber schon einen Ansatz gefunden: http://www.mikrocontroller.net/forum/read-2-46637.html
also besser man sucht sich einen Bootloader den man auch unter Linux ansprechen kann, und gleich mit avrgcc zu compilieren geht.
Was man beim Asuro aber noch anpassen muss, ist das mit dem OC2, damit die IR-Diode mit 36kHz flackert, und die Daten auch wieder beim PC ankommen können, sollte aber nicht das grosse Problem sein.
Was noch zu bedenken ist, bei IR sollte man eine ähnliche Strategie der Datenübertragung haben wie das original-Flashtool, so mit timeout usw. denn man sieht ja wie gut das manchmal in der originalversion läuft
Also braucht man evtl. doch wieder ein extra Flash-tool, das Asuro optimiert ist ?
-
Erfahrener Benutzer
Fleißiges Mitglied
Schon mal daran gedacht, bei den Linux-Sourcen zum Flash-Tool zu spicken?
CU, Robin
-
Erfahrener Benutzer
Robotik Einstein
ja freilich, aber zum berechnen des CRC ist da eine Tabelle mit 256 16-Bit Werten, die mir zu schade ist in den M8 zu legen, um die übertragenen CRC zu checken, ich denke das muss im ASURO irgendwie errechnet werden, was das Flashtool schon hinterlegt hat.
Oder liegt die wirklich im Bootsektor ?
Dann kann das Programm des Bootloaders max 512 Bytes lang sein wird knapp wenn ich mir so andere Bootloader ansehe.
Aber man könnte da bestimmt etws ausmisten, und zB. keine automatische Baudratenerkennung einbauen.
Vom Platz her hat der Ausro doch auch noch ein Testprogramm mit drin, wo ist das denn dann ?
Naja, mal schaun, vielleicht hab ich Zeit/Lust und bau erstmal ein normales Testprogramm um die Übertragung incl. Berechnung zu testen.
-
Erfahrener Benutzer
Roboter Experte
Momentan verstehe ich auch (noch) nicht warum das mit der Tabelle gemacht wird.
Bei einer CRC16 Berechnung stelle ich mir so etwas vor:
http://www.eagleairaust.com.au/code/crc16.htm
http://de.wikipedia.org/wiki/Cyclic_Redundancy_Check
Vielleicht einfach mal nachrechnen, kann ja sein das dabei das gleiche heraus kommt ?
Da habe ich noch was gefunden:
Bild hier
http://www.4d.com/docs/CMU/CMU79909.HTM
Prostetnic Vogon Jeltz
2B | ~2B, That is the Question?
The Answer is
FF!
-
Erfahrener Benutzer
Roboter Genie
Die Tabelle dient nur zur Beschleunigung der CRC-Berechnung (Lookup Table). Genausogut könnte man die Tabelle zur Laufzeit berechnen und im RAM ablegen, oder die Funktion zur Berechnung aufrufen.
Die CRC-16 im Asuro Flasher ist jedenfalls keine CCITT CRC 16. Damit ist auch der Algorithmus zur Berechnung nicht bekannt.
Gruß Peter
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen