PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "Asuro Flash Tool" V1.53 zeigt Page-Error am Ende



tuberkel
29.08.2010, 13:08
Hallo zusammen,

ich habe schon nach vergleichbaren Threads gesucht, aber keinen passenden zu meinem Problem gefunden:

Problem:

Das "Asuro Flash Tool V1.53" reagiert seltsam! In den allermeisten Fällen läuft es super. Aber unter ganz bestimmten Bedingungen, die nur vom Inhalt(!) des erstellten HEX-Files abhängen, bekomme ich bei nur ganz bestimmten Pages erhebliche Probleme (ChecksumError, Timeout).

Details:

Was geht: Sowohl RS232- als auch USB-Infrarot-Adapter laufen ganz hervorragend bei mir. Testprogramme aus der Asuro-Lib und von Henk lassen sich super flott flashen. Auch das extrem große 'sensoren.hex' Programm zum Kalibrieren der 'myasuro.h'-Werte lässt sich IMMER völlig ohne Retries oder Timeouts flashen. Deshalb gehe ich mal davon aus, dass sowohl der Infrarot-Adapter als auch das ATmega8-interne Flash in Ordnung sind.

ABER: Wenn ich eigene Testprogramme erstelle (z.B. auf Basis von Lib-Demos), erscheinen nur selten - dann aber sehr gut reproduzierbar - Flash-Fehler, und zwar bevorzugt bei den letzten benötigten Pages. Wenn ich dann einige Codezeilen entferne ODER hinzufüge, verschwindet das Problem wieder - uns zwar sicher repoduzierbar! ???

Das FlashTool arbeitet mit dieser 'AsuroFl.ini':
10 #Timeout Connect
5 #Timeout Flash ('t')
10 #MaxTry for flashing
Das Problem tritt übrigens sowohl bei voll geladene 900 mAh Akkus als auch bei nagelneuen 1,5V AAA Batterien auf. Die alte Version "Asuro Flash Tool V1.51" hat übrigens unter gleichen Bedingungen noch mehr Probleme.

Wie kann das nur sein? Ich habe keine Vorstellung davon, wie der Inhalt des HEX-Files Einfluss haben kann auf den Erfolg beim Übertragen/Flashen des Programms.

Fragen:

- Hat jemand ähnliche Erfahrungen?
- Hat jemand eine Idee, was die Ursache sein könnte?
- Wie könnte man das beheben?

Vielen Dank für eure Hilfe!
Ralf

radbruch
29.08.2010, 22:31
Hallo

Beim meinem mit 850MHz getakteten Notebook mit 256MB Ram unter W2K beginnen die Übertragungsfehler immer, wenn in der Statusanzeige des Flashtools das Anzeigefenster zum ersten Mal hochgescrollt wird. Das ist reproduzierbar, tritt aber nur auf, wenn ich zuviele Programme gleichzeitig geöffnet habe. Wenn du ein vergleichbares PC-System verwendest, könnte das die Ursache für dein Problem sein.

Gruß

mic

tuberkel
30.08.2010, 08:12
Hallo Mic,

vielen Dank für deine Infos. Aber mit dem Scrollen scheint es nicht zusammenzuhängen. Auch große HEX-Files laufen mit allen Pages gut durch. Und der Fehler tritt oft erst bei sehr hohen Pagenummer auf.

Was mir aber aufgefallen ist: Wenn er scheitert, dann immer 1..3 Pages VOR dem Ende des HEX-Files. Kann es sein, dass da doch noch ein Bug im Tool ist?

Eine mögliche Ursache ist mir eingefallen: Angenommen, im Flash sind einzelne Bits defekt und würden z.B. permanent '0' enthalten. Dann würde ein Programm, das an genau dieser - geflashten - Stelle ebenfalls zufälligerweise ein '0' enthält, keinen CRC-Error entdecken. Sehe ich das richtig?

Das würde auch erklären, warum schon kleinste Codeänderungen manchmal den Fehler verschwinden/auftreten lassen.

