КОДИМ ПАЛМЫ

Спецвыпуск Xakep, номер #017, стр. 017-114-1


Andrew Fadeev (andrew@fadeev.com)

Сейчас я покажу то, что тебе нужно для того, чтобы научиться программировать под «PalmOS».

Я выбрал графическую среду "Falch.net DeveloperStudio 2.5". Она включает в себя визуальную среду, визуальный конструктор форм и меню, компилятор с C++ и официальный «PalmOS Emulator» (POSE).

Как видишь, отличий между организацией Win/Dos PC и «PalmOS» систем достаточно. Осознание их всех важная веха в пути познания пальм:).

LOADING...

"СПЕЦ" не раз писал о кодинге. Но сейчас речь пойдет о кое-чем новом: я покажу тебе, что нужно для создания софта под "PalmOS". Эта ось стоит в карманных компьютерах "Palm", "Sony", "HandSpring" и других. Прог для "пальм" очень много, но всегда там чего-то не хватает. Выход есть: написать собственную программу. Правда, кодить под "PalmOS" сложнее, чем под "Windows", так как есть много особенностей, зато у тебя есть возможность пощупать новую молодую платформу.

CHECK LIST

Для успешного старта каждый разработчик под "PalmOS" должен зарегиться, так как каждая прога имеет четырехсимвольный номер разработчика. Дело в том, что софт записывает данные в системные базы "Saved Preferences" и "Unsaved Preferences", и, чтобы не было конфликтов, ты должен проверить, не занят ли Creator ID, и быстро его зарегить. Заходи на www.palmos.com, вверху нажимай на "Developer", слева в меню выбирай "Creator ID".

Далее надо определиться со средством разработки. В принципе есть даже компилятор с "Паскаля" (бета), но "PalmOS" - графическая ось, а "Паскаль" к этому не готов. Я выбрал графическую среду "Falch.net DeveloperStudio 2.5". Она включает в себя визуальную среду, визуальный конструктор форм и меню, компилятор с C++ и официальный "PalmOS Emulator" (POSE). Качай свежую версию с www.falch.net. Там же получай трейный ключ на 30 дней. Тебе еще нужен палмовский SDK (Software Developer Kit). Ищи его четвертую версию на www.palmos.com/dev/. Установить это счастье надо в диру "PalmDev", например: C:\Falch.net\DeveloperStudio 2.5\PalmDev. Во время установки тебя спросят, какими инструментами ты пользуешься. Выбирай "GCC PRC-Tools installation". После установки в дире "PalmDev" появится папка "sdk-4". Переименуй в "sdk-4.0".

POSE И ROM

Чтобы ты мог отлаживать программы прямо на PC, в пакет включен эмулятор. Он не будет работать без образа ROM-микросхемы, содержащей ОС и основные проги. Официально для его получения тебе нужно распечатать пару документов, подписать их и отправить в США факсом. Но есть другие выходы. Первый - это скачать образ со своего "Palm'а". Для этого в комплект эмулятора входит программа, которую ты должен залить в свой "Палм". Второй - сходить на mypalm.ru и унести парочку ROM'ов оттуда. Можно приступать. Если захочешь посмотреть встроенные примеры из "Developer Studio", не забудь зайти в "Project -> Properties" и выбрать в списке "SDK" "4.0" вместо "3.5".

ОСОБЫЕ ПРИМЕТЫ

Хоть кодить под "PalmOS" можно на привычном "Си", разница есть. Первое отличие - это название главной функции проги: "PilotMain". Второе - это ассемблерные вставки (ассм от "Моторолы" совсем другой), так что лучше без них. А главное, что требует внимания, это то, что память "Палма" - RAM, и все проги доступны ОС в любой системно важный момент. Это значит, что после резета, при включении, выключении, закрытии на пароль устройства и так далее, ВСЕ программы получают об этом уведомление. Занимается этим "System Manager" с помощью функций "sysAppLaunchCmdXXXX". В функции "PilotMain" описывается реакция на каждое событие. Неописанные игнорируются. Еще одна особенность палмовых прог - это "EventLoop". Софтины "событийно ориентированны", то есть ждут события, например - нажатия на экран, а затем на него реагируют, исполняя заданный код.

Содержание  Вперед на стр. 017-114-2