Aller au contenu

Décodage du software RT3 / NAVIDRIVE (Version VAN 5.5D)


Nicolas

Messages recommandés

Décodage du software RT3 / NAVIDRIVE (Version VAN 5.5D)

 

 

 

Vue d’ensemble des fichiers constituant le CD de mise à jour :

 

CD______.CD (2 Ko)

CD_Info_.CD (1 ko)

CT_com__.CD (263 ko)

 

CT_db_FR.CD (263 ko)

 

DT_com_7.CD (3725 ko)

DT_LUM_T.CD (9 ko)

DT_OSL__.CD (234 ko)

 

DTdb7_FR.CD (69 ko)

 

F_CT_com.CD (24 ko)

F_CT_db_.CD (24 ko)

 

F_DT_com.CD (0 ko)

F_DT_db_.CD (0 ko)

 

F_Mbcom_.CD (0 ko)

 

F_Rfbox_.CD (0 ko)

 

F_SR_db_.CD (0 ko)

 

F_TTSdbv.CD (0 ko)

 

FLASH_CT.CD (32 ko)

FLASH_DT.CD (89 ko)

 

FP_com__.CD (169 ko)

FPComD20.CD (84 ko)

FPComD21.CD (84 ko)

 

FPComT5_.CD (169 ko)

FPComT50.CD (84 ko)

FPComT51.CD (84 ko)

 

FPComZ90.CD (84 ko)

FPComZ91.CD (84 ko)

 

G_CT_com.CD (31 ko)

G_CT_db_.CD (31 ko)

 

G_DT_com.CD (21 ko)

G_DTdb7_.CD (12 ko)

 

G_FP_com.CD (55 ko)

 

G_Rfbox_.CD (23 ko)

 

Mbsw_FR2.CD (3174 ko)

Mbsw_FR3.CD (3128 ko)

 

Rfbox___.CD (1122 ko)

 

SR_db_FR.CD (264 ko)

 

TTS_M_FR.CD (3294 ko)

 

TTS_W_FR.CD (3592 ko)

 

VERDISCT.CD (2 ko)

VERDISDT.CD (1 ko)

 

FLASHER.OUT (60 ko)

 

 

J’ai retenu la version 5.50 VAN pour l’instant, soit un autre sujet sera mise en place pour la version CAN soit selon les avancées, les deux versions seront étudiées en même temps.

 

J’ai volontairement mis que les fichiers en langue française pour plus de compréhension.

 

On peut déduire que les fichiers en CT sont pour les écrans Monochromes et les DT pour les couleur.

 

Je pense que dans 1 er temps il serait bon de discuter sur le rôle de ces fichiers et leur action sur le RT3 / Navidrive.

 

Je compte sur toutes les personnes à l’instar du sujet sur l’intégration des radars de nous aider à décoder ces fichiers et savoir ce qu’ils contiennent pour pouvoir bien comprendre le fonctionnement du RT3 et ainsi y apporter des améliorations.

 

Je vous remercie d’avance pour vos recherches et éventuels travaux et vous souhaitent bon courage, sachez que vos avancées feront profiter toute la communauté des utilisateurs du RT3 /NAVIDRIVE. :)

Lien vers le commentaire
Partager sur d’autres sites


Bonjour a tous, alors c'est reparti ...

 

Dans mes investigations pour ADDPOI, j'ai été amené à regarder de près certains fichiers du CD firmware:

 

Remarque TRES importante:

Nous avons jusqu'ici fait des modifications sur le CD de cartographie. Apparemment, tout s'est bien passé, il n'y a pas eu de plantages irremediables du RT3, parce que ce CD etait un CD de DONNEES. Ici nous touchons à un CD qui contient du CODE. Toute erreur, toute manip hasardeuse, toute manip qui parait anodine peut se solder par la mise en panne définitive du RT3. Vous devez donc considérer que les informations données sur ce forum, tout au moins par moi, sont des informations données pour comprendre comment fonctionne le RT3 et non pour pouvoir en modifier le fonctionnement. A titre personnel je deconseille donc toute utilisation de ces informations pour essayer de modifier le firmware du RT3. Naturellement je decline toute responsabilite sur les conséquences de ces modifications.

 