In dem Zusammenhang eine Frage:
Angenommen, der Fehler triit bevorzugt in Page 31 und Page 85 auf: Gibt es eine Möglichkeit, dem Linker zu sagen, dass er genau diesen Bereich NICHT nutzen (reservieren?) soll?

Bye, Ralf

tuberkel
30.08.2010, 16:02
Angenommen, der Fehler tritt bevorzugt in Page 31 und Page 85 auf: Gibt es eine Möglichkeit, dem Linker zu sagen, dass er genau diesen Bereich NICHT nutzen (reservieren?) soll?
Hmm, Infos zu diesem Thema sind (zumindest für nicht gcc-Spezies wie mich) nicht so leicht zu finden. Für die, die wie ich WinAVR und AVRStudio benutzen, hilft evtl. dieser Link:
"Feste Speicheradressen mit WinAVR und AVRStudio" http://www.mikrocontroller.net/topic/24102

Sieht etwas aufwändig aus, diese Art der manuellen Kontrolle über Sections, in denen der Code (also .text) liegen soll. Leider erklärt es nicht, wie man "Lücken" (also reservierte Bereiche) definiert.

tuberkel
30.08.2010, 17:14
Habe da mal eine Bitte, um auszuschließen, das es am "Flash Tool" liegt:

Kann mal jemand bitte das u.a. HEX-File auf seinen Asuro-Flashen? Es ist harmlos, kein Motor startet, nur Tasten/Sensoren und die Status-LED aktiviert, die Serielle Schnittstelle gibt was aus.

Wenn es bei euch erfolgreich geflashed wurde, kann es nicht mehr am Tool liegen, dann ist wahrscheinlich der interne Flash in meinem Asuro defekt.

Danke!
Ralf

radbruch
30.08.2010, 17:58
Hallo

Zwei Versuche mit Flashtool V1.53

1. Versuch:



