Разработка программ для PalmOS в Linux

Разработка программ для PalmOS в Linux

В прошлом выпуске газеты была опубликована моя статья по поводу карманных ПК под платформой PalmOS. Надо сказать, что тема этих КПК меня крайне заинтересовала, и одним из вопросов, вставших ребром, стало написание программ для PalmOS в среде Linux. Ведь как клево было бы написать для себя парочку удобняшек, которых нет на твоей "Пальме", а если и есть, то денег стоит.
Под Windows есть два основных способа приняться за разработку на C. Первый — Metrowerk's CodeWarrior for Palm, который дороговат для любительского проекта. Второй возможностью является использование инструментария PRC, работающего в среде cygwin. Если вы не знакомы с этим пакетом, то его можно найти на http://cygwin.com . Cygwin сделает ваш Windows более похожим на *nix-машину и содержит многие обычные *nix-инструменты (ls, dd, gcc и т.д.), портированные на платформу Win32.
После борьбы с инструментами под Windows, так никуда и не приплыв, было решено отправить идею разработки под этой платформой на помойку. Следовательно, Linux стал следующим вариантом и окончательным решением.
Для того, чтобы все заработало под Linux, нужно собрать воедино несколько программ. Вот список основных компонентов:
— Эмулятор Palm (POSE).
— Образ ROM для POSE.
— PRC tools (GCC, компилирующий программы для PalmOS).
— PilRC (компилятор ресурсов).
— PalmOS SDK.

Первой нужной для работы деталью является эмулятор Palm POSE (Palm Operation System Emulator). Его можно скачать с 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 4.0/5.0). SDK содержат документацию, описывающую и более ранние версии.
Установка PRC создаст директорию /usr/local/palmdev. В ней SDK надо распаковать. Еще надо сделать символическую ссылку, указывающую на тот SDK, который вы собираетесь использовать.
Последнее, что вам потребуется — это PilRC, который компилирует ресурсы в двоичную форму. Это нужно для кнопок, меню и замены картинок на экране. Брать здесь: http://www.ardiri.com/index.cfm?redir=palm&cat=pilrc .
После того, как все эти тулзы собраны, у вас имеется рабочая среда разработки. Для компиляции C-программ на Linux мы пользовались gcc, так что компилятор для PalmOS — m68k-palmos-gcc. Большинство его компонентов называются по типу m68k-palmos-*. Ну, а теперь, под руку с документацией, можно начинать разбираться в написании программ для Palm'ов.

По материалам David "Scooter" Lukens
Подготовил X-Stranger, linux@hitech.by



Компьютерная газета. Статья была опубликована в номере 09 за 2003 год в рубрике soft :: mobile

©1997-2024 Компьютерная газета