Rikaline-gps-6010-Firmware-Fix
Firmware mis à jour pour l'ancien GPS Rikaline GPS-6010 Sirfstariie / LP Souris GPS en série et mise à jour de chiplist.txt pour Sirfflash Utility pour permettre la reprogrammation d'autres pièces flash. La version du firmware SIRF correctement était SW version 231.000.000.
Problème
Un vieux GPS Rikaline que j'ai trouvé, acquiert des satellites, donnant des correctifs corrects, téléchargeant des almanachs, qui pouvaient être jetés à l'aide de l'utilitaire Sirfdemo, mais ont découvert que les almanachs n'étaient pas enregistrés pour flasher lors de la première correction de position valide. Cela a entraîné des temps très longs à toutes les correctifs de position initiale. L'almanac fourni en usine obsolète a été utilisé à chaque startup. Remplacé la batterie de sauvegarde de la mémoire - aucun effet - bien qu'au moins mes configurations Sirfdemo aient maintenant été enregistrées sur SRAM.
Un 2e GPS-6010 Rikaline a été acquis et a été trouvé le même problème.
Indice
Lorsque vous tentez de lire l'image du micrologiciel binaire, j'ai également découvert des cas où l'utilitaire Sirfflash n'a pas réussi à reconnaître la partie flash ou à reconnaître la partie flash, mais le GPS n'a pas pu engager l'Almanac téléchargé à la mémoire flash après une correction réussie. Soupçonnait une connexion ici.
Solution
- Déterminé quelles pièces flash ont été réellement utilisées par les souris GPS. C'était une mémoire flash Fujitsu MBM29LV400BC dans une unité et un Macronix MX29LV400B dans une autre unité.
- Sirfflash pourrait-il être corrigé? Oui, il s'avère que les paramètres de programmation Flash sont spécifiés par le fichier "Chiplist.txt" de Sirfflash. Ajout de la spécification de l'appareil à ChipList.txt. Cela peut être trouvé dans le répertoire d'installation de Sirfdemo. L'image binaire du GPS pourrait ensuite être déversée et enregistrée avec succès.
- Passez en revue l'image binaire à l'aide de HXD pour des indices pour flash les périphériques dans le code. Heureusement, il s'est avéré que le fabricant a tenté de prendre en compte que différents composants de mémoire flash pouvaient être utilisés pendant la fabrication. Une grande aide a été que les noms des fournisseurs de périphériques flash et les numéros de pièce ont été stockés dans ASCII dans l'image du micrologiciel GPS. J'ai découvert que la prise en charge de ces pièces flash manquait.
- Le firmware était probablement à l'origine compilé en C, il a donc cherché à rechercher ce qui pourrait être la représentation binaire d'un réseau de structures ou quelque chose comme ça. Inférin de l'image binaire pour localiser les pointeurs vers la partie flash et les chaînes de fournisseurs. Situé les structures de paramètres de programmation flash. Déterminé que les données binaires étaient similaires à la représentation binaire des paramètres de programmation flash observés dans le fichier Chiplist.txt.
- Remplacé des périphériques Flash AMD et Toshiba existants mais inutilisés dans l'image par les paramètres corrects pour les pièces Fujitsu MBM29LV400BC et Macronix MX29LV400B. Nom du fabricant mis à jour, nom de périphérique, paramètres de programmation flash et divers pointeurs. Il faut prendre soin de modifier les chaînes et les pointeurs afin que les noms et les numéros de pièce du fabricant de remplacement puissent s'intégrer dans l'espace de la liste existante des chaînes.
- Utilisez Sirfflash pour télécharger le nouveau firmware sur l'appareil.
- ALMANAC confirmé était en cours de téléchargement et correctement enregistré dans la mémoire flash après une correction de position valide initiale, puis un cycle d'alimentation du GPS. Sirfdemo peut être utilisé pour télécharger l'Almanac dans l'appareil pour le confirmer. Temps rapides pour d'abord corriger les usines d'alimentation suivantes. J'ai de la chance cette fois - Succès!
L'image du micrologiciel non modifié d'origine et l'image correcée ont été fournies afin que vous puissiez comparer les images pour voir quelles modifications ont été apportées. Utilisez HXD pour cela.
Je suppose que le fabricant aurait pu produire cette souris GPS avec un certain nombre de pièces de mémoire flash différentes au fil du temps et la partie avec laquelle ma souris GPS particulière a été fabriquée n'a pas été spécifiée dans le firmware. Bien que le GPS ait dû sembler fonctionner, il n'a pas été réalisé à l'usine que l'Almanach était jeté après chaque puissance. Le bogue n'a pas été capturé lors des tests et de la libération de produits originaux.
L'image fixe et le GPS ont été utilisés avec succès dans un tracker APRS ces dernières années. L'image a également été utilisée avec succès pour mettre à jour une 2e Rikaline GPS-6010 Serial Mouse de Sirf Firmware version 2.2.0 à 2.3.1 tout en corrigeant son problème de flash.
Outils utilisés
Sirfflash et Sirfdemo * - https://web.archive.org/web/20190831163705/https://www.falcom.de/support/software-tools/sirf
Hxd - https://mh-nexus.de/en/hxd/
Manuel du GPS-6010 Rikaline - https://www.manualslib.com/manual/261000/rikaline-gps-6010.html
(*) Le FALCOM d'origine se lie à Sirfflash et Sirfdemo apparemment plus long.