Et maintenant les premiers fichiers:

 

DTDB7_XX.CD: fichier de messages:

 

XX = DE/DU/EN/ES/FR/IT/SP

 

BYTES 0x00...0x02 Header 0x0c, 0x0d, 0x00

BYTES 0x03...0x04 Langage (identique a XX)

BYTES 0x05...0x06 Nombre de messages dans le fichier = nm

BYTES 0x07 to 0x07 + (nm + 1) * 3 - 1: Table de pointeurs sur chaque message; la derniere entree pointe apres la fin du fichier.

BYTES 0x07 + (nm + 1) * 3 ... fin du fichier Table des messages (termines par 0x00).

L'acces a un message se fait par l'intermediaire de la table d'index située au début du fichier; il suffit ne multiplier le numero du message par 3, d'ajouter 7, on a alors un pointeur sur le message (par rapport au debut du fichier).

 

TTS_Y_XX.CD: fichiers de son:

 

XX = DE/DU/EN/ES/FR/IT/SP/US

 

Y=M(male) ou W(woman)

 

BYTES 0x00...0x0B Header avec version

BYTES 0x0c...0x0f Nombre de sous-fichiers = nsf

BYTES 0x10...0x10 + 0x10 * nsf: Headers des nsf sous-fichiers; pour chaque header:

 

BYTES 0x00...0x03: offset dans le fichier du sous-fichier

BYTES 0x04...0x07: longueur du sous fichier

BYTES 0x08...0x0b: type du sous fichier

BYTES 0x0c...0x0f: longueur du sous-fichier(identique a 0x04...0x07)

 

Deux types de sous-fichier sont particulierement interessants: type 2 et type 3

 

Type 3: C'est un son echantillonne en mono 16 bits 16 khZ. Arnd a d'ailleurs ecrit un petit editeur qui permet de modifier les sons standards du RT3 (cf remarque preliminaire importante sur les modifications du CD firmware).

 

Type 2: 'est un son synthetise. Sa description est une chaine ASCII qui decrit le son. La chaine commence par "proso{" and se termine par "}CRLF". Cette chaine comporte une succession de

"lettres[nb1,nb2]nb3[nb4,nb5]". Je ne connais pas la signification exacte des 5 nombres (parametres de la synthese) mais les lettres montrent la phonetique du son:

Par exemple:

"a...p...r...ai...l...eu...t...u...n...ai...l...^...sil" qui synthetise le message "après le tunnel"

Il est curieux de noter que suivant les langues, certains messages sont de type 2, et d'autres de type 3.

 

Voila, c'est tout pour ce soir ...

Lien vers le commentaire
Partager sur d’autres sites

Merci Phil95 pour tes 1ere recherches,

 

Tu fais effectivemennt bien de signaler que cette compréhension du RT3 si elle fait suite aux modifications de fichiers du logiciel du RT3 risque son blocage total et irrémédiable si pas d'outil pour revenir en arriére. (c'est bien de le préciser)

 

Pourrais tu nous énumérer des nom de logiciel d'éditeurs hexa ou autre afin que certains puisse mieux visualiser ces chaines de codes ;)

 

Merci

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...
  • 1 mois après...
  • 1 mois après...
  • 5 mois après...

Bon, je n'ai pas le niveau de phil95 ou de janfi67 mais j'ai déjà fait du reverse engineering sur certains programmes écrits en assembleur.

 

Mon désir est que le rt3 m'indique les radars par oral car je ne suis qu'un pauvre possesseur de RT3 avec écran monochrome donc les icônes...

 

Le fichier SR_db_FR.CD contient les chaînes de reconnaissance vocale (Speech Recognition).

