LE
3COM PALMPILOT ET LINUX
Parmi les divers PADs comme le Newton, les Pocket-computers sous
Windows CE ou les Psion, l'un d'entre eux se place un peu à part
: le Palm Pilot de 3Com/US Robotics. Sa grande popularité est
dûe entre autre à son prix moins élevé, sa petite taille (4,7x3,2x0,7
pouces) et surtout au nombre important de logiciels fonctionnant
avec. Il n'est donc pas étonnant que le PalmPilot bénéficie de
l'intérêt des utilisateurs/développeurs Linux.
LE
MATERIEL
Un PalmPilot se présente sous la forme d'un écran tactile monochrome
à cristaux liquides rétro-éclairé. Il est équipé en plus, de huit
boutons permettant de l'allumer, d'appeler des applications favorites
et de faire défiler les choix à l'écran. Dans sa configuration
d'origine, il intègre diverses applications, un carnet d'adresses,
un gestionnaire de rendez-vous, un bloc note, une calculatrice,
etc... Mais par le biais d'InterNet, il est possible de lui adjoindre
tout un tas d'utilitaires divers. A l'heure où nous écrivons ses
lignes, il se décline en deux versions. La première, le PalmPilot
Personnel, possède 512 Ko de mémoire et la version Professionnelle
en possède 1Mo. C'est là, la seule différence entre les deux versions.
A l'achat, le PalmPilot est livré avec un socle permettant l'échange
de données avec un ordinateur de bureau via un port série. Ce
socle n'est, en fait, qu'un simple câble nul modem modifié. De
ce fait, il n'est pas inexacte de dire que le connecteur présent
en bas du PalmPilot est un port série puisqu'en outre, il permet
la connexion d'un modem standard via un câble spécial. Les logiciels
fournis dans la boîte par le constructeur sont exclusivement pour
un environnement MS Windows. Les utilisateurs d'autres systèmes
devront télécharger les programmes sur InterNet.
La
variété d'applications pour PalmPilot disponibles sur le Net est
énorme. Ces applications couvrent des domaines comme les mathématiques,
l'électronique, la gestion, l'informatique, etc...
Les
informations sur le produit et la manière de développer des applications
sont également très présentes. On peut facilement trouver un grand
nombre de documentations techniques sur le PalmPilot dans divers
formats (DVI, PDF, PS, Text, etc...). Par là même, on peut dire
que le PalmPilot, et en particulier PalmOS, est un système ouvert.
LOGICIELS
LINUX
La personne possédant à la fois un PalmPilot et une machine de
bureau sous Linux, cherchera en premier lieu un utilitaire de
transfert. Ce logiciel, existe bien sûr et il se nomme Pilot-link.
Il vous permettra, entre autre, de transférer des données entre
PC et PalmPilot. Après compilation du package, vous trouverez
une douzaine de programmes. Mais le plus utilisé est sans doute
pilot-xfer pour ajouter et supprimer des "fichiers"
dans la mémoire du PalmPilot. Le périphérique par défaut de ce
package est /dev/pilot. Il est donc fortement conseillé de créer
un lien symbolique entre /dev/cua1 (COM2) et /dev/pilot. Ceci
vous évitera de définir systématiquement /dev/cua1 comme paramètre
pour chaque programme. L'option -l de pilot-xfer vous permettra
de lister les "fichiers" présents sur le PalmPilot.
Les options -i et -d suivies du nom du fichier vous permettrons
respectivement d'installer et de supprimer un "fichier".
PROBLEME
DE PORT
Qu'arrive-t-il lorsqu'une souris est présente sur cua0 et un modem
sur cua1 ? Une telle configuration oblige une gymnastique incessante
entre les câbles. La meilleure solution est donc d'ajouter un
port série à la machine. On peut trouver ce genre de chose sous
la forme d'une carte ISA pour une centaine de francs. Une fois
la carte enfichée dans son slot, il vous faudra la configurer
sous Linux à l'aide de la commande setserial. Exemple :
setserial /dev/cua2 port 0x2E8 irq 10
Ceci
paramétrera le device cua2 (COM3) avec une adresse en hexadécimale
de 2E8 et une irq 10. Attention cependant à bien utiliser les
mêmes paramètres que ceux définis à l'aide des cavaliers sur la
carte ISA. Dans le cas contraire, votre nouveau port ne fonctionnera
pas.
DEVELOPPEMENT
Le PalmPilot, dans sa boîte d'origine, est fourni avec une petite
publicité pour des accessoires. Parmi eux, on pourra trouver un
kit de développement en... Visual C++ (MS) et Metrowerks CodeWarrior
pour Mac.
Heureusement, les gourous de la programmation libre se sont penchés
sur le Palm OS et ont crée un cross-compilateur gcc. L'équipe
de Jeff Dionne a crée un package nommé prc-tools. Nous avons testé
la version 0.5.0. Celle-ci nécessite les packages GNU binutils-2.7.tar.gz,
gcc-2.7.2.2.tar.gz et gdb-4.16.tar.gz. Le langage Perl et la bibliothèque
libiberty.a sont également nécessaires pour un parfait fonctionnement
des fichiers Make. Les packages cités plus haut seront décompactés
par le Makefile, patchés, compilés et enfin, installés. De ce
fait, il vous faudra quelques dizaines de mégaoctets disponibles.
Après
compilation et installation par un make doeverything, vous trouverez,
entre autre, les programmes suivants :
- obj-res
prendra un exécutable mk68k-palmos-coff et créera le code,
les données et les préférences qui seront inclus au fichier
.prc
- pilrc
convertit un fichier texte et produit une ressource binaire
- build-prc
permettra de concaténer les différents fichiers de ressource
binaire dans un fichier exécutable par le PalmPilot
- txt2bitm
utilise une description d'un bitmap et en fera une ressource
binaire de type icône
- libc.a
et libc.sa. Des bibliothèques C standards (en version statique
et partagée).
- libm.a
est la bibliothèque mathématique en simple précision.
- libGlib.a
est la bibliothèque de chargement dynamique
Nous avons fait sommairement le tour du package. Pour plus de
renseignements sur le développement d'applications, vous trouverez
un formidable tutorial sur le GNU Pilot SDK écrit par Andrew Howlett
(voir référence InterNet).
EMULATEUR
Tout le monde n'est pas susceptible de vouloir dépenser les quelques
1500 francs nécessaires à l'acquisition d'un PalmPilot. Pour régler
ce problème sans se priver de Palm OS, Ivan Curtis à créé Xcopilot.
Il s'agit d'un émulateur PalmPilot pour Xwindow. Attention cependant,
à l'heure où nous écrivons ces lignes l'émulateur (v0.4) est encore
en version Alpha et ne doit donc pas être considéré comme une
application stable (voir README inclus au tar.gz).
Il vous permettra d'utiliser un PalmPilot virtuel à condition
de se procurer une image binaire de la ROM d'un véritable PalmPilot.
Xcopilot sert également au test du package le plus étonnant :
µCLINUX
Sous ce nom se cache ni plus, ni moins un système Linux pour PalmPilot
! Il vous faudra les sources d'un kernel (ici 2.0.33), ainsi qu'une
version du cross-compilateur gcc décrit plus haut.
Une fois les sources du kernel décompactées, il faudra les patcher
avec le fichier diff fourni dans le package (attention : utilisez
l'option -p0). Enfin, compilez les trois éléments du package (uC-libc,
genromfs-kja-0.2 et xcopilot-v0.4-gdb) et vous pourrez tester
µClinux avec xcopilot. Si, lors de la compilation vous rencontrez
des erreurs, vérifiez les chemins dans les fichiers Makefile (nous
avons eu le problème).
Si les travaux vont bon train, peut être que le PalmPilot sera
le premier PAD sous Linux...
CONCLUSION
La preuve est faite qu'un produit intéressant pour l'utilisateur
est immédiatement supporté par Linux. Les constructeurs comme
3Com semblent avoir compris que ce n'est pas en entourant leurs
produits d'un flou commercial qu'ils deviennent populaires...
a bon entendeur...
Online
|
|