Open COM8 --> OK !
Building RAM --> OK!
Connecting to ASURO --> OK!
Sending Page 001 of 087 --> flashed!
Sending Page 002 of 087 --> flashed!
Sending Page 003 of 087 --> flashed!
Sending Page 004 of 087 --> flashed!
Sending Page 005 of 087 --> flashed!
Sending Page 006 of 087 --> flashed!
Sending Page 007 of 087 --> flashed!
Sending Page 008 of 087 --> flashed!
Sending Page 009 of 087 --> flashed!
Sending Page 010 of 087 --> flashed!
Sending Page 011 of 087 --> flashed!
Sending Page 012 of 087 --> flashed!
Sending Page 013 of 087 --> flashed!
Sending Page 014 of 087 --> flashed!
Sending Page 015 of 087 --> flashed!
Sending Page 016 of 087 --> flashed!
Sending Page 017 of 087 --> flashed!
Sending Page 018 of 087 --> flashed!
Sending Page 019 of 087 --> flashed!
Sending Page 020 of 087 --> flashed!
Sending Page 021 of 087 --> flashed!
Sending Page 022 of 087 --> flashed!
Sending Page 023 of 087 --> flashed!
Sending Page 024 of 087 --> flashed!
Sending Page 025 of 087 --> flashed!
Sending Page 026 of 087 --> flashed!
Sending Page 027 of 087 --> flashed!
Sending Page 028 of 087 --> flashed!
Sending Page 029 of 087 --> flashed!
Sending Page 030 of 087 --> flashed!
Sending Page 031 of 087 --> flashed!
Sending Page 032 of 087 --> flashed!
Sending Page 033 of 087 --> flashed!
Sending Page 034 of 087 --> flashed!
Sending Page 035 of 087 --> flashed!
Sending Page 036 of 087 --> flashed!
Sending Page 037 of 087 --> flashed!
Sending Page 038 of 087 --> flashed!
Sending Page 039 of 087 --> flashed!
Sending Page 040 of 087 --> flashed!
Sending Page 041 of 087 --> flashed!
Sending Page 042 of 087 --> flashed!
Sending Page 043 of 087 --> flashed!
Sending Page 044 of 087 --> flashed!
Sending Page 045 of 087 --> flashed!
Sending Page 046 of 087 --> flashed!
Sending Page 047 of 087 --> flashed!
Sending Page 048 of 087 --> flashed!
Sending Page 049 of 087 --> flashed!
Sending Page 050 of 087 --> flashed!
Sending Page 051 of 087 --> flashed!
Sending Page 052 of 087 --> flashed!
Sending Page 053 of 087 --> flashed!
Sending Page 054 of 087 --> flashed!
Sending Page 055 of 087 --> flashed!
Sending Page 056 of 087 --> flashed!
Sending Page 057 of 087 --> flashed!
Sending Page 058 of 087 --> flashed!
Sending Page 059 of 087 --> flashed!
Sending Page 060 of 087 --> flashed!
Sending Page 061 of 087 --> flashed!
Sending Page 062 of 087 --> flashed!
Sending Page 063 of 087 --> flashed!
Sending Page 064 of 087 --> flashed!
Sending Page 065 of 087 --> flashed!
Sending Page 066 of 087 --> flashed!
Sending Page 067 of 087 --> flashed!
Sending Page 068 of 087 --> flashed!
Sending Page 069 of 087 --> flashed!
Sending Page 070 of 087 --> flashed!
Sending Page 071 of 087 --> flashed!
Sending Page 072 of 087 --> flashed!
Sending Page 073 of 087 --> flashed!
Sending Page 074 of 087 --> flashed!
Sending Page 075 of 087 --> flashed!
Sending Page 076 of 087 --> flashed!
Sending Page 077 of 087 --> flashed!
Sending Page 078 of 087 --> flashed!
Sending Page 079 of 087 --> flashed!
Sending Page 080 of 087 --> flashed!
Sending Page 081 of 087 --> v c t flashed!
Sending Page 082 of 087 --> flashed!
Sending Page 083 of 087 --> flashed!
Sending Page 084 of 087 --> flashed!
Sending Page 085 of 087 --> c c t flashed!
Sending Page 086 of 087 --> flashed!
All Pages flashed!
ASURO ready to start!

2. Versuch:
http://www.youtube.com/watch?v=auLpNMNWImA

Am asuro selbst liegt es wohl nicht ;)

Gruß

mic

tuberkel
30.08.2010, 19:15
O:) Vielen Dank, Mic! Das Video ist ja wirklich niedlich... - aber ich hätte es dir auch so geglaubt. ;-)

Andererseits fallen mir zwei Dinge auf:
1. Page 85 hakelt auch bei dir (Zufall, oder reproduzierbar?)
2. Dein FlashTool arbeitet nur halb so schnell wie meins!
Ich habe bei meinen Einstellungen nichts verändert. Welche Einstellungen stehen in deiner 'AsuroFl.ini'?

Bye, Ralf

radbruch
30.08.2010, 19:43
Hallo

Meine Datei AsuroFL.ini sieht im Moment so aus:


C:\_probot\projekte\ffdz2010_PageError.hex
COM8
10 #Timeout Connect
5 #Timeout Flash ('t')
10 #MaxTry for flashing


Ich habe nun fehlerfrei SelfTest.hex (86 Blöcke) und ASURO_DDS_Sound.hex (91) geflasht. Dann nochmals deine Hex-Datei, diese aber wieder mit vct bei Block 81 und cct bei 85. Dann noch ein Versuch bei dem ich in Block 10 absichtlich die IR-Verbindung unterbrochen und erst nach 3 Ts wieder hergestellt habe. Auch hier traten dann vct bei Block 81 und cct bei 85 auf. Also eindeutig reproduzierbar.

Gruß

mic

tuberkel
30.08.2010, 20:07
:-k

Spricht irgendwie gegen die Kombination Bootloader / Flash Tool / HEX-File. Wobei ich das arme HEX-File mal in Schutz nehmen möchte, das kann ja nichts dafür.