A mon humble avis, à chaque chaîne est associée les sons à reconnaître. Comme dans le fichier TTS, les sons de type 2.

 

Dans d'autres fichiers, il y a le mot ELF : j'avais lu dans un post de JAnfi67 qu'il connaissait ce format de fichier. Google étant mon ami, j'ai appris qu'il s'agirait d'un conteneur pour programme avec ses dépendances.

 

Je ne suis pas allé plus loin. e111111 et framy avaient l'air de bien connaître le système mais ils n'ont plus posté sur le sujet ou alors j'ai mis mes lunettes à l'envers.

 

Voilà, en espérant que les spécialistes pourront nous aider.

Lien vers le commentaire
Partager sur d’autres sites

TTS_Y_XX.CD: fichiers de son:

 

XX = DE/DU/EN/ES/FR/IT/SP/US

 

Y=M(male) ou W(woman)

 

BYTES 0x00...0x0B Header avec version

BYTES 0x0c...0x0f Nombre de sous-fichiers = nsf

BYTES 0x10...0x10 + 0x10 * nsf: Headers des nsf sous-fichiers; pour chaque header:

 

BYTES 0x00...0x03: offset dans le fichier du sous-fichier

BYTES 0x04...0x07: longueur du sous fichier

BYTES 0x08...0x0b: type du sous fichier

BYTES 0x0c...0x0f: longueur du sous-fichier(identique a 0x04...0x07)

 

Deux types de sous-fichier sont particulierement interessants: type 2 et type 3

 

Type 3: C'est un son echantillonne en mono 16 bits 16 khZ. Arnd a d'ailleurs ecrit un petit editeur qui permet de modifier les sons standards du RT3 (cf remarque preliminaire importante sur les modifications du CD firmware).

 

Type 2: 'est un son synthetise. Sa description est une chaine ASCII qui decrit le son. La chaine commence par "proso{" and se termine par "}CRLF". Cette chaine comporte une succession de

"lettres[nb1,nb2]nb3[nb4,nb5]". Je ne connais pas la signification exacte des 5 nombres (parametres de la synthese) mais les lettres montrent la phonetique du son:

Par exemple:

"a...p...r...ai...l...eu...t...u...n...ai...l...^...sil" qui synthetise le message "après le tunnel"

Il est curieux de noter que suivant les langues, certains messages sont de type 2, et d'autres de type 3.

 

Voila, c'est tout pour ce soir ...

J'ai trouvé la signification de nb1, nb3 et nb5 dans une documentation de acapela qui a racheté elan speech, fournisseur de la partie TTS du rt3.

nb3 est la durée en milliseconde de la lettre et

nb1 et nb5 sont le pitch en Hz du début du son et de la fin du son.

Le "sil" de la fin signifie silence et le nombre qui le suit est en ms

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

-xan22-Framy va revenir, depuis un peu plus de 6 mois au boulot j'ai été hyper chargé (je bosse pour un grand parc d'attraction dans la région parisienne, on a eu quelques nouveautées a mettre en place, donc bcp bcp d'heures prisent sur le temps de repos) et beaucoup d'aller/retour entre la france et les USA.

 

Je vais pouvoir m'y remettre.

 

Je reviens de floride (pour le boulot) avec plein de soleil dans la tête et une peche d'enfer.

Lien vers le commentaire
Partager sur d’autres sites

-xan22-Framy va revenir, depuis un peu plus de 6 mois au boulot j'ai été hyper chargé (je bosse pour un grand parc d'attraction dans la région parisienne, on a eu quelques nouveautées a mettre en place, donc bcp bcp d'heures prisent sur le temps de repos) et beaucoup d'aller/retour entre la france et les USA.

 

Je vais pouvoir m'y remettre.

 

Je reviens de floride (pour le boulot) avec plein de soleil dans la tête et une peche d'enfer.

 

Voila une excellente nouvelle (ton retour, pas les heures de repos en moins ;) )

 

