MQX 4.0 vous propose l’outil mktfs.exe pour générer un fichier .c compatible avec le système de fichier TFS.
mktfs.exe se lance en ligne de commande et transforme chaque fichier contenu dans un répertoire donné (et ses sous-répertoires) en un tableau d’octets. Les octets contenus dans ces tableaux sont bien sûr les octets qui constituent les fichiers.
Pour faire fonctionner correctement cet outil, il faut prendre en considération les points suivants:
Fichier de sortie
Le fichier de sortie de mktfs.exe s’appelle tfs_data.c. Il est créé dans le répertoire de travail courant de la ligne de commande. Il n’est pas possible de modifier le nom du fichier ni son chemin.
Nommage automatique des tableaux
Les tableaux d’octets générés par mktfs.exe dans tfs_data.c sont nommés automatiquement. En particulier, les noms sont fabriqués à partir du répertoire de travail qui a été spécifié en argument lors de l’appel à mktfs.exe, du sous-répertoire dans lequel se trouve chaque fichier, et bien sûr du nom du fichier lui-même.
C’est là qu’il y a un problème potentiel: si l’une des composantes du chemin d’accès aux fichiers (y compris le nom du fichier lui-même) contient un caractère illégal du point de vue du nommage des variables en langage C, le fichier tfs_data.c résultant ne sera pas compilable.
En particulier, si l’on travaille sous Windows et que l’on passe un chemin d’accès absolu en argument à mktfs.exe (« C:\mon_projet », par exemple), les noms de variables générés dans tds_data.c vont systématiquement comporter « C:\ ». Or, le double point et l’antislash sont des caractères illégaux dans les noms de variables en C.
La solution
Pour utiliser correctement mktfs.exe, il faut donc respecter deux règles simples:
- Le lancer à partir du répertoire dans lequel le fichier tfs_data.c doit être généré.
- Les fichiers à traiter doivent se trouver dans un sous-répertoire du répertoire qui contient tfs_data.c.