Immerhin funktioniert es ja bei dir TROTZDEM, wenn auch nach Wiederholung. Aber irgendwie muss offensichtlich der INHALT des HEX Files an Page 85 sehr unangenehm für die Toolkombination sein.

Wer kann denn mal was dazu sagen?

Bye, Ralf

mfs
30.08.2010, 21:08
Hi,

ich weiss nicht ob es Euch noch hilft, aber auch bei mir ist bei p85 Ende...
(serieller Adapter, macht sonst nicht die geringsten Probleme)
Was ist in dem hex drin? (source?)

lg,
Martin

funkheld
30.08.2010, 21:34
....Immerhin funktioniert es ja bei dir TROTZDEM, wenn auch nach Wiederholung. Aber irgendwie muss offensichtlich der INHALT des HEX Files an Page 85 sehr unangenehm für die Toolkombination sein.....

Die Prüfsumme wird da nicht stimmen.

Wenn ihr das Winavr vernünftig installiert habt, könnt ihr euch den reinen Assemblercode ausgegeben lassen mit :

avr-objdump -d main.elf > main.txt

Da müsst ihr suchen.

radbruch
30.08.2010, 21:49
Die Prüfsumme steht aber nicht im Assemblercode. Ich tippe eher auf den Überlauf einer Zählvariablen, eine Puffer- oder Adressgrenze oder ein nicht erwarteter Interrupt. Über die Blockgröße und die Blocknummer kann man die entsprechende Zeile im Hex lokalisieren.

tuberkel
31.08.2010, 05:27
Vielen Dank, dass ihr euch die Mühe macht, das auch zu testen. Und gut zu wissen, dass das Problem offensichtlich auch bei anderen zu reproduzieren ist.

Ich habe in der Zwischenzeit an meinem Projekt (Farberkennung) etwas weitergearbeitet - soweit es ging. Wie gesagt taucht das Flash-Problem immer wieder auf - und verschwindet wieder. Und es betrifft immer nur eine der letzten drei Pages. Jetzt habe ich es auf eine einzige Zeile Code (die an sich unschädlich ist) eingrenzen können!

Anbei findet ihr drei ZIP-Files:
Farberkennung_ok.zip - nur Build-Results, Version, die sich bei mir Flashen lässt
Farberkennung_PagerError.zip - nur Build-Results, Version die sich bei mir nicht Flashen lassen
Farberkennung_AVRStudio_Projekt.zip - das gesamte AVRStudio-ProjektBeide Versionen (PageError/ok) compilieren/linken natürlich fehlerfrei, sie unterscheiden sich nur im Aufruf eines einzigen "SerPrint()".

In den Build-Results sind auch avr-dump Ergebnisse beider Versionen (PageError/ok) enhalten. Ich bin allerdings nicht in der Lage, daraus etwas zu erkennen.

Ich denke, der Vergleich der HEX-Files ist evtl. interessanter - hier muss ja irgendwie die Ursache liegen, soweit ich das verstanden habe. Wer kennt sich denn mit dem "Flash Tool" aus und könnte was dazu sagen?

Danke für eure Hilfe!

Osser
02.09.2010, 08:13
Hi tuberkel,