Le soft du RT3 ne conservera plus longtemps ses secrets.

Lien vers le commentaire
Partager sur d’autres sites

Il y a un autre fichier qui n'a pas été mentionné jusqu'ici dans cette discussion, le fichier DB_DWNL.OUT.

 

Il n'est pas sur le CD d'upgrade, mais présent sur chaque cartographie et de

toute évidence, il s'agit d'un exécutable. Je me dis que s'il est là, c'est

peut-être qu'il est chargé en RAM à chaque démarrage et exécuté, contrairement aux autres qui sont flashé.

 

Ce serait une excellente nouvelle, car en le modifiant, on devrait pouvoir

ajouter du code à nos RT3 sans même les upgrader, ce qui devrait éliminer

bien des risques. Si grâce à lui on peut créer et lancer une nouvelle tâche

VxWorks, on pourrait imaginer un fonctionnement à la POI-Warner, un module

relativement indépendant du reste.

 

Je n'ai pas ce qu'il faut pour aller bien loin dans l'analyse de ce fichier,

mais les symboles en ASCII sont assez explicites :

 

des méthodes comme UTM_ED50, WGS_ED50, Wgs_coord_to_utm_coord s'occupent

visiblement de traduction de coordonnées d'un datum à l'autre.

 

des symboles comme _filePoiStuDst , _filePoiStrDst , _filePoiSspDst , _filePoiSshDst , _filePoiShrDst , _filePoiSemDst , _filePoiSccImp , _filePoiSccDst , _filePoiSauDst , _filePoiSafDst rappellent les catégories trouvées dans les cartes et les fichiers FRANCXXX.DST.

 

Très peu d’autres symboles avec poi dedans, mais tout de même un CdCartogr::Load_poi_by_parc_cache avec un paramètre de type TYPE_DRAW_SERVICE. Service serait-il synonyme de POI ?

 

On trouve aussi un CdCartogr::Load_city_center_by_parc_cache avec un paramètre de type TYPE_DRAW_FAC.

 

FAC revient très souvent dans les symboles… Est-ce que ça a à voir avec les centres ville ou avec les POI ? FAC = FACility ? je sais juste qu’un FAC doit avoir des attributs ressemblant à ceux des POI vu les methodes Get_fac_phone, Get_fac_name, Get_fac_international_prefix, Get_fac_road_name, des méthodes avec un TYPE_CAT_CODE comme paramètre. Si CAT veut dire CATEGORIE, cette notion est liée aux POI.

 

On trouve aussi Get_fac_near avec entre autre comme paramètre TYPE_GEO_COORD (une coordonée géographique sans doute), CfilterFacility qui semble lié au filtrage des POI et un pointeur sur TYPE_FAC_BUFF. Trouver les FAC proches de la position donnée en paramètre et les mettre dans un buffer ?

 

On trouve aussi énormément de symboles avec parc dedans. Je me demande si ce n’est pas l’abréviation de parcel, l’équivalent des dalles en cartographie numérique (les carrés trouvés par Phil95 pour les RT3)

 

Tout comme RT3MapEditor, le RT3 doit savoir si le guide champérard est présent sur le CD. C’est sans doute le rôle de la méthode Is_champerard_CD

 

Enfin quelques classes C++ définies dans cet exécutable : CLZW , CLZW_EXPAND (on se doute à quoi ça sert), CfilterMichelin, CfilterFacility (semble lié aux filtres d’affichage des POI), CdCartogr.

 

Cet exécutable a l’air composé de plusieurs taches ou en tout cas, il envoie des messages à d’autres tâches : Send_msg_to_task_read_without_wait, Send_msg_to_task_read_status, Send_msg_to_task_read_champerard, Send_msg_to_task_read_from_file_lzw, Send_msg_load_service_of_map …

 

Ce n’est sans doute pas dans ce fichier qu’on trouvera de quoi afficher une icône ou émettre un message vocal… Ces services rendus par le RT3 sont sans doute implémentés dans un des exécutable du CD d’upgrade. Mais si celui-la peut nous servir à lancer une nouvelle tâche sans upgrade, ce sera déjà bien.

