Ungenaue Positionsanzeige beim SiRF Star IIe/LP Chip ?

  • Hi,
    nee, nee, mit sirfxtrackdemo kann nix geflasht werden; das ist ein funktionell relativ eingeschränktes Tool zur Anzeige u. a. auch der Firmware-Version etc.
    Die entsprechenden Tools finden sich direkt bei sirf.
    http://www.sirf.com/Reps/technical.html


    Bye
    Peter

  • Hallo zusammen,


    erst einmal meine Eindrücke, die ich heute von dem Verhalten der SysOnChip GPS CF Plus mit der SiRF Evaluation Firmware (2.4.12.09-XTrac2.0-C1EVAL1.0 0000003729) gewonnen habe.


    Für mich hat sich kein gravierender Unterschied im Verhalten zur XTrac II Firmware von SysOnChip ergeben. D.h. auch mit dieser Firmware ist das Nachlaufen und Abdriften in einem akzeptablen Rahmen. Eine Analyse der Log-Files habe ich bisher noch nicht gemacht. Ich würde aber mal sagen, dass die Empfindlichkeit beider Firmware Version identisch ist.


    O.k. jetzt mach ich mich aber mal an das posting mit der Beschreibung zum Thema flashen. Das folgt dann asap.


    Bis denn
    Hamba

  • Hallo zusammen,


    Ihr habt es so gewollt. Also viel Spaß beim Lesen.


    Was wird zum Flashen der SysOnChip GPS CF Plus benötigt ?


    Hardware :
    * Einen Windows-PC in dem man die Compact Flash GPS-Karte nutzen kann. Typischerweise ein Notebook mit PCMCIA-Slot und einen PCMCIA-CF Adapter.
    * Eine Flash-willige SysOnChip GPS CF Plus


    Software :
    * SiRFDemo (aktuelle Version ist 3.41)
    * SiRFflash (aktuelle Version ist 2.04)
    * Firmware Image das geflashed werden soll


    Grundsätzliches :
    Die SysOnChip GPS CF Plus hat einen 1MB großen Flash-Speicher (SST39VF800). Die aktuellen Firmwareversionen bewegen sich so in der Größenordnung von 280kB bis 300kB. Es bleibt also noch Luft für die Hersteller um weitere Funktionalitäten zu implementieren.
    Sowohl zum Auslesen des Flashspeicher als auch zum Beschreiben muss sich die SoC+ in dem internal Boot mode befinden. Es gibt eine SiRF Binary Message (I.D. 148 ), die dies bewirkt. Um die SoC+ aus diesem Modus wieder raus zu bekommen, ist kein Factory Reset erforderlich. Vielmehr reicht ein einfacher Power-Off also das Entfernen aus dem PCMCIA- bzw. CF-Slot. Da die Flash-Software SiRFflash nur den Flash-Speicher Auslesen und Beschreiben nicht aber die Binary Message 148 senden kann, ist zusätzlich das Programm SiRFDemo erforderlich. Dummerweise muss die Verbindung von SiRFDemo zur SoC+ getrennt werden, bevor SiRFflash eine Verbindung zu der SoC+ aufbauen kann (das Problem mit der mehrfachen Nutzung eines COM-Ports unter Windows). Wird die SoC+ über SiRFDemo also in den internal boot mode versetzt und anschließend die Verbindung von SiRFDemo zur SoC+ getrennt, dann geht die rote LED der SoC+ aus - d.h. die SoC+ bekommt keine Power mehr und geht damit wieder aus dem internal boot mode raus. Wird also jetzt mit SiRFflash das Auslesen oder Flashen gestartet, dann bekommt man die Fehlermeldung Target not responding. Die SoC+ muss also irgendwie unter Power gehalten werden, während die Verbindung von SiRFDemo getrennt wird und das Auslesen oder Flashen mit SiRFflash gestartet wird. Ich habe mir mit einem weiteren Programm einem Port Monitor (z.B. Portmon von Mark Russinovich, guckst Du hier) geholfen. Wird dieser Portmonitor gestartet und der COM-Port an dem die SoC+ hängt über Capture -> Ports zum monitoren ausgewählt, dann wird die SoC+ permanent mit Power versorgt (LED geht und bleibt an), auch wenn keine Anwendung (SiRFDemo oder SiRFflash) mit der SoC+ verbunden ist. Aber : keine Lösung ohne neues Problem :-(((. Auch nach Beenden des Portmonitors bleibt der betreffende COM-Port immer noch in dem Monitoring Modus. Das führt nun dazu, dass nach dem Entfernen und erneuten Einstecken der SoC+ in den PCMCIA-Slot der PC stehen bleibt zumindest mein Notebook. D.h. nach dem Auslesen oder Flashen muss der PC neu gestartet werden bevor die SoC+ wieder eingesteckt wird. Vielleicht kennt aber jemand noch ein anderes Programm, welches den gewünschten Nutzen bringt und diese Nebenwirkung nicht hat ;-).


    Vorbereiten der SysOnChip GPS CF Plus :
    1. SysOnChip GPS CF Plus mittels PCMCIA/CF-Adapter in Notebook einstecken
    2. PortMon starten und sicherstellen, dass der entsprechende COM-Port gemonitort wird
    3. SiRFDemo starten, auf die SoC+ verbinden und ggf. mit Action -> Switch to SiRF Protocol in den SiRF-Modus wechseln
    4. In SiRFDemo Action -> Transmit Serial Message auswählen, in den Eingabebereich 94 (ist der Hex-Wert für die Message-ID 148 ) eingeben und auf <Send> klicken Unter Protocol Wrapper muss SiRF Binary ausgewählt sein.
    5. Verbindung von SiRFDemo zur SoC+ trennen die rote LED der SoC+ muss an bleiben !!
    6. SiRFflash starten und unter Line den COM-Port und unter Baud rate die Geschwindigkeit der SoC+ auswählen und Chip select auf CSN0 sowie Chip offset auf 0 setzen.



    Auslesen des Firmware-Image :
    7. In SiRFflash die Activity selection auf Read flash setzen
    8. unter Read settings die From address auf 0x0 und die To address auf 0xfffff setzen und in der File selection einen Filenamen auswählen, unter dem das Firmware-Image auf dem PC gespeichert werden soll
    9. unter Action den <Execute> Button drücken.
    10. in der rechten Hälfte von SiRFflash sollte jetzt unter Flash-Info der Chip-Hersteller usw. erscheinen und sowohl das Timing als auch Progress entsprechenden Fortschritt anzeigen
    11. wenn das Auslesen mit Read successfully abgeschlossen ist, die einzelnen Programme beenden und den PC neu starten


    Da wir die To address auf 0xfffff gesetzt haben, wird immer der komplette Flashspeicher - also 1MB ausgelesen, auch wenn das eigentliche Firmware-Image kleiner ist. Da es aber schwierig ist, die genaue Endadresse der Firmware zu ermitteln und das komplett ausgelesene Firmware-Image auch wieder komplett geflashed werden kann, sollte uns das nicht weiter stören



    Flashen eines Firmware-Image :
    7. In SiRFflash die Activity selection auf Programm flash setzen
    8. in der File selection das zu flashende Firmware-Image und unter Programming options Erase relevent sectors only auswählen
    9. unter Action den <Execute> Button drücken.
    10. in der rechten Hälfte von SiRFflash sollte jetzt unter Flash-Info der Chip-Hersteller usw. erscheinen und sowohl das Timing als auch Progress entsprechenden Fortschritt anzeigen. Zusätzlich wird unter input file info noch der Filetyp und die Imagegröße angezeigt
    11. wenn das Flashen mit Flash successfully programmed abgeschlossen ist, die einzelnen Programme beenden und den PC neu starten
    12. die SysOnChip GPS CF Plus kommt jetzt in der für die jeweilige Firmware definierten Default-Einstellung hoch. Bei den Firmwares von SysOnChip ist das NMEA mit 4.800b/s und bei der SiRF Evaluation Firmware ist das SiRF mit 56.000b/s.


    Anmerkungen meinerseits :
    Das Auslesen der Firmware sollte keine bleibenden Schäden an der SysOnChip GPS CF Plus hinterlassen. Selbst wenn beim Auslesen ein Problem mit dem PC - Stromunterbrechung, BlueScreen und was so alles passieren kann auftreten sollte. Beim Flashen dürfte das allerdings anders aussehen. Ich gehe davon aus, dass wenn der Flash Vorgang vorzeitig unterbrochen wird, die SoC+ nicht mehr über SiRFDemo angesprochen und somit nicht wieder in den internal boot mode versetzt werden kann. Dann dürfte nur noch das Öffnen der SoC+ und das hochlegen der DATA0-Signalleitung ein erneutes Flashen ermöglichen. Beim Flashen ist also Vorsicht angesagt ev. Stromsparfunktionen, Bildschirmschoner und sonstiges Zeug würde ich auf jeden Fall deaktivieren und man sollte mit dem berühmten Angstschweißtropfen auf der Stirn vor dem PC sitzen bleiben. Beim Auslesen dagegen kann man sich aus meiner Sicht ruhig auch ein Bier holen gehen ;-).


    Habe fertig, oder habe ich was vergessen ?


    Bis denn
    Hamba

  • Moin Hamba,


    traumhafte Beschreibung die Lust aufs Ausprobierern macht!! Danke dafür! :]
    Ich hab 'n Multicardreaderslot im Pc (per USB), mal sehen ob der geht, sonst muss ich mir morgen noch 'n CF-PCMCIA Adapter fürs NB holen.


    Allesdings wüsste ich noch gerne wo ich das entsprechende aktuellste Image herkriegen könnte.


    Vielen Dank nochmal!


    C YA,


    GPSy


    P.S. Thks an PeterG für den Link! ;)

  • Ich schlage hiermit die Beförderung von Hamba wg. besonderer Verdienste um die community vor.


    Stramme Leistung - Hut ab.
    Metropol




    :applaus :applaus :applaus :applaus :applaus :applaus :applaus :applaus :applaus :applaus :applaus :applaus

  • @GPSy,
    tjo die aktuelle SysOnChip XTrac II Firmware gibt es leider nirgends zum downloaden. Hier läuft aber zurzeit der Versuch von SysOnChip eine Aussage zum Thema Lizenzen zu bekommen.


    Aber wie gesagt, die Evaluation Firmware von SiRF funzt genauso gut. Und die liegt auf der von PeterG gelinkten SiRF-Seite zum download rum.


    @metropol,
    wenn ich mir für die Beförderung dann was beim Aldi kaufen kann, nur her damit ;-)))))))


    Der Dank gebührt aber eigentlich haids. Hätten die mir nicht selbstlos die alte SysOnChip GPS CF Plus zur Verfügung gestellt, dann hätte ich das alles nie versucht. Aldiweil ich eigentlich auch nur ein Schisser bin und meiner eigenen SoC+ ohne die heutigen Erfahrungen - das nie zugemutet hätte.



    Bis denn und postet mal Eure Erfahrungen/Ergebnisse rund ums flashen
    Hamba



    [Edit]P.S. die SiRF XTrac V2 Firmware auf der SiRF-Seite stekt in dem File "SiRFXTrac V2.zip". Irgendwo hier habe ich auch mal geposted was passiert, wenn man das auf dem PC installiert. Da war allerdings auch was mit einem Ablaufdatum !?!?!?!?!?[Edit]

    Einmal editiert, zuletzt von hamba ()

  • Schisser oder noch nicht genervt genug(?)...
    ICh hab überhaupt zu dem Thema recherchiert, da ich wirklich zu 70% an AB-Kreuzen mit Multiausfahrten Entscheidungsprobleme bekomme aufgrung des Nachhängens.
    Und deshalb sage ich (mit dem Mut von 3 Bacardi-Colas aus der Kneipe eben) es wird auf jeden Fall geflasht. Und wenn die gute COC+ dabei hops geht, na dann muss eben nach einem vernünftigen Nachfolger geschaut werden. Nicht das ich es Dicke hätte, aber so ist auch kein Zucker schlecken.


    Nochmal Dank an Hamba!


    Ich werde auf jeden Fall berichten wie das ganze ausgeht 8)


    C YA,


    GPSy

  • @hamba,


    hab meine syson mal ausgelesen, klappt super mit deiner anleitung.


    jetzt ist noch zu klären ob wir beim eventuellen tausch von files uns im rechtfreien raum bewegen.
    ich suche dann das file von der alten syson chip, vor der xtrac2 umstellung.


    wir sollten auch mal überlegen ob wir für die flashthematik einen neuen beitrag starten, da kommen bestimmt jede menge anfragn und probleme dazu.


    gruss sulzi

  • Ich bin kein Rechtexperte, aber gerade wenn es ein tatsächlicher einmaliger Tausch ist, dann sehe kein Problem.


    Beispiel: Ich tausche mein 0306 Image gegen Dein 0402 Image. ;D
    Natürlich lösche ich nach dem flashen des neuen Images mein altes von der Festplatte.


    Mal sehe was nun die Rechstabteilung sagt...


    C YA,


    GPSy

  • @hamba,


    gratuliere :D hast du fein hingekriegt !


    ich habe auch in der doku(sdk 1,2,3) nach einem sw befehl für den boot mode auschau gehalten und bin nicht fündig geworden.


    dass die so mit dem flash so prassen hätt ich nicht gelaubt,drum hab ich ja mal auf ein 512kB flash getippt, bei einem 300k img.


    hast du dir die doku über xtrack demo schon mal genau
    angesehen ?
    da ist die v2.05 beschrieben eine vesion spez. für
    cf card. da gibts auch einen switch:
    -tp sirfbin_and_nmea was der macht ...?
    jedenfalls erledigt hier die flash sw das boot mode
    problem selbst 8)
    diesen switch kennt die v.2.04 nicht !


    ich hab diese woche versucht die 2.05 im i net zu bekommen,war leider nix zu finden.
    grüsse
    tomho

    Einmal editiert, zuletzt von tomho ()

  • @tomho,
    tja diese Version von SiRFflash hätte mich wohl einige Stunden weniger Zeit gekostet. Ich finde die aber auch nicht im Internet. Die steht den Mäuslebauern wohl nur über spezielle Wege zur Verfügung. Aber jetzt wissen wir ja, wie es auch so geht :-).



    Hallo all,


    ich habe inzwischen eine weitere Seite bei SiRF Inc gefunden, auf der auch die Non-XTrac Firmware (220.006.000) als Binary Image zum Download steht (hier). Zusätzlich zu dem flashbaren Binary Image steht diese Firmware dort sogar als Source Code zum download zur Verfügung. Diese Original SiRF Firmware habe ich inzwischen auch in die SoC+ geflashed und wenn wundert es keine Probleme gehabt. Die SoC+ hat auch mit dieser Firmware gefixed, sogar mit einem 3D Fix. Das hat meine alte SysOnChip GPS CF allerdings nie gemacht, die hatte immer nur einen 2D Fix.


    Interessanterweise oder dummerweise scheint die SiRF Seite aber nicht so gut sortiert zu sein zumindest nicht für jedermann zugänglich. Neben der dort nicht zur Verfügung stehenden SiRFflash 2.05 Version ist auch die aktuellere Non-XTrac Version 231.000.000 dort nicht verfügbar. Diese aktuellere Non-XTrac Version ist z.B. auf der Holux 230 und der Fortuna PocketXTrack (bei ST Stellung) implementiert. Einer der Unterschiede zwischen der 220.006.000 und der 231.000.000 ist wohl, dass die 231 auch Geoid Correction implementiert hat.


    Theoretisch passen ja beide Firmwareversionen die Non-XTrac Version (220.006.000) und die XTrac V2 2.4.12.09 in den 1MB großen Flashspeicher. Diese beiden vor dem flashen auf dem PC hintereinander zu kleben wäre auch kein großes Problem. Wenn man dann einen Mechanismus implementieren könnte, der festlegt, welche der beiden Firmwareversionen beim Power-On gebootet werden soll, dann wäre auch die SysOnChip GPS CF Plus eine Dual-Karte. Genauso wie die Fortuna PocketXTrack. Die besitzt ja ebenfalls beide Firmwareversionen und einen XT/ST-Umschalter zum Auswählen der zu bootenten Firmware. Hardwaremäßig also anlog der PocketXTrack mit Schalter wäre eine nachträgliche Implementierung in der SoC+ aus meiner Sicht nicht unmöglich. Mal abgesehen von der Tatsache, dass das Löten auf der CF-Karte wohl eher schwierig ist. Eleganter wäre aber eine softwaremäßige Umschaltung. Dafür müsste man aber vor dem Power-Off eine Art Offset-Wert an die CF-Karte senden, der die stromlose Zeit überlebt und beim nächsten Power-On dafür sorgt, dass die Firmware ab dem Offset-Wert gebooted wird. Das dürfte aber eher illusorisch sein.


    Bis denn
    Hamba

  • Hallo hamba,


    das ist ja genial!!! Ein paar Tage hier nicht reingeschaut und dann so etwas. Er lebe hoch, hoch, hoch ;)


    Dein Bericht wird von mir morgen direkt in die Tat umgesetzt. Es wird sich bestimmt die ein oder andere Schweißperle auf meiner Stirn bilden, aber da muss ich einfach durch.


    Danke!


    Gruß
    Markus


  • Theoretisch passen ja beide Firmwareversionen die Non-XTrac Version (220.006.000) und die XTrac V2 2.4.12.09 in den 1MB großen Flashspeicher.


    Hi,


    bist Du sicher, das wirklich 1MB Speicher drin ist? Nur weil 1MB addressierbar ist, muß das nicht unbedingt der Fall sein, wenn zB die höchste Adressleitung ins leere läuft, dann wiederholen sich die ersten 512kB halt einfach ein weiteres mal...
    Es kann auch sein, daß manche Adressen "ins leere gehen" (wenn man darauf schreibt, bleiben sie auf "0")


    (ich habe da einen alten Sharp Pocket PC 1401 (Basic programmierbar, nix WinCE ;) ) - der hat 4,2kB RAM (!) und 40kB ROM, aber man kann bis 0xFFFF (64kB) adressieren...)


    lg,
    Martin

  • Hallo mfs,


    sehr guter Einwand, Danke.

    Sicher bin ich mir natürlich auch dabei erst hinterher, genauso wie beim flashen :-((.


    Ich habe mir die Specs des durch SiRFflash beim Auslesen angezeigten Flash-Chips (SST39VF800) im Internet (hier) gezogen. Es handelt sich um einen 8Mbit Multi-Purpose Flash Chip, der als 512k*16 organisiert ist. Er hat die Adressleitungen A0 bis A18. Die Firmware Images von SiRF sind Binary Files in einem Motorola-Format und da steht pro Zeile immer ein Doppelwort also 16 Bit drin. Nach meiner Rechnung wären das dann 1MByte also 1024k * 8bit. Ich bin mir aber nicht sicher, ob meine Rechnung so stimmt. Digitaltechnik auf diesem Niveau ist bei mir schon ein paar Tage her.


    Bis denn
    Hamba

  • Kan jemand die firmware runterladen (back-up machen) von seinen follversion firmware von den SysOnChip CF plus II (orginal)
    Und dan uploaden, dan konnen wir es auch auf unserem sysonchip raufladen