kenne mich mit dem Flashtool nicht aus, habe aber ein eigenes gebaut vor ein paar Jahren (und noch immer...)
Probier mal AsuroFlash (http://www.secius.com/AsuroFlash/download/AFSetup_1_8_13_110.exe), evtl. geht's damit fehlerfrei.
Das "standard" Flashtool hat ein paar "Eigenheiten" die in meiner Version so nicht bestehen, kann Dir aber nicht garantieren das es daran liegt.
Ein Tutorial zur Benutzung von AF findest Du auf dieser Seite How to build and flash a file (http://www.secius.com/AsuroFlash/tutorial-movies)


Gruss,

O.

radbruch
02.09.2010, 13:14
Hallo

Seit gestern habe ich Win 7 und nun das:


Open COM4 --> OK !
Building RAM --> OK!
Connecting to ASURO --> OK!
Sending Page 001 of 087 --> flashed!
Sending Page 002 of 087 --> flashed!
Sending Page 003 of 087 --> c t flashed!
Sending Page 004 of 087 --> flashed!
Sending Page 005 of 087 --> t flashed!
Sending Page 006 of 087 --> flashed!
Sending Page 007 of 087 --> c t flashed!
Sending Page 008 of 087 --> flashed!
Sending Page 009 of 087 --> c t flashed!
Sending Page 010 of 087 --> flashed!
Sending Page 011 of 087 --> c t flashed!
Sending Page 012 of 087 --> flashed!
Sending Page 013 of 087 --> c t flashed!
Sending Page 014 of 087 --> flashed!
Sending Page 015 of 087 --> c t t flashed!
Sending Page 016 of 087 --> flashed!
Sending Page 017 of 087 --> t flashed!
Sending Page 018 of 087 --> flashed!
Sending Page 019 of 087 --> c t flashed!
Sending Page 020 of 087 --> flashed!
Sending Page 021 of 087 --> t flashed!
Sending Page 022 of 087 --> flashed!
Sending Page 023 of 087 --> c t flashed!
Sending Page 024 of 087 --> flashed!
Sending Page 025 of 087 --> c t flashed!
Sending Page 026 of 087 --> flashed!
Sending Page 027 of 087 --> c t flashed!
Sending Page 028 of 087 --> flashed!
Sending Page 029 of 087 --> c t flashed!
Sending Page 030 of 087 --> flashed!
Sending Page 031 of 087 --> c t flashed!
Sending Page 032 of 087 --> flashed!
Sending Page 033 of 087 --> c t t flashed!
Sending Page 034 of 087 --> flashed!
Sending Page 035 of 087 --> c t flashed!
Sending Page 036 of 087 --> flashed!
Sending Page 037 of 087 --> flashed!
Sending Page 038 of 087 --> c t flashed! <--- Ab hier mit Abdeckung!
Sending Page 039 of 087 --> flashed!
Sending Page 040 of 087 --> flashed!
Sending Page 041 of 087 --> flashed!
Sending Page 042 of 087 --> flashed!
Sending Page 043 of 087 --> c t flashed!
Sending Page 044 of 087 --> flashed!
Sending Page 045 of 087 --> flashed!
Sending Page 046 of 087 --> flashed!
Sending Page 047 of 087 --> flashed!
Sending Page 048 of 087 --> flashed!
Sending Page 049 of 087 --> flashed!
Sending Page 050 of 087 --> flashed!
Sending Page 051 of 087 --> flashed!
Sending Page 052 of 087 --> c t flashed!
Sending Page 053 of 087 --> flashed!
Sending Page 054 of 087 --> flashed!
Sending Page 055 of 087 --> flashed!
Sending Page 056 of 087 --> flashed!
Sending Page 057 of 087 --> flashed!
Sending Page 058 of 087 --> flashed!
Sending Page 059 of 087 --> flashed!
Sending Page 060 of 087 --> flashed!
Sending Page 061 of 087 --> flashed!
Sending Page 062 of 087 --> flashed!
Sending Page 063 of 087 --> flashed!
Sending Page 064 of 087 --> flashed!
Sending Page 065 of 087 --> flashed!
Sending Page 066 of 087 --> flashed!
Sending Page 067 of 087 --> flashed!
Sending Page 068 of 087 --> flashed!
Sending Page 069 of 087 --> flashed!
Sending Page 070 of 087 --> flashed!
Sending Page 071 of 087 --> flashed!
Sending Page 072 of 087 --> flashed!
Sending Page 073 of 087 --> flashed!
Sending Page 074 of 087 --> flashed!
Sending Page 075 of 087 --> flashed!
Sending Page 076 of 087 --> flashed!
Sending Page 077 of 087 --> flashed!
Sending Page 078 of 087 --> flashed!
Sending Page 079 of 087 --> flashed!
Sending Page 080 of 087 --> flashed!
Sending Page 081 of 087 --> v c t flashed!
Sending Page 082 of 087 --> flashed!
Sending Page 083 of 087 --> flashed!
Sending Page 084 of 087 --> flashed!
Sending Page 085 of 087 --> c c t flashed!
Sending Page 086 of 087 --> flashed!
Sending Page 087 of 087 --> flashed!
All Pages flashed!
ASURO ready to start!

Alles wie gehabt, volle Akkus, aktuelle Treiber und Flashtool 1.53. Interessanterweise wirds deutlich besser nachdem ich alles mit einer Zeitung abgedeckt habe. Das hatte ich mit V 1.53 und meinem alten Rechner noch nie! Die Fehler bei Page 81 und 85 sind mir allerdings trotzdem erhalten geblieben.

Gruß

mic

tuberkel
02.09.2010, 18:23
Vielen Dank, Osser und Mic, dass ihr euch des Problems annehmt.

Ich habe jetzt auch mal "Asuro Flash" ('Eierlegendewollmilchsau' V1.8.13.110) getestet: Ein beliebiges Programm damit kompiliert und die entstandene 'text.hex' gegen die o.a. Version 'Farberkennung_PageError.hex' ausgetauscht. Das Ergebnis seht ihr unten: Error!

Das interessante dabei: Ossers "Asuro Flash" erkennt im gleichen HEX File nur 77 Pages, wo das reine FlashTool "Asuro Flash Tool V1.53" (die Namen sind wirklich unglücklich) 79 Pages erkennt - und bei 77 scheitert (bei mir).

Das kann doch schon mal garnicht sein, dass zwei verschiedene Tools im gleichen HEX File eine unterschiedliche Anzahl zu flashender Pages erkennen, oder?

Und das Kuriose dabei: Das HEX-File ist nicht irgendwie manipuliert - es ist ganz einfach aus dem gcc-Make-Prozess (Projekt: siehe oben) entstanden.

Derartige Probleme sehe ich sonst nirgendwo im Forum. Bin ich denn wirklich der einzige mit diesem 'Fenomen'????

Ich bin für jede Hilfe dankbar!

Ralf

Osser
10.09.2010, 13:41
Hi tuberkel,

seltsam das es immer bei Page 77 schief geht.
Der Fehler "c", was auf einen CRC Fehler verweist, entsteht, wenn der Bootloader beim vergleichen der übertragenen CRC und seiner selbst berechneten auf verschiedene Werte kommt.
Es ist also wohl nicht abhängig von eventuellen Flashspeicherfehlern würde ich sagen. Vielleicht bildet der Bootloader zufällig für diese Bytefolgen eine andere CRC als vorgesehen.
Wenn ich daran denke, werd ich das meinem kleinen Asuro mal zum fressen geben, mal schaun was dann passiert.

Nur so nebenbei, mein Tool zählt Nullbasiert, d.h. Page 0 bis 77 bedeutet also 78 Pages.
Kann man folgendermassen ausrechnen:
Farberkennung_PageError.hex enthält 4942bytes
Seitengrösse ATMega8 = 64byte
==> ca. 77,22 Seiten also 78Seiten


Gruss,

O.

tuberkel
13.09.2010, 18:43
Hi Osser, danke, dass du dich darum kümmerst!

Hier noch etwas Background zum Phänomen: Ich habe beide Asuro-InfraRot-Adapter: die reine COM-Port-Version und die USB-Version (beide ca. 2 Jahre alt). Die reine COM-Port-Version geht über eine PCI-Erweiterungskarte (2xCOM+1xLPT) auf COM4 des PC. Die USB-Version kann ich direkt an einen USB-Anschluss des Motherboards (also ohne internen/externen Hub) anschließen. BEIDE IR-Adapter funktionieren in der Regel einwandfrei. Auch der Asuro lässt sich i.d.R. einwandfrei und komplett flashen. Nur manchmal - je nach dem welche Sourcecodeänderungen ich gerade vorgenommen habe - klappt es nicht, gerade jetzt habe ich den Fall wieder.

Interessanterweise lässt sich meine aktuelle Version (Hex-File, siehe unten) über den COM-Adapter reproduzierbar super gut flashen, über den USB-Adapter aber zuverlässig garnicht (wieder PageError bei vorletzter Page, Page 99). Mit bestimmten Hex-Files schafft es aber auch der COM-IR-Adapter zuverlässig nicht!

Und noch etwas: Oft - leider nicht immer - bekomme ich den PageError weg, in dem ich einfach statisches ROM reserviere mit folgender Anweisung:

// -----------------------------------------------------
// DUMMY ARRAY FÜR FLASH PROBLEM
const uint8_t aucDummy[10] __attribute__ ((section (".text")));

Manchmal reicht es, die ArraySize von 16 auf 32 (und anders herum) zu ändern, dann geht es wieder.

Rätsel über Rätsel..... :-k

Osser
15.09.2010, 10:16
Hi tuberkel,


ja, wie Du sagst, Rätsel über Rätsel....
Mich wundert es schon das die Art von Fehler noch nicht früher aufgefallen ist.
Hast Du schon mal versucht mit den Parametern von AF(also meinem Proggi) rum zu spielen?

http://secius.com/AsuroFlash/flash/AFParamSetting.png

Vielleicht hilfts was den Page flash delay etwas zu erhöhen.

Steht "Differentiell flashen" an oder aus (Der Knopf rechts neben dem Flashdatei-Eingabefeld)?

Gruss,

O.

radbruch
15.09.2010, 11:00
Hallo

Das wurde vielleicht bisher nicht erkannt, weil a: die Progrämmchen selten so lange sind und b: der Effekt nach einer kleinen Programmänderung unter Umständen wieder verschwunden ist. Und schließlich c: kann ich ja das Beispiel zuende flashen (mit zwei vollkommen unterschiedlichen Rechnern!).

Es würde sich ja geradezu aufdrängen diese Aussage mit dem Effekt zu überprüfen:

"Die Bibliothek bringt jetzt einen ASURO-kompatiblen Bootloader zur Verwendung mit "ASURO Flash" (dem Programm von Arexx/DLR) mit."

Das stammt aus der Info zum aktuellen Update der Tiny ASURO Lib (https://www.roboternetz.de/phpBB2/viewtopic.php?t=55941):

https://www.roboternetz.de/phpBB2/viewtopic.php?p=518667#518667

Anscheinend funzt es aber noch nicht richtig. Trotzdem ein netter Ansatz ;)

Gruß

mic

m.a.r.v.i.n
15.09.2010, 16:33
Hallo,

ein ähnliches Problem hatten wir schon mal hier (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=25245). Damals gab es die Vermutung, dass es mit einer längeren Folge von 0-Bytes zu tun hat. Allerdings ließ sich der Fehler irgendwann nicht mehr reproduzieren.
Die damaligen Testfiles gibt es noch zum Download (http://www.asurowiki.de/pmwiki/uploads/Main/testflash.zip). Am Ende jedes Programms findet sich eine Anzahl von 0-Bytes, die Anzahl steigt von File zu File. Genauso wie hier gab es c-Fehler beim Flashen (immer bei der letzten page).

Osser
16.09.2010, 09:31
Hi radbruch, m.a.r.v.i.n,


wie's scheint hab ich das damals sogar selbst noch getestet. Wusste ich gar nicht mehr.

Der mitgelieferte Bootloader ist meiner Meinung nach etwas(ziemlich) unausgereift was das Protokoll angeht. Wegen dem unsicheren Übertragungskanal wären mehr Redundanzen nötig, bzw. sollten bei Bedarf zugeschaltet werden können -- einstellbare Blockgrösse, einstellbare Baudrate --
Damit wären sicher die meisten "problemchen" mit denen sich Asuro Besitzer rumschlagen aus der Welt. Nur leider ist das halt nur via ISP Zugriff zu lösen. Wer eine ISP Schnittstelle einbaut hat kann sich aber den Bootloader komplett sparen und gleich via ISP flashen (AF kann auch direkt via ISP flashen).

Tia...... :-k

Der Bootloader den Du(radbruch) beschreibst sieht ordentlich aus, es fehlt aber auch hier die Möglichkeit um z.B. die Blockgrösse oder Baudrate zu verändern. Der Bootloader ist also lediglich eine Replika des Originals allerdings mit Quellkode.


Gruss,

O.

tuberkel
20.09.2010, 21:36
Hi marvin,

vielen Dank für deinen Link. Ich habe alle Hex-Files im ZIP mit beiden Ir-Adaptern (COM/USB) getestet: ALLE lassen sich einwandfrei flashen.
:-k

Dann gleich wieder Gegenprobe mit o.a. 'Farberkennung' Testfiles: 'Farberkennung_ok' lässt sich nur mit der Ir-COM, nicht aber aber mit Ir-USB flashen (Pageerror in letzter Page). 'Farberkennung_PagerError' lässt sich mit keinem der beiden Ir-Adapater flashen (gleicher Fehler).

Also, wenn ich das mal so zusammenfassen darf: Das Flash-Problem
- tritt bevorzugt bei den letzten Pages auf
- tritt bevorzugt (aber nicht ausschließlich) beim USB-Flasher auf
- tritt bevorzugt (aber nicht ausschließlich) bei Laptops auf
- tritt bevorzugt (aber nicht ausschließlich) bei bestimmten Bit-Mustern (0-Folgen) im Hex-File auf
- tritt längst nicht bei allen Usern auf

Irgendwo scheint es also einen Zusammenhang zwischen dem Inhalt des Hexfiles, Checksummenberechnung in FlashTool & Asuro und Timing der verwendeten Hardware (PC/Ir-Adapter) zu geben.

Soweit ich euch verstanden habe, gibt es aber außer einem zu verbessernden Bootloader keine Abhilfe. Und dieser könnte nur im Asuro-Chip per ISP-Programmer verändert werden - den leider nur wenige besitzen.

Sehe ich das so richtig? :-s

m.a.r.v.i.n
21.09.2010, 15:02
Ja, das kann man zusammendfassend sagen. Hilft aber auch nicht so richtig weiter.
Das die Hex-Files mit den 0-Folgen bei dir funktionieren wundert mich nicht. In deinen Hex-Files sind solche Folgen ja auch nicht zu entdecken. Also bleibt alles weiterhin rätselhaft. :-k

Valen
15.12.2010, 01:30
@Tuberkerl:

Is das bei dir schon gelöst?

Sehr inoffiziell gibt es auch schon version 1.55, das abbrechen von sehr große Hex-dateien soll beheben.

http://www.arexx.com/forum/zeigebeitrag.php?f=19&t=1159

Es steht bis jetzt noch nur bei Arexx-Henk auf seine Asuro Download Seite:

http://home.kpn.nl/winko001/Asuro/Downloads/AsuDwlPagFrm.htm

tuberkel
15.12.2010, 08:09
Aha, sieht aus, als wenn Henk an dieser Baustelle gearbeitet hätte:

Asuro FlashTool V1.55 (Correct flashing of last page 112)

Aber: Ist dort nicht eher die absolut letzte Page (Page 112, randvoll gefülltes Flash) gemeint? Ich dachte auch eigentlich, dass das von mir beschriebene Problem nur über einen neuen Bootloader gelöst werden könnte.

Ich werde das mal bei Gelegenheit ausprobieren, habe aber gerade andere Projekte um die Ohren. Jede Rückmeldung von anderen Asuro-Nutzern mit ähnlichen Phänomenen ist hier aber bestimmt interessant.

Ralf