Lien vers le commentaire
Partager sur d’autres sites

Invité raphk34

Bonsoir,

je vois qu'il y en a qui bossent :bien:

C'est au dessus de mon niveau informatique, mais si jamais je peux vous aider ce sera avec le plus grand plaisir (perso, je connais assez bien le langage VB et la logique qui va avec).

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

je vois qu'il y en a qui bossent :bien:

C'est au dessus de mon niveau informatique, mais si jamais je peux vous aider ce sera avec le plus grand plaisir (perso, je connais assez bien le langage VB et la logique qui va avec).

 

Ce n'est malheureusement pas du boulot sérieux... Je me contente de regarder les symboles présent dans certains fichiers.

 

Et je ne peux pas aller bien loin, faute d'outillage. Un fichier comme DT_com_7.CD à l'air très intéressant. On y trouve plein de choses qui ont à voir avec l'affichage. Affichage de segments, d'images (avec une liste d'image... peut être aussi les icônes des POI?), de layer...

 

Mais ce n'est pas un fichier ELF, plutot une sorte d'image disque. Seulement faute d'outils et de doc sur VxWorks, je ne peut que l'ouvrir avec un éditeur de texte. Je trouve donc des symboles, mais pas moyen de savoir ce qui se cache derrière.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...

Je viens de passer quelques heures sur le soft du RT3.

 

Les fichiers Mbsw_FR2.CD Mbsw_FR3.CD sont des images ROM compressées VxWorks, probablement le SW qui tourne sur la carte mère, d'ou le nom, Mother Board SoftWare.

 

J'ai fini par les décompresser. Mais je ne suis guère avancé. Autant le format ELF aide un désassembleur, autant une image binaire dont on ne connait pas le format ne dit pas grand chose (à par les chaines de caractères).

 

Si quelqu'un (framy par exemple ;) ) a des infos sur ce format, ou commencent les segments code, text... quel est le point d'entrée... Je pourrais peut-être avancer?

 

Je cherche la dedans la file qui gère le TTS (il doit bien y avoir une tâche dédiée à ça, le format des messages à lui envoyer, le moyen de récupérer la position donnée par la carte gps ... et à utiliser tout ça dans une nouvelle tâche qui sera lancée par DB_DWNL.OUT, de manière à éviter tout upgrade soft qui pourrait être fatal à mon RT3.

 

Edit: Quand on oublie pas que le SH4 peut fonctionner en big-endian, ça va un peu mieux... mais si j'avais les adresses des segments, ce serait quand même mieux...

 

J'ai fini par trouver l'adresse du segment de code... me voila maintenant à chercher une aiguille dans une motte de foin!

Lien vers le commentaire
Partager sur d’autres sites

  • 2 ans après...

Salut à tous,

 

Je viens de découvrir ce topic ... Je me suis essayé également à décoder certains fichiers, mais je coince. Quel soft utilisez-vous pour les autres et quels sont les paramètres ?

 

Infos : En ouvrant le RT3 et en analysant la configuration, on trouve (évidemment) le processeur SH4, mais plus intéressant, sur la carte du RT3, il y a une série de plots étamés, qui correspondent très certainement à une interface JTAG permettant un debuggage in-situ. Le JTAG se connecte à un port parallèle de PC sur lequel tourne l'environnement de développement VxWorks - Tornado. Le code est alors exécuté sur la carte embarquée (ici le RT3), mais le contrôle s'effectue sur un "Host", PC. Par ailleurs, le circuit ST - Magneti-Marelli ressemble fortement à une interface IDE revue (dans le cas du RT3, toutes les connexions d'un lecteur CDROM standard IDE ne sont pas nécessaires). C'est un résumé des informations que j'ai pu relevé en analysant le hard jusqu'à maintenant.

 

@+, JAG.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.