1.1. Předmluva
V této knize na pokračování, kterou zde budu postupně uveřejňovat, si popíšeme, jak vytvářet kvalitní programy pro počítače Palm Pilot a jemu podobné (IBM Workpad, Handspring Visor a jiné) ve volně šířeném vývojovém prostředí GNU. Kniha je určena čtenářům, kteří mají alespoň základní povědomí o programovacím jazyce C/C++ a nevyznají se v operačním systému PalmOS. Pro ty z vás, kteří už programovat počítače Palm Pilot umějí, nebude začátek knihy zajímavý, ale postupem času možná oceníte některé z posledních kapitol, popisující například použití infračerveného a sériového rozhraní nebo vytváření vlastního hardware k Palm Pilotovi.
Kniha je rozdělena na kapitoly, struktura všech kapitol knihy bude podobná: na začátku budou popsány nové prvky programu, které budeme používat a na konci kapitoly vytvoříme -- v několika krocích -- kompletní malý program pro Palm Pilota, ve kterém využijeme vše, co jsme se naučili. Zpočátku nepůjde o žádné zázračné a dokonalé programy; to se však postupem času změní a od třetí kapitoly půjde dokonce o programy užitečné.
1.2. Instalace vývojového prostředí GNU
Je to opravdu zdarma?
Cituji z úvodní stránky serveru www.gnu.cz: "GNU je rozsáhlý projekt, který vytvárí volně šiřitelný software na profesionální úrovni. Narozdíl od shareware produktů jsou ale tyto programy úplně zdarma a jsou k dispozici i jejich zdrojové kódy. Je možné i jejich komerční využití." Programy jsou šířeny v licenci GPL (GNU general public licence), jejíž český překlad je na internetu uveden na adrese http://www.gnu.cz/gplcz.html. Stručný výtah je následující: je-li program šířen pod licencí GPL, můžete jej používat zdarma a bez jakéhokoliv omezení k čemukoliv, včetně psaní komerčních aplikací. Jistě vás potěší, že takto je distribuováno i vývojové prostředí pro Palm Piloty od firmy Cygnus Solutions i všechny ostatní programy, které budeme používat při psaní našich programů.
Společnost Palm, Inc., která vyvinula operační systém PalmOS (www.palm.com) tomuto vývoji nijak nebrání a šíří aktuální hlavičkové soubory s prototypy systémových funkcí a definicemi datových typů PalmOS také zcela volně, jak je (anglicky) popsáno na stránce http://www.palmos.com/dev/tech/tools/sdk35.cgi. Takže odpověď na otázku v nadpisu zní "ano, je to zcela zdarma a pokud budete chtít vyvíjet programy pro Palm Piloty můžete to dělat aniž byste komukoliv platili".
Co všechno potřebujete
Pro překlad programů pro operační systém PalmOS v prostředí Microsoft Windows 95/98 potřebujete počítač s procesorem Pentium, více než 16 MB paměti RAM a asi 60 MB místa na harddisku. V následujícím seznamu jsou postupně uvedeny jednotlivé části vývojového prostředí, které budete potřebovat a které jsou volně ke stažení na internetu:
- Vývojové prostředí od firmy Cygnus Solutions ( http://www.palmos.com/dev/tech/tools/gcc/dist/cygwin-b20.1-full.exe) - asi 15 MB instalační soubor.
- Sadu překladačů pro PalmOS pracujících v tomto vývojovém prostředí ( http://www.palmos.com/dev/tech/tools/gcc/dist/prc-tools-2.0.exe) - asi 7 MB.
- Vývojový kit (SDK, software development kit) pro PalmOS 3.5 od společnosti Palm, Inc., který získáte takto: Na internetové adrese http://www.palmos.com/dev/tech/tools/sdk35.cgi potvrdíte, že souhlasíte s licenčními podmínkami pro distribuci, stiskem tlačítka I Agree vespod na stránce; pak teprve můžete stáhnout Palm OS SDK 3.5 for PRC-Tools Installer, v sekci windows - asi 1 MB.
- Uživatelské rozhraní aplikace pro PalmOS je definováno v souboru prostředků (resources). Pro vývoj programů budete nezbytně potřebovat překladač tohoto souboru prostředků pilrc. ( http://www.ardiri.com/download/palm/pilrc/pilrc_w32.zip) - asi 400 kB.
Také se vám bude hodit emulátor Palm Pilota na PC (POSE), který získáte na webových stránkách společnosti 3Com, Inc. a program pilot-xfer pro rychlou instalaci aplikací do Palm Pilota. Pro grafický návrh uživatelského rozhraní je možné použít řadu programů dostupných na internetu, zkuste třeba PilRCEdit, napsaný v jazyce Java, který je možné získat na adrese http://www.wn.com.au/rnielsen/pilrcedit/pilrcedit030.zip. Bude se vám také hodit programátorský textový editor, který umí zvýrazňovat syntaxi: já používám freewarový ConTEXT ( http://www.fixedsys.com/context), se kterým jsem velmi spokojen.
Různé verze PalmOS
Operační systém prvních počítačů Palm Pilot nesl číslo 1.0; dnes prodávané počítače Palm Vx a podobné mají operační systém verze 3.5. Na stránkách společnosti 3Com, Inc. můžeme získat vývojové kity (SDK = software development kit = sada hlavičkových souborů a knihoven, která tvoří rozhraní s operačním systémem Palm Pilota) pro všechny verze PalmOS. Vzhledem k vysokému stupni kompatibility mezi jednotlivými verzemi operačních systémů počítačů Palm Pilot a podobných nám bude stačit pouze vývojový kit pro verzi operačního systému 3.5. S vyjímkou některých funkcí, které ale budeme potřebovat až ve druhé části knihy, je možné tento vývojový kit použít bezpečně i pro překlad programů pro PalmOS 2.0 až 3.3.
Pokud při našem psaní programů narazíme na funkci, která není kompatibilní s operačním systémem PalmOS verze 2.0 tak to u ní bude explicitně uvedeno. Později, při psaní programů, které se budou chovat různě v různých verzích PalmOS, si o problematice odlišností operačních systémů řekneme víc; zpočátku nám musí stačit, že přeložené programy půjdou bezpečně spustit na všech modelech počítačů Palm Pilot s operačním systémem alespoň 2.0.
Instalace
Instalace vyžaduje několik navazujících kroků a je velmi přímočará. Postup instalace jsem opakovaně zkoušel pod operačními systémy Windows 95 i 98 a vždy proběhla bez obtíží (vyjma kombinace Windows 98 + komprimovaný disk + antivirový program Avast, kdy bylo potřeba po dobu překladu dočasně vypnout antivirový program). Zatím jsem neměl možnost experimentovat s Windows 2000 nebo NT a ocením vaše zkušenosti v tomto směru. Hlavní součásti vývojového prostředí nainstalujete na svém počítači takto:
- Spusťte soubor cygwin-b20.1-full.exe a potvrďte instalaci do adresáře c:\cygnus.
- Spusťte soubor prc-tools-2.0.exe a potvrďte všechny nabízené volby (instalace všech komponent a cílové adresáře c:\Program Files\PRC-Tools pro programy a c:\PalmDev pro uložení knihoven).
- Spusťte soubor Palm OS 3.5 SDK for prc-tools.exe a potvrďte instalaci do adresáře c:\PalmDev (to je stejný adresář, jako v předchozím bodě).
- Ze souboru pilrc_w32.zip zkopírujte soubory pilrc.exe a pilrcui.exe do adresáře c:\cygnus\cygwin-b20\H-i586-cygwin32\bin (to je adresář s pomocnými programy vývojového prostředí, ve kterém se nachází dynamická knihovna cygwin1.dll.
-
Na konec souboru AUTOEXEC.BAT následující tři řádky, upravující
systémové proměnné:
-
Spusťte program COMMAND (příkazovou řádku MS DOSu) nebo program sh
(příkazovou řádku prostředí Cygwin a zadejte následující tři příkazy, kterými
nastavíte pomocí symbolického odkazu, že budete standardně používat cílový
operační systém PalmOS 3.5.
- Restartujte počítač.
Po restartu počítače byste měli mít vývojové prostředí pro PalmOS plně funkční a připravené plnit vaše nejnáročnější úkoly. V následující tabulce uvádím orientační přehled, co můžete hledat ve kterém adresáři:
Adresář | Obsah |
---|---|
c:\cygnus\cygwin-b20\H-i586-cygwin32\bin | Základní programy vývojového prostředí Cygwin, které jsou podobné systémovým programům operačního systému Unix. Zde najdete programy make, ls, rm, touch a podobné. Sem jsme také zkopírovali překladač souboru prostředků pilrc a jeho grafický prohlížeč pilrcui. |
c:\Program Files\PRC-Tools\H-i586-cygwin32\bin | Zde jsou specifické programy, které překládají aplikace pro operační systém PalmOS. |
c:\PalmDev\sdk-3.5 | Zde jsou v podadresářích lib a include uloženy knihovny resp. hlavičkové soubory nutné pro překlad aplikace pro PalmOS. |
Všechny programy by mělo být nyní možné spustit z příkazové řádky. Zkuste
spustit program sh. Na obrazovce by se mělo objevit okno s
aplikací v textovém režimu, na jeho první řádce by měla být výzva s blikajícím
kursorem, čekajícím na zadání příkazu. Napište příkaz
m68k-palmos-gcc -v, kterým zjišťujete verzi překladače
pro PalmOS a stiskněte klávesu Enter. Pokud program vypíše následující text:
gcc version 2.95.2-kgpd 19991024 (release)tak instalovaná verze překladače pracuje správně.
Příště si povíme více o o jednotlivých programech, tvořících prostředí pro vývoj aplikací pro PalmOS, které budete využívat, zejména o programu make a souborech Makefile.