Разработка для PalmOS под Linux
Автор: © David "Scooter" Lukens
|
Резюме На написание этого документа меня вдохновили усилия по созданию работающей среды разработки на Linux-машине. Меня так разъярили попытки собрать и увязать все необходимое в среде Cygwin, что я сосредоточился на том, чтобы заставить все заработать под Linux. Здесь вы найдете описание, какие программы надо установить, что включает в себя эмулятор, компилятор и SDK. Проблемы конфигурации системы тоже нашли свое отражение.
Введение Однажды мы с другом сказали: "А не кисло бы было писать собственные проги для palm'а?". Мысль показалась нам отличной, и я начал вникать в то, что надо собрать для создания среды разработки. Мой друг пользует в основном Win-32, а я практически полный *никсоид. Так как Win32 оказалась общей платформой, доступной нам обоим, я начал поиски имеющегося инструментария. Под Win32 есть два основных способа приняться за разработку на C. Один -- это Metrowerk's CodeWarrior for Palm, который дороговат для нашего любительского проекта. Второй возможностью является использование инструментария PRC, работающего в среде cygwin. Если вы не знакомы с этим пакетом, то его можно найти на http://sources.redhat.com/cygwin/. Cygwin сделает вашу win32 тачку более похожей на *nix машину и содержит многие обычные *nix инструменты (ls, dd, gcc и т.д.), портированные на win32. После недельной борьбы с инструментами для win32 и так никуда и не приплыв, я решил отправить идею разработки под этой платформой на помойку. Следовательно Linux, а конкретнее RedHat 6.0 или 6.2, стал следующим вариантом и окончательным решением. Для того, чтобы все заработало под Linux, нужно собрать несколько частей. Вот список основных компонентов:
Приступая к работе (установка эмулятора) Первой нужной для работы деталью является эмулятор Palm POSE. Его можно скачать с http://www.palmos.com/dev/tech/tools/emulator/ вместе с различными скинами (графическими представлениями аппаратной части). Если вам приходилось раньше компилировать программы, то это вам как дважды два. POSE требуется библиотека FLTK для меню и всего остального. FLTK доступна на http://www.fltk.org. Еще раз, если вы чего-нибудь уже компилили, то все просто. Ну ладно, POSE вы скомпилировали и установили, думаете уже все? Не совсем. В POSE не входит ни один образ ROM. Образы ROM -- это такие снимки PalmOS, которые находятся во FlashROM самого Palm'а. Получить образ ROM можно двумя способами. Во-первых, к эмулятору прилагается palm'овская прога, которая позволяет POSE высосать образ ROM прямо из PalmOS девайса. [Круто, да?] Во-вторых, можно присоединиться к программе поставщиков решений palm.com на http://www.palmos.com/dev/program/. После этого вы получаете доступ к Provider Pavillion на http://www.palmos.com/dev/pavilion/, где есть разные образы ROM. Есть специальные версии для тестирования и отладки, есть совсем нормальные, поэтому внимательно смотрите, что хватаете. Еще, образы ROM с сайта для разработчиков обычно не предназначены для загрузки в Palm. Обновления ROM и PalmOS находятся в другом месте на том же сайте. Ну, теперь эмулятор заработал. Кликните правой кнопкой по File:New и укажите какой файл с ROM использовать, какой девайс эмулировать, графический скин и размер оперативки. Вы должны увидеть что-то наподобие этого:
Установка компилятора с прибамбасами Для того, чтобы все начало функционировать, нужно поставить еще несколько вещей. А именно, PRC tools, SDK для palm'а и PilRC. PRC tools -- это порт нашего любимого GCC, но с выходным форматом для PalmOS. В SDK находятся несколько библиотек и куча заголовков для Palm API. Наконец, PilRC нужен для компиляции ресурсов. PRC tools можно найти на http://sourceforge.net/projects/prc-tools/. Это связка заплаток для binutils, gdb, GCC и компоновщика, дающее поддержку PalmOS. RPM'ы можно также найти на http://www.palmos.com/dev/tech/tools/gcc/dist/prc-tools-2.0-1.Linux-i386.rpm. Далее идет SDK. Их можно взять с palm.com. SDK для PalmOS 3.5 (самый свежий на момент написания статьи) доступен только для зарегистрированных на Palm.com Provider Pavillion разработчиков. Более ранние SDK можно взять здесь: http://www.palmos.com/dev/tech/tools/gcc/dist/palmos-1-2-3.1-sdks-1.tar.gz. SDK 3.5 содержит документацию, описывающую и более ранние версии. В старых SDK ее нет. Установка PRC создаст директорию /usr/local/palmdev. В ней SDK надо распаковать. Еще надо сделать символическую ссылку, указывающую на тот SDK, который вы собираетесь использовать. Например, вот так выглядит мой /usr/local/palmdev: [scooter@scooter scooter]# ls -l /usr/local/palmdev/
total 28
drwxr-xr-x═══ 4 root════ root══════ ══4096 Mar═ 8═ 2000 Palm OS 3.5 Support drwxr-xr-x═══ 3 root════ root════════ 4096 Nov═ 1 10:03 doc drwxr-xr-x═══ 2 root════ root════════ 4096 Dec 21═ 1999 include drwxr-xr-x═══ 3 root════ root════════ 4096 Nov═ 1 10:02 lib lrwxrwxrwx═══ 1 root════ root═══════════ 7 Nov═ 1 10:07 sdk -> sdk-3.1 drwxr-xr-x═══ 3 root════ root════════ 4096 Feb═ 9═ 2000 sdk-1 drwxr-xr-x═══ 3 root════ root════════ 4096 Feb═ 9═ 2000 sdk-2 drwxr-xr-x═══ 3 root════ root════════ 4096 Feb═ 9═ 2000 sdk-3.1 Последнее, что вам потребуется -- это PilRC, который компилирует ресурсы в двоичную форму. Это нужно для кнопок, меню и замены картинок на экране. Брать здесь: http://www.ardiri.com/index.cfm?redir=palm&cat=pilrc. После того, как все эти тулзы собраны, у вас имеется рабочая среда разработки. Для компиляции C программ на Linux мы пользовались gcc, так что компилятор для PalmOS -- m68k-palmos-gcc. Большинство из его компонентов называются по типу m68k-palmos-* .
|
Copyright © 2001, David "Scooter" Lukens. Copying license http://www.linuxgazette.com/copying.html Published in Issue 62 of Linux Gazette, February 2001 |
Вернуться на главную страницу |