Карманные ПК, Операционная система PalmOS

Загрузить архив:
Файл: refera.zip (1337kb [zip], Скачиваний: 52) скачать

Молдавский Государственный Университет

Факультет Математики и Информатики.

Кафедра Информатики и Технологии программирования.

Курсовая работа

Карманные компьютеры,

Операционная система PalmOS.

Выполнил: студент 4-го курса

группы 45ILM

Шилоносов Александр

Руководитель:Dr. Conf. Магариу Н.А.

Кишинёв 2002г. Май


Содержание:

TOC o "1-3" h z 1.     Введение PAGEREF _Toc11326904 h 3

1.1.       КПК - Карманный Персональный Компьютер. PAGEREF _Toc11326905 h 3

2.     История Развития Карманных Компьютеров. PAGEREF _Toc11326906 h 8

2.1.       Калькуляторы   PAGEREF _Toc11326907 h 8

2.2.       Сенсорный дисплей PAGEREF _Toc11326908 h 10

2.3.       Первые КПК с рукописным вводом   PAGEREF _Toc11326909 h 11

2.4.       Palm Pilot PAGEREF _Toc11326910 h 12

3.     КПК Palm для пользователя PAGEREF _Toc11326911 h 15

3.1.       Ввод текста, Граффити и Клавиатура PAGEREF _Toc11326912 h 16

3.2.       Стандартные Приложения PAGEREF _Toc11326913 h 17

3.3.       Первый Запуск КПК, Приложение Applications PAGEREF _Toc11326914 h 18

3.4.       Документы и Приложения PAGEREF _Toc11326915 h 19

3.5.    Подключение КПК к Компьютеру. Синхронизация PAGEREF _Toc11326916 h 20

3.6.       Перезагрузка КПК (Reset) PAGEREF _Toc11326917 h 20

3.7.       Дополнительные устройства для КПК   PAGEREF _Toc11326918 h 20

3.8.       КПК сегодня PAGEREF _Toc11326919 h 21

3.9.       Словарь терминов PAGEREF _Toc11326920 h 23

4.     PalmOS для программиста PAGEREF _Toc11326921 h 24

4.1.       Общие сведения PAGEREF _Toc11326922 h 24

4.2.       Память PAGEREF _Toc11326923 h 25

4.3.       Файловая система PAGEREF _Toc11326924 h 26

4.4.       Создание приложений, Инструментарий, POSE   PAGEREF _Toc11326925 h 27

4.5.       Выполнение приложений PAGEREF _Toc11326926 h 29

4.6.       Управление Питанием   PAGEREF _Toc11326927 h 30

4.7.       PalmOS GUI PAGEREF _Toc11326928 h 30

4.8.       Сервис ОС   PAGEREF _Toc11326929 h 32

4.9.       Совместимость версий PAGEREF _Toc11326930 h 34

4.10.     Расширения PalmOS PAGEREF _Toc11326931 h 34

5.     Пример Разработки Приложения для PalmOS PAGEREF _Toc11326932 h 35

6.     Литература: PAGEREF _Toc11326933 h 37


1.

За последние 9 лет (c 1993) в мире персональных компьютеров появился новый участник – персональный карманный компьютер (КПК). Большую роль в распространении этого вида техники сыграли устройства на базе платформы Palm, которая появилась в 1996 году.

Цель этой работы рассмотреть самую популярную платформу (операционная система вместе с устройством) КПК PalmOS.

Работа разделена на 3 части – История, Работа в PalmOS, Программирование в PalmOS, и в завершении работы на примере показанно как создать простое приложене для PalmOS.

Здесь рассматриваются версии PalmOS - 3.0 и выше , и наиболее последние модели карманных компьютеров, т.к. сейчас редко встречаются первые модели таких устройств с ОС версии до 3.0 , и их не стоит рассматривать т.к. в них отсутствуют многие элементы. (например обмен данными между КПК и поддержка интернет)

на рисунке показан ручной компьютер присоедененный к настольному ПК с помощью приставки (крэдл).

1.1.

КПК это обычный компьютер только с ограниченными ресурсами – питание, память, процессор, экран, средства вводы/вывода информации. Но основные требования для таких устройств это долгосрочность работы без перезарядки батарей, размеры, вес, удобность, надежность и быстрая обратная реакция на действия пользователя. Также подразумевается что для нормальной работы с этим устройством необходимо иметь обычный настольный компьютер (с операционной системой Windows, MacOS, Unix)

Самый первое название таких устройств - PDA (personaldigitalassistant) - «персональный цифровой помощник», можно еще встретить название «ручной ПК», «наладонник».Под PDA обычно понимается устройство которое помещается в кармане, и может работать продолжительный срок от батарей, также это устройство должно обладать хотя бы функциями органайзера.

Органайзер – от слова «organize» - организовывать, планировать, устраивать формировать , приводить в порядок, (перев. с англ.) Органайзер это – устройство внешне напоминающее калькулятор, в которое можно вводить номера телефонов и адреса (есть клавиатрура), в нем есть часы и будильник. В советских странах такие устройства назывались Электронные записные книжки (см. история кпк).

Существует несколько типов PDA устройств, один из них это карманные компьютеры. КПК подразделяются на :

  1. PPC – (Palm-sizePC) , это все то, что работает под управлением WindowsCE 2.0-2.1, выглядят как Palm.
  2. HPC – (HandheldPC) КПК с маленькой клавиатурой, бывают с WindowsCE, EPOC32 .
  3. PocketPC –– (самые современные) мультимедиа КПК с WindowsCE 3.0, от PPC отличаются увеличенными ресурсами (память, процессор)

Palm являются самыми популярными и массовыми КПК, они появились в 1996 году и основное их назначение - это Органайзер присоединяемый к настольному ПК. Далее в тексте я их буду называть просто «палм», по аналогии с словом «ноутбук». ( Palm –ладонь, перевод с англ. )

История создания Палмов восходит к 1992 г., когда Джефф Хавкинс основал компанию Palm Computing. В 1996 г. выпуск портативной электронной записной книжки Palm Pilot, “понимающей” рукописные буквы, начертанные на ней специальным пером — стилусом. В сентябре 1994 г. Palm Computing была приобретена корпорацией U.S. Robotics, которая в свою очередь оказалась съеденной компанией 3Сom. К 1998 г. в мире был продан 1 млн. устройств.

Палмы являются самыми лучшими органайзерами. Кроме того с Палма можно выходить в интернет, отсылать почту, Палм можно использовать как словарь и справочник,можно слушать музыку, читать книги, хранить в нем массивы данных, использовать его как диктофон, и играть в игры.

Некоторые возможности являются потенциальными – т.е. их нет в КПК когда вы его приобретаете, но они могут появится если вы еще купите дополнительное утсройство. Например выходить в интеренет или слушать музыку можно далеко не на всех КПК (см. дополнительные устройства для КПК)

Несмотря на то что у них нет клавиатуры ввод информации в них очень прост – пользователь просто пишет в нем как в блокноте маленьким пером (стилус)

Все модели имеют сенсорный экран (реагирует на прикосновение) с подсветкой, Инфракрасный порт для обмена данными с другими Палмами. Некоторые Палмы оснащены слотами для дополнительных устройств – модем, радио, фотоаппарат, MP3 плеер, пейджер. Все Палмы могут в среднем неделю работать без подзарядки батарей. Существует огромное количество платных о и бесплатных программ для них.

Инфракрасный порт – это направленный излучатель инфракрасного света. Широко используется в дистанционных пультах управления. В последнее время такие передатчики используются для беспроводной связи разных устройств, мобильных телефонов и КПК.

Владелец Палма периодически должен подключать Палм к настольному ПК для того чтобы синхронизироватьсяэто необходимо для того что-бы, во первых: помещать в КПК новую информацию и программы, и во вторых: делать резервную копию всей информации в КПК.

КПК может оставаться без батареек примерно 10 минут, иначе вся информация пропадает, в этом случае резервная копия поможет все восстановить.

Перечисленные возможности и характеристики присутствуют во всех сегодняшних КПК, и являются стандартом на нынешний день. Все модели обладают следующей конфигурацией (ср. значения) :

характеристика

описание

Габариты

Можно ностить в кармане и с легкостью держать в руке

Вес

от 100 до 250 гр.

Процессор (частота, модель)

Motorolla DragonBall от 16 до 33 Мгц

обьем памяти RAM

От 1 до 8 Мб

Экран

160*160, Сенсорный, Ч/Б

Функциональные клавиши

От6 до 9

Ввод текста

Графити,

Дополнительно

ИК порт, диктофон, динамик, микрофон, подключение к ПК через СОМ, USB (через подставку),

Таблица основных моделей:

Фирма производитель

модели PPC с ОС PalmOS

Palm

Pilot *, III*,m100/ 105, m500/505

Handspring

Visor, Deluxe, Prism, Edge

HandEra

TRGpro

IBM

WorkPad

Sony

CLIE

PPC под управлением ОС WindowsCE появились после Палмов. Они имеют более мощный процессор, и больше памяти, больше и качественнее экран. Они тоже могут быть использованы в качестве Органайзера, необходимые программы в них есть. Операционная система WindowsCE (CE – compactedition) это урезанная копия Windows95. Для пользователя это означает что в WindowsCE есть все есть уменьшенные версии Word, Excel, InternetExplorer, можно работать с файлами и папками, есть проводник, аналог панели управления, справочная система, и т.д, современные модели имеют более мощную поддержку мультимедиа – музыка, анимация, видео. Нет только рабочего стола. Не смотря на мощность они работают медленне чем Палмы.

PocketPC являются следующим поколениемPPC на базе WinCE, все выше сказанное относится и к ним, вся разница в том что ресурсов стало больше (память 32-64Мб, процессор 160-210Мгц), и в них установлена WinCE 3.0 (+ новая технология присоединения внешних устройств - жакеты). Следовательно некоторые вещи в нем делать удобнее: например благодаря качественному экрану удобнее пользоваться Интернетом, читать книги, форматировать текст, работать с таблицами, смотреть рисунки, на них можно слушать качественную музыку, записывать речь на диктофон. Есть отрицательные стороны - и еще срок автономной работы от батарей катострофически упал – заряжать бетареи необходимо каждый день.

В WinCE так-же можно вводить текст рукописным вводом, при этом используется другая технология которая хуже чем в Палмах (процент ошибок при вводе теста больше ), в PocketPC эта система улучшена (кроме того появился аналог граффити )

Эти модели также присоединяются к настольному компьютеру для синхронизации.

Следует отметить , что модели на базе WinCE абсолютно не совместимы с Палмами, мало того нельзя передавать данные данные из WinCe КПКв Палмы по ИК порту.

Характеристики

PPC
PocketPC

Габариты

Чуть больше чем палм

Вес

Примерно такой же как у палм

Процессор

16 до 60 Мгц (ARM, MotorolaSH3)

ARM 150 – 206 Мгц

обьем RAM

От 4 до 16 Мб

32 – 64 Мб

Экран

320*240, Ч/Б или Цветной

320*240 Цветной

Кнопки на корпусе

От6 до 9

Ввод текста

Рукописный  

Рукописн. графити

Дополнительно

ИК порт, диктофон, динамик, микрофон, подключение к ПК через СОМ, USB (через подставку),

+ Жакеты, Secure Digital / Multimedia Card, Compact Flash III

HPC – это КПК которые имеют маленькую клавиатуру, экран у них широкий, по виду они напоминают уменьшенные ноутбуки, На них установлена операционная система WindowsCEPro(специальная версия) или EPOC (EPOC32), а есть еще КПК с другими операционными системами. Эти модели созданы чтобы устранить недостаток бесклавиатурных КПК   - отсутствие клавиатуры, а широкий экран дает дополнительные преимущества. Наряду с функциями органайзера в них также присутствуют Word, Excel, InternetExplorer .

WindowsCEPro еще более похожа на Windows95, есть рабочий стол, полноценная панель управления, можно из них печатать на принтер.

Они подключаются к КПК, все WinCE модели имеют, PC-карт и CompactFlash слот ( для подключения дополнительной памяти, модемов, и др. устройств), можно подключать наушники.

характеристика

описание

Габариты

Вес

от 250 до 400 гр.

Процессор (частота, модель)

30 – 150 Мгц (ARM, Motorola SH3)

обьем RAM

От 4 до 32 Мб

Экран

640 * 240 Ч/Б или Цветной.

Дополнительно

ИК порт, диктофон, динамик, микрофон, подключение к ПК через СОМ, USB (через подставку),

Таблица моделей:

ОС

модель

WinCE

Cassio

Cassiopeia E-10/11 E-100

Cassiopeia A-11, A-20/21/22, PA,

Cassiopeia E-115, EG-80, EM –500, IT-70*

Compaq

Aero2100

C-Series

IPaq H-3630 – 36*, 3130, Aero

HP

Jornada 420/430

200LX, 360LX, 620, Jornada 680/720

Jornada 540545548, 525

Philips

Nino

Velo

Sharp

Mobilon 4100/ 4500

Everex

Freestyle*

Palmax

PD – 60m , PD-131

EpocEpoc32, другие

Psion

NetBook , Series* , Revo , 5

Ericsson

Mobile Companion


2.

Точной даты изобретения КПК нет, можно только сказать что идея карманныхкомпьютеров окончательно оформилась в период 70 – 90ых годов. За это время был пройден путь от программируемых калькуляторов до цветных КПК которые позволяют смотреть видео и выходить в интернет. Было создано около 10ти новых операционных систем,около сотни различных устройств КПК.

История развития КПК неразрывно связана с развитием компьютеров и компьютерных технологий. КПК своим появлением обязан технологическим успехам во разных отраслях и людям идеи которых обьеденили эти успехи в единый продукт. На риунке показаны важнейшие вехи компьютерной индустрии, что-бы показать как история КПК выглядит в контексте истории компьютеров.

2.1.

в 60е годы микроэлектроника достигла больших успехов, были изобретены Интегральные схемы (микрочипы) которые значительно сократили габариты электронных устройств, упростили процесс создания , увеличили их надежность и самое главное сделали их дешевле а следовательно доступными для массового использования.

Чип- маленькая кремниевая пластинка размером с ноготь , а иногда и меньше. В основном чипы состоят из большого числатранзисторов соединенных между собой.

До изобретения микрочипа (1959г) каждый компонент электронной схемы изготавливался отдельно а затем они соединялись посредством пайки. Появление ИС в корне изменило всю технологию .

если первые электронные вычислительные машины занимали целые комнаты , то теперь они уже умещаются в больших железных ящиках, а к концу 60х внедрение микрочипов в промышленные разработки привело к появлению ручных калькуляторов. Пионерами в области внедрения миниатюризации были Японские и Американские фирмы и исследовательские лаборатории (Texas Instr, Bell Labs, Intel, Wang Laboratories, Sony, Casioи другие)

Первые ручные калькуляторы

к 1975у году ручные калькуляторы уже были очень распространены в мире, а благодаря конкуренции среди фирм производителей цены постоянно снижались а функциональность калькулятора только увеличивалась, появились научные, инженерные, статистические, финансовые, программируемые калькуляторы, калькуляторы для бизнесменов, активно ведутся рекламные компании.

Программы для Первых Программируемых калькуляторов – это не совсем обычные программы, а просто набор арифметических действий который надо постоянно повторять. Например часто употребимые формулы. В таких программах каждая операция кодировалась числом, пользователь писал такой «код» а потом мог много раз его выполнять. Со временем появилась возможность писать пошаговые программы, в таких языках программирования уже были операции безусловного

В 1983-85 году в Советском Союзе калькуляторы, с выпуском модели Б3-34 (80 год), обретают большую популярность, особенно среди молодежи. Научно-популярные журналы "Наука и Жизнь", "Техника-Молодежи"начинают публиковать много материала о программировании калькуляторов, курсы по программированию, тексты программ и игр. Выпускаются книги с фантастическими рассказами о калькуляторах.

Основные проблема калькуляторов 70х - это большое энергопотребление, в основном из-за использования LED индикаторов(красный или зеленый циферблат). Эту проблему решали Жидко Кристаллические Индикаторы (LCD) которые появились в 1973 – 75х года, и прогресс в области портативных источников питания (т.е. батареек). Пионером в области LCD была японская фирма Sharp (бывшая Hayakawa Electric ), а вот батарейки каждый делал сам. Обычный калькулятор того времени работалот батареек всего несколько часов , в то время как LCD калькулятор работал 100 часов. Но этот тип калькуляторов не сразу завоевал рынок и это не удивительно т.к. по яркости они сильно уступали обычным а компактность LCD дисплеев была не в счет т.к. в то время этого не требовалось.

Но самое главное это то что LCD технология привела к появлению LCD матрицы т.е. графические LCD дисплеи, на них можно было отражать произвольный рисунок.

програмируемый кальк-р, есть цифр. И букв. Клавиатуры.

В период 75-85 годов калькуляторы еще более наращивались дополнительными функциями и становились еще более доступными по цене. Становятся популярными модели со встроенными принтерами, калькуляторы – записные книжки, с часами, будильником,  появляютсякалькуляторы к которым можно подключить дополнительные устройства, теперь для них можно писать полноценные программы на языке программирования (стандарта естественно не было), в 81 году появились калькуляторы с Бейсиком. Можно сказать что по функциональности калькуляторы начинают делится – очень мощные математические калькуляторы, калькуляторы-гибриды с записными книжками и будильником , часами и др. полезными функциями для людей, и калькуляторы для промышленного использования с возможность подключения дополнительных устройств которые похоже на компьютеры. Эти калькуляторы нового поколенияуже обладают такими характеристиками как:Память, процессор, язык программирования, тип дисплея, тип клавиатуры, разъемы расширения, наличие звука.

Калькулятор – записная книжка. Есть будильник, таймер, две клавиатуры, складывается как блокнот. – настоящий цифровой помощник (т.е. PDA)

Таблица наиболее отличившихся моделей:

Тип калькулятора

модели

Математич калк

Очень много моделей

Програмируемый

HP-71B (84), CasioFX702P(81)

Для людей

HP-18C (86), Электроника МК-87(87)

Длябизнеса

Psion Organizer I(84)

2.2.

Практически все современные Карманные компьютеры оснащены сенсорными дисплеями. С помощью специальной ручки (перо) пользователь тыкает в дисплей чтобы что-то сделать, Происхождение Сенсорного дисплея и указательного пера ни как не связано с историей калькуляторов, поэтому следует отдельно рассказать об этом …

Идеи прямого манипулирования объектами на мониторе компьютера развивались в период в 1950 – 60х годов,успехи в этой области связаны с таким именем как Иван Сазерленд. Он впервые создал программу («блокнот» 1962 (sketchpad) ) в которой были заложены основы современных CAD (computer aid design) систем .

Сенсорный дисплей это симбиоз сенсорных панелей(Digitizer), ( разрабатывались с 1956 г, Rand Corp) и LCD дисплеев (1870). В 1980х благодаря появлению LCD - начинают появятся портативные компьютеры, будущие ноутбуки. Они комплектовались ЦП - x86, памятью 128-512К, жесткими дисками, дисководами, слотами расширения. Работали под управлением ОС DOS или др. (Atari Portfolio , GRiD 1100 Compass, Psion MC). Эксперименты в этом направлении (портативность) привели к появлению мини ноутбуков ( будущие HandheldPC -  рука-держимые ПК ). Несмотря на размер их можно было полноценно использовать как

Psion Series 3 (1991г)3,84 МГц, экран 240x80, 256-Кбайт ОЗУ, 384 Кбайт ПЗУ, размеры 165x85x22

компьютер, из Программ были доступны: текстовый процессор, органайзер, база данных, калькулятор, таблица, игры.

Больших успехов в этом направлении достигла фирма Psion, создав свою платформу EPOC для HPC. Можно сказать что Psion является основоположником направления клавиатурных карманных компьютеров.

Эти компьютеры были оснащены графическими операционными системами. (Microsoft Windows for Pen Computing , GO PenPoint, IBM’s - PenDOS and OS/2 for Pen)

Отличительной особенностью таких систем это поддержка рукописного ввода. Все работа с компьютером происходила с помощью пера. В этих компьютерах впервые был реализован принцип электронных чернил (electronik ink ) - когда можно рисовать ручкой прямо на дисплее компьютера и видеть результат. В таких компьютерах впервые были опробованы технологии распознования символов написанных от рук .

Это были достаточно дорогие компьютеры, и они не получили широкого распространения (человечество уже получило IBM PC, а о мобильности пользователи не думали).

В это время (89г.) рабочая группа в составе которой был Джеффри Хoукинс (создатель Палма) создает свой планшетный ПКGridPadс рукописным вводом. У него были недостатки, но по меркам того времени это был портативный компьютер, и к тому же он продавался. Идея Graffiti (распознавание символов) появилась у Хoукинса еще когда он учился, в этом проекте состоялась первая реализация этой идеи - называлась PalmPrint.

2.3.

Напомню что 1981 году появился IBMPC, и начинается эра персональных компьютеров. За последующее десятилетие только в США будет распродано миллионы ПК. С каждым годом компьютер становится доступнее, цены снижаются. Операционная система DOS становится самой популярной. И вообще Компьютерная отрасль  становится очень прибыльной, многие компании создали себе много милионый капитал продавая компьютеры или программное обеспечение.

В начале 90хКрупные фирмы объявляют о своих планах по созданию Ручных бес клавиатурных компьютеров с рукописным вводом, и в этот бизнес приходит поток инвестиций.

1993 год Apple выпускает NewtonMessagePad: ручной компьютер с рукописным вводом.

процессор ARM-610 20 MHz, ROM 4 Мб, RAM 640 Кб , экран 336х240, размеры (184,75х114,3) и вес (400 г.),

Только что созданная компания Palm Computing на инвестиции и с помощью сотрудничества с крупными фирмами выпускает Zoomer как конкурент Newton.

Newton MessagePad

Компьютеры имели успех, как первые в своем роде, но обладали недостатками: большой вес, некачественный рукописный ввод. Можно даже сказать что эти первые цифровые помощники отрицательно повлияли на мнение рядовых пользователей о их возможностях. Apple еще несколько лет будет поддерживать Newton’а выпуская новые версии устройства и модернизируя операционную систему вплоть до 1998 года.

Компания Palm анализирует недостатки Zoomer и пытается понять что пользователь ожидает от Карманных Компьютеров. В это время происходит общий спад в области ручных компьютеров с рукописным вводом – производители терпят убытки и прекращают производство существующих PDA. Большие размеры, дорогая цена, неудобство пользования, малый срок работы от батарей- это основные причины провала. В газетах даже появляются карикатуры высмеивающие неточность рукописного ввода.

Такая ситуация нисколько не повлияла на компанию Palm, она продолжает вести исследования и к 1995 году компания уже понимает каким должен быть идеальный цифровой помощник. Главную роль здесь сыграл Джеффри Хoукинс, именно благодаря его принципиально новым идеям был создан самый популярный и успешный бесклавиатурный карманный компьютер (хотя сам создатель видел в нем просто органайзер с широкими возможностями ).

2.4. Palm Pilot

В 1996 году появился PalmPilot на базе операционной системы PalmOS, а в 1997 появляется Pilot Proffesional.

Стандартная комплектация Palm включает процессор Motorolla 16-30 Mhz , RAM 1-8M, Инфракрасный порт, экран 160*160, и размеры 220*175*150 (далее конфигурация железа не изменялась, только ОС ).

Встроенные программы: Записная книжка, Адресная книжка, Интеллектуальный Календарь, калькулятор, Учет расходов, Защита на пароле. Это самый мощный и удобный органайзер для обычного человека.

Palm Pilot

КПК Palm становятся самыми популярными за всю историю  карманных ПК, К 1999 году продается 1 миллион Palm'ов. многие компании принимают решение создавать свои КПК на базе PalmOS.

Сама по себе операционная система PalmOS была сделана таким образом что для пользователя она была невидима, в итоге любое действие можно выполнить за несколько прикосновений стилусом (например поставить будильник, записать в блокнот, вызвать калькулятор). Мало того PalmOS получилась очень быстродействующей, она не требовала много памяти и скоростного процессора, благодаря чему цена на Palm была (и есть) довольно доступной для многих людей.

Handheld PC набазе Windows CE.

Заметим, что Microsoft сама не производит Карманные Компьютеры или комплектующие для них, ее позиция- это предоставление платформы (т.е. операционной системы) и формирование требований для конфигурации будущего КПК (процессор, память, …), а производством заняты HP, Cassio,…).

В 1998 г. Microsoft начинает конкурировать с Palm,выпуская Palm-sizePC , 320x240, 49-60 Мгц, 8-32Мб, Динамик, микрофон, Инфракрасный порт.

К началу нового столетия ( 2000 г) популярность интернет заставляет всех производителей внедрять в свои КПК поддержку интернет приложений (WWW, e-mail, SMS). Появляется возможность с помощью инфракрасного порта выходить в интернет с КПК ( через мобильный телефон ), отправлять почту. В том что КПК могут быть понастоящему полезными в бизнесе уже беспорно, Появляется корпоративный рынок – многие компании оснащают своих сотрудников карманными компьютерами.

HandSpringVisor. Самые расширяемые Карманные компьютеры, в слот Springboard можно вставить дополнительные устройства (модем, backup модуль, mp3 плеер , телефон). Эти устройства работали даже быстрее чем Палмы, и не удивительно ведь их делал создатель Палма ( группа во главе с Джеффри Хoукинс ушла из Palm Inc. )

ueTooth. Наблюдаются успешные попытки выпуска устройств на базе ОС Linux. На рынке начинается активная борьба КПК на базе Palm и Pocket PC.

2001 год появление PocketPC, новая платформа от Microsoft. Стандартная комплектация: процессор ARM 200Мгц, память 32-64Мб, экран 64тыс цветов, жакеты для доп. Устройств,главные особенности новой версии OC это поддержка мультимедии и беспроводного (wireless) интернета. Очень красочный Графический интерфейс. Устройства дороги и потребляют много энергии.

2001 год, Комуникаторы – смесь КПК (на базе PalmOS ) и мобильного телефона, (VisorThreo)


3.

Рис. 1

На рис.1 показан вид простого КПК (Карманный персональный Компьютер) под управлениемОС PalmOS 3.1. Все модели КПК имеют свой неповторимый дизайн и поэтому размер и расположение кнопок может отличаться.

Пользователь работает с КПК при помощи Стилуса, он выполняет роль «мышки». Вся работа с PDA состоит из постоянного «тыканья» и «перемещения» Стилуса по 1 и 2 области (рис1).

Область 1 выполнят роль Дисплея, там можно видеть текущее приложение и все что с ним происходит, сейчас это приложение Applications. Область 2 выполнят роль клавиатуры (или пульта управления), там можно вводить текст, и управлять приложением. Слева находятся кнопки быстрого запуска калькулятора и поиск текста по всему КПК. Справа находятся кнопка «Выход» (верхняя) и кнопка «Меню» (нижняя), на них нарисована стрелка и пиктограмма меню, этими кнопками можно выходить из приложения, и заходить в меню приложения, это очень часто используемые кнопки.

Область 3 это кнопки для быстрого переключения на какое либо Приложение (выбирается пользователем), обычно это Текстовый Редактор, Календарь, Адресная книга или Планировщик заданий .Если приложение позволяет эти кнопки могут играть роль клавиатуры, кнопки «вверх», «вниз» используются для навигации по спискам, таблицам. Например в играх это кнопки управления.

3.1.

В PalmOS есть 2 способа ввода теста, можно либо писать рукой стилусом либо набирать на маленькой нарисованной клавиатуре (рис 3,4). Писать текст рукой можно с помощью граффити , при этом каждый символ имеет упрощенное начертание как показано на рис 2. Обычно маленькая виртуальная клавиатура помогает новичкам, печатать на ней нужно не руками а стилусом.

             

Рис. 4 Клавиатура

Цифры и дополнительные знаки,

рис 2. Окно Помощи по Граффити. Жирные точки показываютоткуда надо начинать движение стилуса

Рис. 3 Клавиатура

можно вызывать в любой

программе. 123-цифры,

Int’l- раскладка

Visor.

Чтобы вызвать Клавиатуру нужно стилусом нажать на «abcde» или «12345» (рис 5). Клавиатуру можно вызвать только тогда когда курсор находится в окне редактирования текста.

Область граффити разделена на 2 части (рис 5) :

a)

Слева для букв, справа для цифр

Приложение Graffiti – отличное место для тренировок правописания стилусом,здесь можно научится писать буквы и цифры.

Рис. 6 Управляющие росчерки Граффити

MenuCmd – команды

Shortcut – ярлык

С помощью Граффити можно выполнять команды – выделять,

Копировать и удалять текст. Например в Календаре (DateBook) росчерк “/” + “N” это команда NewEvent (новая дата). Можно использовать Ярлыки (ShortCuts) для того чтобы постоянно не набирать часто употребимые выражения, например выражение «С уважением, Иван Иванов.» можно заменить на SPB и при наборе текста сделать росчерк - ярлык , а затем написать SPB. На рис.6 показаны управляющие росчерки Граффити.

графити на русском языке.

3.2.

Конечно, в первую очередь, Palm Pilot – это отличный органайзер. Поэтому изначально н

а нем уже установлены все необходимые программы для хранения и ведения персональной информации.

всех ваших дел : расписание 1го дня, всей недели, всего месяца.

e)

New – создать ,

Delete – удалить .

- это вам поможет в нем разобраться и даст подсказку . название команд в меню само подскажет вам, что нужно или что можно делать.

Memo Pad удобная программа позволяет делать различные заметки. Как и в вышеописанных приложениях, все записи можно разбить на категории.

Программы –Expense (Расходы) и Mail (Почта). Первая позволяет вести учет всех денежных затрат пользователя, отмечая дату, валюту и тип произведенных расходов. Вторая дает возможность работать с электронной почтой, При синхронизации вся электронная почта копируется на Palm, а новые письма, созданные на КПК, копируются в папку «Исходящие» вашей почтовой программы и отправляются при следующем соединении с Internet.

Приложение Security – позволяет задать пароль для защиты всех Личных Документов и Личных Записей (например запись в Memo Pad или адрес в Адресной Книге) во всем вашем КПК, также в ней можно заблокировать ваш КПК на пароль.

Для того чтобы документ или запись сделать личной, нужно ее пометить как Private - по команде Details во всех приложениях появляется диалог где нужно поставить галочку – Private.

В Security можно либо Запретить доступ к Личным Документам (команда Hide) , либо разрешить полный доступ (команда Show). Если вы забыли пароль то его можно заменить на новый, пр этом все Private документы будут удалены.

3.3. pplications

Когда вы вставите батарейки в ваш КПК то на экране появится логотип PalmOS , через пару секунд КПК будет готов к работе.

Preferences (рис 5), оно запустилось автоматически т.к. вы должны ввести текущую дату и время, а так-же настроить другие параметры:

b)

Категория General,

- звуки и дата

Digitizer – вам предложат несколько раз попасть стилусом в цель на экране для настройки точности стилуса. В категории Formats – можно настроить единицы измерения и времени. В категории Modem - настройка модема, в категории Network – можно ввести тел. Номер провайдера интернета и пароль к нему для доступа в интернет. в категории Owner – имя владельца КПК, в категории Shortcuts – ярлыки для быстрого ввода фраз и часто употребляемых слов.  

В Preferences в категории Buttons вы можете назначить любые приложения которые запускаются кнопками быстрого запуска (область 3 рис1), а также изменить кнопку калькулятор (область 2).

Если вы выйдите из него(кнопка Выход) то попадете в приложение Applications, это наподобие Explorer’а в Windows. Здесь можно увидеть все приложения которые есть в КПК и запустить любое из них. Также в Applications можно узнать сколько памяти всего в КПК, и сколько свободной памяти, можно удалить или отослать любое приложение по инфракрасному порту в др. КПК. Все команды доступны из меню (рис6).

d)

Beam – радиолуч, перевод с англ. По команде Beam (во всех приложениях) КПК отсылает выбранный документ или приложение на другой КПК , при этом нужно направить Инфра-Красный порт на ИК-порт другого КПК, который должен находится в прямой видимости. (синоним «отослать» - «cбимить» от Beam).

Все приложения разделены в Applications по категориям, на рис7 видны все приложения категории System . Нажмите на «System» для переключения в др. категорию. Для запуска приложения просто нажмите на нем.

c) System

3.4.

Для пользователей Windows OS - В PLAM вы не встретите файлов и папок, здесь работает правило - каждое приложение само работает с своими файлами и папками (категории). Документы созданные приложением могут быть удалены или переименованы только средствами этого же приложения, если они есть конечно. Приложение может экспортировать свои документы в др. формат, для другого приложения, или может самостоятельно переслать свой документ на др. КПК.

Принцип разделения по категориям работает во всех приложениях PalmOS. Категории можно создавать, удалять.

«Edit Categories…»-Последний пункт в списке категории - это команда для добавления и удаления категории . Есть вовсех приложениях.

На самом деле в PalmOS есть такое понятие как файл и есть системные приложения в которых можно просмотреть список всех файлов на вашем КПК, и даже можно удалять, переименовывать, пересылать и изменять структуру этих файлы, но это очень опасно.

Информацию можно пересылать между КПК по инфракрасному порту, например из приложения Address можно отослать 1 запись или целую группу на другой пк (команда beam address, beamcategory), а из MemoPad можно отсылать текст, обычно другие программы позволяют обмениваться своими документами.

3.5. Подключение КПК к Компьютеру. Синхронизация

В комплекте каждого КПК есть устройство для его подключения к обычному компьютеру, это может быть Кредл (люлька) либо какая ни будь приставка в которую втыкается КПК. Без обычного компьютера бессмысленно покупать и использовать КПК.

КПК  являются не столько заменой ПК, сколько дополнением к нему.

Рис. 8 Palm DeskTop

Просмотр записей MemoPad

Процесс связи КПК с настольным компьютером называется Синхронизация. Для того чтобы синхронизироваться нужно установить на настольный ПК приложение Palm DeskTop , в нем можно видеть и редактировать все что есть у вас в КПК (рис8). Инсталляция новых программ и документов проводится с помощью кнопки Install.

Palm DeskTop можно защитить паролем от других пользователей ПК, можно использовать один настольный ПК для синхронизации многих КПК.

3.6.

Если вы активно используете КПК то рано или поздно у вас случится «Зависание» или «сбой», по причине ошибок в приложениях, или из-за ваших ошибочных действий. В этом случае нужно сделать Ресет (Рестарт) вашему КПК, при этом информация хранящаяся в КПК не пострадает. Обычно на задней панели КПК есть маленькое отверстие для Ресета ( В документации по КПК описано как делать ему Ресет.)

Если Ресет не помогает можно сделать полный ресет, при этом все данные удаляются , для того чтобы все вернуть все что у вас было в КПК достаточно сделать синхронизацию.

3.7.

Инфракрасный порт служит для передачи данных в другой КПК. В Слоты расширения–для подключения внешних устройств, например микрофон, модем, фотоаппарат, пейджер, дополнительную память, GPS приемник (навигация). КПК Visor как был, так и остается самым расширяемым КПК за счет использования слота Springboard. Для этого слота масса всяких модулей по дешевым ценам. Самые интересные модули : VisorPhone - превращающий Visor в телефонную трубку, MP3 Module, модем , а также Backup Module.

Например пользователи Visor могут делать бэкап всей информации на специальный модуль - это значит, что они не так привязаны ксвоему ПК, синхронизацию можно делать значительно реже и не боятся потери данных.

Порт для Крэдла служит для синхронизации, также в этот порт можно подключать другое устройства например модем.

Как только вы вставляете Модуль в слот вы сразу можете им пользоваться, т.к. приложения для работы с ним находятся в его памяти. Следует также помнить что дополнительные модули тоже потребляют питание, в результате время автономной работы снижается.

Экономить питание можно , если отключить автоматический прием по инфракрасному порту, отключить звук. Если КПК используется для чтения можно поставить хак который понижает скорость процессора, которая не нужна при чтении.

3.8.

На последок следует сказать несколько слов о тенденциях в мире Ручных Компьютеров. За последние 2 года (2000 – 2001) появились новые модели КПК с более мощными ресурсами и поддержкой мультимедиа и беспроводной связи, Сегодня мы наблюдаем изменение изначальной концепции Ручных Компьютеров: теперь это уже не «подсоединяемый органайзер», предоставляющий только базовые функции и возможность связи с ПК, а более или менее полноценный ручной ПК.

Можно даже сказать больше, термин Персональный Компьютер, который появился в 80х годах уже потерял свое первоначальное значение. ПК стали «общими» :

1)

2)

3)

4)

А КПК как раз может стать тем самым Персональным Компьютером нового типа. Он может неразлучно находится только с одним человеком. Его можно повсюду брать с собой и работать с ним. КПК не сравним с Ноутбуком по размерам и времени автономной работы.

В следствии жесткой конкуренции КПК Palm и КПК PocketPC (WindowsCE), Мир КПК разделился на 2 категории – Palm и PocketPC.

Casio первой поняла, что карманный компьютер может быть мультимедийным устройством. процессор StrongARM 206 MГц и 32Мб памяти - ныне стандарт для Pocket PC.

Рано или поздно при покупки КПК вы сталкнетесь с делемой «Что брать ?», недорогой но простой Palm или подороже но PocketPC. Для сравнения далее представленны мнения пользователей КПК по поводу этого дела (доводы в сторону Palm или WinCE , которые я встречал в разных конференциях)

  1. Мультимедиа в жизни не очень то и нужна, а тем более в кармане,главное размеры и удобство
  2. Палм это то что надо т.к. он легкий , в карман влазит и не выпирает.
  3. многие люди когда видят Палмы то вообще не понимают, что в них можно делать, а когда видят виндовс в PocketPC то вопросов не возникает, поэтому покупают PocketPC.
  4. Путем покупки Доп. девайса Палм можно превратить в МП3 плеер или фотоапарат или мобильник.
  5. Недовольство WinCE : малое время работы от батарей, медленный интерфейс,
  6. В Палме скорость работы больше, и как оказалось(!) весьма удобный интерфейс.
  7. Палм не для игрушек - для работы.
  8. Подкупил знакомый Windows интерфейс и я отказался от палма.
  9. У Палма Интерфейс ближе к пользователю а у WinCEк Microsoft. Для решения конкретной задачи в WinCE требуется намного больше шагов.
  10. Вся мощность Палма работает на решение задач пользователя, а в WinCE 50% мощности тратится на создание интерфейса
  11. В PocketPC память существует для музыки , видео и картинок - бесмысленно заполнять его объемами информации если все равно батареек не хватит что-б все прочитать. А если даже и подзаряжаться так ведь можно и новую книгу заодно залить - секундное дело, - спрашивается так зачем же память.
  12. Обычный Палм стоит до 200 и умеет все то полезное что и PocketPC который стоит 400-600, а все его прелести сводятся к тому же палму.
  13. Если далеко от настольного компа не отходить то прожорливость батареек PocketPC не мешает.
  14. Отсутствие большого количества софта под PocketPC явление временное
  15. Если есть деньги бери PocketPC если нет бери Палм
  16. У PocketPC очень много ненужных фич
  17. PocketPC почти как обычный комп, со всеми недостатками по железу и софту, но спектр применения очень широкий (ограничен питанием)
  18. Палм лишенный мультимедиа и наворотов, хорошая очень крутая, полезная , но все-таки записная книжка - поэтому более надежна и удобна.
  19. Наигравшись с PocketPC - однажды подумал, что все эти навороты мне не нужны и Палма хватило бы за глаза, - это прошло, по роду моей деятельности и по характеру мне подходит только PocketPC
  20. 3D игры на кпк - это смех !!
  21. Возможности палм ограничены слабым процессором, например у палма нет текстового редактора со стилями и возможностью вставки картинок
  22. Что за комп этот Палм если песни не играет и 3d игр нет, вы че. А то поехал в деревню и сисди со своим органайзером и д****.
  23. Можно купить Палм м505 с карточкой на 128мб за 150 , и будут фильмы и фотки полноцветные, правда звук не тот что надо.
  24. Далеко Не всем по карману м505 или Cassio E-200? но согласитесь если владельцу палма предложат обменятся на тот же E-200 , разве он не согласится, то-то. так что все это демагогия.
  25. 8мб на палме это значительно больше чем 8мб на PocketPC
  26. Читать книжки на железке стоимостью 600 баков ?! -когда можно купить аналогичный Палм за 150
  27. Если вы хотите что-б переносной девайс умел все - купите ноутбук и не парьтесь
  28. Палм это караз то чем должен быть КПК а PocketPC это извращение, и кроме выпендрежа и коротковременого восхищения количеством ненужных фич засунутых в одну железку, которое проходит через неделю, ничего нет.

3.9.

Flash-память

--энергонезависимая перезаписываемая память, сохраняет данные долгое время без подключения к источнику питания.

КПК

-- Карманный Персональный Компьютер.

Кредл (Cradle), док-станция, кроватка

-- специальная подставка для КПК, для синхронизации данных с "большим" компьютером и в случае наличия аккумуляторов обеспечивает их зарядку.

Стилус (Stylus)

-- специальная палочка с пластмассовым наконечником (это чтобы экран не царапать:)), предназначена для управления компьютером (как "мышка" у "большого" ПК) и для вводы информации посредством приложения Graffiti.

PDA

-- Personal Digital Assistants, Персональный Цифровой Помощник. Это когда КПК используют не только, как электронный органайзер, но компьютер.

Слот расширения

-- довольно полезная штуковина, она позволяет расширить область применения вашего электронного друга и может увеличивать память посредством применения специальных устройств и карт (CompactFlash, MemoryStick, Springboard, PCcard и т.д.), поддерживающие ваш слот расширения.

Графити (Graffiti)

-- технология распознавания рукописного текста (точнее специальных символов графити, не всегда похожих на те символы, которые отображаются на экране). Требуется некоторое время для запоминания символов.

Action Controll,Action Key,Jog Dial

-- специальное колесико, с помощью которого можно управлять компьютером одной рукой и без применения стилуса. Колёсико можно крутить вверх-вниз (выбор пункта меню) и нажимать на него. Нажатие активирует выбранное приложение.

Beam (бимкнуть)

-- передача данных через ИнфраКрасный порт

HotSync, Active Sync

-- программы, отвечающие за синхронизацию данных.

Хак – специальный вид программ для Палмов, которые могут изменять поведение системы.


4. PalmOSдля программиста

4.1.

Всем Разработчикам Приложений и дополнительного оборудования для КПК Palm OS необходимо знать 4 главных принципа по которым создавалась OS и которымируководствовались разработчики OS Palm и КПК PalmPilot:

Simplicity – простота в использовании и быстрая обратная реакция КПК на действия пользователя,

Expandability – дополнительные возможности по усмотрению пользователя, такие как дополнительные модули и приложения.

mobility – большое количество способов связи с др. устройствамии выход в интернет, возможность беспроводной связи, длительность автономной работы.

Wearability – вы берете КПК с собой всюду, и ни Приложения ни Дополнительные модули не должны этому мешать.

Особенности PalmOS :

§PalmOS однозадачная ОС.

§

§PalmOS одно-потоковые, событийно ориентированные.

§PalmOS есть своя Файловая система, файлы принадлежащие ОС защищены от записи на уровне ядра.

§PalmOS не загружается и не «завершает» свою работу, но у палм есть Reset это специальная процедура отдалено напоминающая загрузку.

§API для приложений (группы функций – managers )

§

§

§MicroKernelOS), основное качество такого типа ОС это гарантировано малое время реакции на любое внешние событие. (микро ядро AMX разработано фирмой Kadak)

рисунок с PalmOSSDK - горизонтальный срез .

4.2.

PalmOS которая во многом определяет архитектуру ОС и ее особенности .А именно тот факт что памяти мало и что другого типа памяти в системе нет.

Физически память расположена на картах памяти – Card0, Card1,... Каждая карта памяти может иметь RAM и ROM сегменты.Все пространство RAM сегмента разделено на DynamicRAMи StorageRAM .  StorageRAM это эквивалент диска (HDD), там находятся только файлы. DynamicRAMэто эквивалент обычной памяти. В DynamicRAMнаходятся все динамические объекты программы и ОС , стек, или просто блоки памяти которыми управляет программа (кроме самихпрограмм) .

В PalmOS  код приложения не загружается в память для выполнения. Зачем если все приложениями так в памяти ?выполнения происходит по месту (inplace), т.е. все программы всегда выполняются прямо из StorageRAM, чтения файла тоже происходит таким образом.

Т.к. в ROM это сегмент памяти только для чтения то соответственно там находится только файлы (каждый КПК имеет карту памяти – Card0, в ее ROMе записана ОС с встроенными приложениями) .

Размеры DynamicRAMи StorageRAM определяются динамически при инициализации ОС и зависят от общего размера памяти в КПК. Работать с Памятью можно через специальнуюгруппу функций которая называется MemoryManager.

MemPtrNew(size)                 - выделить блок памяти и получить указатель.

MemHandleNew(size)          – выделить блок памяти и получить его дескриптор (handle).

MemHandleLock(handle)    – получить указатель от дескриптора.

Если приложение запросит слишком большой блок памяти а доступны будут только маленькие блоки то PalmOS произведет фоновую дефрагментацию памяти, при этом из-за перемещения существующих блоков, изменятся их базовые указатели. Чтобы изменение указателей не повлияло на приложение - существуют дескрипторы (handle) это указатель на указатель блока.

Если приложение выделяет память не используя дескриптор (MemPtrNew) то PalmOS не будет перемещать такой блок при дефрагментации, тоже самое будет если дескриптор заблокировать (MemHandleLock).

Не смотря на то что механизм дескрипторов сложнее чем просто работа с указателями , избежать его нельзя т.к. многие Функции Системных Менеджеров (особенно GUI сервис) работают с дескрипторами. В PalmOS также есть такое понятие для блока памяти как LocalID – специальный номер по которому можно отличить на какой карте находится блок.

Вся DynamicRAMпамять доступна для любого приложения на чтение и запись и ОС не следит за этим, когда приложение завершает свою работу вся память автоматически очищается.

Т.к. в DynamicRAM  находятся также объекты ОС и системных библиотек, то любые ошибки приложения в работе с памятью могут сразу завесить всю ОС.

Если в КПК вставить дополнительное устройство , например модем , то оно возможно будет содержать в себе карту памяти со своими программами, это карта будет видна в системе как Card1, или Card2 если Card1 уже есть. 1 карта может содержать максимум 512 Мб

4.3.

PalmOSимеетсвою файловую систему, котораянаходится Storage RAMГлавная особенность ФС это – Отсутствие директорий.

records (записи ). У записи есть порядковый номер, размер, др. атрибуты. В записях уже непосредственно хранятся данные.

Можно сказать что database это аналог директории а recordэто аналог файла т.к. приложение сначала открывает database а потом в ней открывает record на чтение или запись.

Record имеет максим размер – 64к это ограничение ставит PalmOS на макс. Блок памяти в ОС. В одном файле может быть 32768 записей , т.е. 1 файл теоретически может занимать 2Гб места на «диске» (но практически это невозможно, из-за ограничений аппаратуры).

Файлы в PalmOS могут быть 2 видов – файлы (database ) и ресурсные файлы (resource database). Файлысодержат только Записи, а ресурсные файлы содержаттолько Ресурсы – такие же записи просто называются ресурсы. Основные отличия это в принципе работы с ними (и в оптимизации работы исходя из назначения) .

Функции для работы с файлами обледенены в группы DataManager и ResourceManager . Все они используют группу MemoryManager для работы с памятью.

Свойства Database

Name

Имя (max 32)

Type

Тип – appl, hack, (как расширение файла)

CreatorID

4 байта – идентификатор создателя файла

Size

Атрибуты

ReadOnly

БД нельзя открыть на запись.

Backup

БД нужно BackUp при синхрониз.

Copyprotect

БД нельзя копировать путем IR-beam, ( ? )

Launchable

Это БД с данными но она может быть запущена на выполнение.

Open

True – БДоткрыта

Resource DB

БДтипа Resource DB,

Date

Дата Создания, Изменения, Сихронизации

ModificationNum

Число изменений БД, (удаление, добавл, изм записи)

Например все приложения имеют тип “appl”. Каждое приложение имеет уникальный CreatorID, этот идентификатор выбирает разработчик для каждого своего приложения. На уникальность его можно проверить на сайте Palm Os. По CreatorID можно однозначно узнать какому приложению принадлежит база.

Например Приложение Applications по команде “Info” показывает размер приложения со всеми его базами, а также при удалении будут удалены все базы (?)

Свойиства записи (Record)

busy

Приложение открыло эту запись и заблокировало ее. Т.е. к ней нет доступа.

Delete

Запись визуально удалена ( физически удалится после синхронизации)

Dirty

Изменена после последней Синхронизации.

Secret

Запись помечена как Private (не надо ее показывать)

Далее в тексте для простоты БазуДанных в Palm будем называть файл.

Чтобы открыть файл нужно знать его LocalID и номер карты где он находится (обычно 0).

DmGetNextDatabaseByTypeCreator(номер карты, тип, номер владельца) - получить LocalID

DmFindDatabase( номер карты, имя файла)           - получить LocalID

DmOpenDatabase( номер карты, LocalID)               - открыть файл (handle)

DmQueryRecord(handle файла )                             - получить дескриптор на запись (handle)

DmWrite( указатель , смещение, данные)- пишем данные в запись

Записывать в запись можно только с помощью специальной функции ( по соображениям безопасности) другое использование указателя на запись сразу вызывает ошибку с последующим Ресетом КПК.

4.4.POSE

Большинство Palm программистов обычно пишут на С (С++) ,однако существуют компиляторы для других языков: Java, Pascal, Basic, SmalTalk, Assembler.

Для Палм , есть много различных сред разработки , Самая популярные GUIIDEэто CodeWarrior, так-же есть Falch.Net, VFDIDE, and PilotMAG - все эти "визуальные" среды разработки имеют редактор кода с синтаксической подсветкой кода и др. функции. (управление проектом, отладчик, ...) компилируют они с помощью PRC-Tools. стоят от 20-30$. Самая популярная некоммерческая среда это PRC-Tools (набор утилит - командная строка).Большинство разработчиков предпочитают PRC-Tools, , т.к. это бесплатно, популярно, и этот продукт поддерживается официально Palm .

Инсталляция PRC-Tools напоминает инсталляцию ФИДО на домашнем компе, - нужно установить 4 независимых софта, и правильно их настроить, что-б они вместе работали, вобщем придется повозится. Советую найти ФАК по этому делу.

В качестве напутствия для программистов можно сказать, что Палм это очень открытая платформа, как для разработчиков Софта так и для разработчиков железа. Во первых PalmComputing создала сообщество разработчиков,

Palm Alliance Program - сообщество Палм программистов, там можно получить ROM файлы практически с любой версией PalmOS. также можно получить"debug" ROMs с отладочными версиями PalmOS (для системных программистов)

На сайте palm.com всегда доступна полная документация по Палм ОС а также различные FAQ, KnowledgeBase и конференции. Написано много книг и публикаций для программистов, в интернете можно найти кучу исходных тестов по различным направлениям. Также для простоты создания программ, PalmComputing создала бесплатный PalmOSEmulator (POSE) – эмулятор ОС Палм для тестирования Палм приложений на настольном компьютере.

POSE – эмулятор КПК с любой версией PalmOS (работает под Windows , Mac, Unix). Для его работы нужен только ROM файл с PalmOS, его можно “вытащить” из КПК либо скачать из интернета, что намного проще (см. ссылки). Разработчик запускает POSE и видит на мониторе настоящий КПК – можно мышкой кликать на экране КПК как стилусом (даже писать граффити), можно запускать приложения. (можно встретить еще “CoPilot“ -это тоже самое, предшественник POSE)

Преимущества POSE:

1.POSE намного быстрее чем в реальный КПК, что намного ускоряет процесс тестирования. Не нужно каждый раз синхронизироваться.

2.POSE можно сохранять текущее состояние КПК, а потом к нему возвращаться.

3.Source-Level отладка намного проще с POSE.

4.POSE можно делать скриншоты, и применять Gremlins – искусственный «неопытный» пользователь.

5.POSE можно увидеть различные КПК с PalmOS разных версий с различным размером памяти, без наличия самого КПК.

Итак, POSE это MustHave для любого PalmOS программиста.

Чтобы создать простое приложения для PalmOS 3.1 с помощью PRC-Tools, необходимоустановить CygWin(2.01), PRC-Tools(), PilRc for Win32 , PalmOs SDK 3.5 , PalmOS Emulator. Дополнительные сведения об установке можно найти в интернете.

Простое Приложение состоит из 3 файлов- *.c,  resource.h , *.rcp(файл с ресурсами),

Каждое Palm приложение имеет уникальный CreatorID,это 4 байта, например «MyAp». Палм использует CrID для того что-бы различать приложения и его файлы. Если два приложения имеют одинаковый CrID то одно из них может затереть второе при синхронизации, либо повредить файлы другого приложения. Для каждого приложения которое «выходит в мир» нужно регистрировать CreatorID на сайте Palm.com.

После компиляции и сборки мы получаем файл с расширением prc – готовое приложение для PalmOS, его можно поместить в эмулятор для тестирования (или инсталлировать в КПК через HotSync).

4.5.

PalmOS однозадачная ОС т.е. активным бывает только одно приложение, когда пользователь переключатся на др. приложение то предыдущее завершает свою работу.

Всегда работает UIAS (UserInterfaceApplicationShell) это такой процесс (часть ядра) который сразу при стартезапускает какое ни будь приложение, ждет его завершения и запускает другой, обычно первым он запускает Launcher.

Приложения в Palm почти такие же как в Windows. Точка входа в Palm приложение – функция PilotMain. В качестве параметров к ней самый важный это код запуска - LaunchCode , т.к. Palm иногда может запустить приложение не сцелью запуска, а с целью «сообщить» что-то важное или «узнать» что-то от приложения ( например reset или синхронизация или в случаеглобального поиска). SysAppLaunchCmdNormalLaunch это код обычного запуска т.е. приложение должно показать свой интерфейс.

В PalmOS есть аналог командной строки, параметры передаются при вызове приложения в PilotMain. Приложения могут запускать другие приложения с разными LaunchCode, a также можно послать всем приложениям в системе какой-то LaunchCode, чтоб они выполнили определенное действие.

на рисунке показано схема работы приложения.

После того как приложение создало свой интерфейс(FrmGotoForm), оно в бесконечном цикле передает управление Ядру (EvtGetEvent) ожидая события (прикосновение стилуса или нажатие кнопки или системные события). Здесь все работает как в Windows – Если произошло событие,определить кому оно предназначено. Например если событие произошло на форме приложения - вызвать обработчик FormEvtHandler. При закрытии приложения поступает событие – AppStopEvent.

4.6.

PalmOS автоматически управляет питанием, при этом приложения ни как не участвуют в этом. Хотя приложение может вкл/выкл дисплей, выполнить ресет, или работая с регистрами аппаратуры КПК замедлить работу КПК, тем самым продлить жизнь батареек. Существует 3 режима питания:

Doze mode – Режим бездействия, Дисплей включен, активно какое либо приложение, но оно ничего не выполняет. Процессор готов к работе но не выполняет инструкций (halted). Активируется сразу после вызова EvtGetEvent. (пользователь не прикасается стилусом экрана, и не нажимает кнопки)

Sleep mode – Режим «сна». Активируется Если Doze mode по времени продолжается дольше установленного тайм-аута. Выключены: Дисплей, дигитайзер, главные часы, работают: контролер прерываний. Все устройства PDA переводятся на режим экономии питания, система ждет событий от кнопок либо от часов реального времени.

Running mode – Режим активной работы, Дисплей включен , активно какое либо приложение, процессор выполняет инструкции. Все устройства готовы к работе либо работают. Обычно это EvtGetEvent возвращает какое-то событие и приложение его обрабатывает. (пользователь работает стилусом, жмет на кнопки, или приложение выполняет работу)

В Running mode КПК находится 5%-10% от времени проведенного в Doze mode, это объясняется тем , что пользователь обычно большую часть времени изучает информацию на дисплее нежели производит действия.В активных играх это конечно не соблюдается т.к. пользователь постоянно жмет на кнопки или тычет стилусом в экран. Для того чтобыприложения не противоречили этой стратегии нужно придерживаться определенных правил. (в SDK )

4.7. PalmOS GUI

PalmOS это графическая операционная система обладающая средствами длядля создания практически любого GUI.

Базовые элементы GUI - это Форма (Form), Диалог, Меню, и различные элементы такие как: кнопки, флажки, списки, поля с текстом, селекторы, таблицы, картинки.

Интерфейс обычно создается в виде словесного описания в *.rpc файле (который компилируется PilRC.exe). В этом файле вы описываете какие формы будет показывать приложение и какие элементы (кнопки, надписи ...) будут отображаться на форме.

Для программистов на Win Api можно сказать проще: - для Палм приложения нужно создавать файл ресурсов со всеми диалогами, картинками и строками . Этот файл имеет почти такой-де синтаксис как и для WinApi. при создании PRC файла ресурсы линкуются в него.

Форма

Обычно Палм приложение содержит несколько Форм и одно Меню, форма может занимать только часть экрана (т.е. диалог), двигать формы стилусом нельзя. Интерфейс в Палм модальный, т.е. активна может быть только одна форма, для переключения м/д форм нужно делать FrmGotoForm или FrmPopupForm.

не модальность бессмысленна на маленьком экране, вносит осложнения для пользователя и требует больших усилий со стороны ОС, следовательно и большего количества кода.

События которые происходят на форме (нажатие кнопки, ввод буквы, команда меню выделение строки списка) приходят в процедуру – обработчик сообщений формы ( FormEvtHandler рис) c параметром event –  структура с информацией о событии.

event->eType – типсобытия:

ctlSelectEvent

Нажали на кнопку

event->data.ctlEnter.controlID – номеркнопки

MenuEvent

Команда из меню

event->data.menu.itemID –

номер команды меню

FrmCloseEvent

FrmOpenEvent

Формазакрывается

PopSelectEvent

LstSelectEvent

Выбрали строку в

Выбрали строку в списке

Меню

CommandShortkut – это ускоряет выполнение комманд из меню

Меню создается в файле ресурсов как и формы, а при описании формы можно указать какое меню использует форма. Каждая строка меню представлена текстом и командой(номер) которая будет послана приложению

- для быстрого доступа к командам из меню приложение может использовать Command Toolbar для того чтобы вставить туда пиктограммы наиболее частых команд

Ограничения PalmGUI:

1. Для элементов интерфейса отсутствует такое понятие как Disabled.

2. Меню не всегда видно на экране.

3. Отсутствуют: StatusBar,TABcontrol, Контекстные меню (нужно делать самому),

4. ToolTips). В PalmOS каждый диалог может иметь свой HELP диалог, который открывается поверх старого если кликнуть на ?

Интерфейс можно создавать динамически , а также создавать нестандартные элементы, но это довольно сложная задача.

При работе с fields (editBox) приходится сталкиваться с непривычными моментами, например: многострочному полю можно установить текст по FldSetTextHandle(filed , Handle) после этого о Handle можно «забыть» т.к. им управляет сам editBox. Получить его обратно можно по FldGetTextHandle но чтобы он стал полностью вашим нужно еще сделать FldSetTextHandle(filed , NULL). Иначе Handle нельзя удалять. Аналогичная комбинация действий в Windows выглядит по другому , SetWindowText копирует текст к себе в буфер, и после этого оригинальный буфер ни как не привязан к editBox‘у – его можно удалять, а получение текста обратно не накладывает никаких ограничений.

Подобные тонкости являются частью стратегии управлением памяти, к ним быстро можно привыкнуть (после WinAPI).

Графика

В PalmOS также существует набор функций для работы с простейшей графикой : точки, линии, круги, прямоугольники, заливка, инверсия, картинки. Функции из группы WindowManagerтакже позволяют следить за состоянием Графики – устанавливать цвет пера, заливки, текущий шрифт. Для быстрой графики можно писать прямо в видео буфер.

PalmOS 4.0 поддерживает 1-, 2-, 4- 8 и 16-битовые цвета и оттенки а PalmOS 3.0 – 4 градации серого.

4.8.

В этой главе я перечислю некоторые возможности PalmOS которыми пользуются все приложения.

В начале следует сказать о Системных Менеджерах ( Managers ) это компоненты ОС которые выполняют различные задачи, например DataBase Manager, Memory Manager.

Для программиста, менеджер это группа функций относящиеся к нему, первые 2ве-3 буквы имени функции - это абривиатура имени менеджера, например DmOpen, MmAloc. Если знать все префиксы то удобно читать исходный код программ .

Имя Manager

Префикс имени функций

Alarm Manager

Alm

Time Manager

Tim (Date*)

Sound Manager

Snd

System Manager

Sys

Form Manager

Frm

Для более детального изучения Менеджеров обязательно нужно прочитать соответствующий раздел в «Palm OS® Programmer's Companion vol. 1» (на сайте palm.com) , документация написано хорошо , также я рекомендую всем программистам которые перешли на PalmOS с др. системы прочитать 2 главу «GoodDesignPractices», это обзор наиболее важных моментов для PalmOS приложения, эту главу нужно читать несколько раз.

Итак «Good Design Practices» - must read всем программерамподПалм.

(1) System Features

Аналог переменных окружения в ДОС (типа PATH, SET значения ),т.е. глобальное значение (только 4 байта )которое можно установить и до полного ресета они будут установлены. В PalmOS есть системные значения типа версии ОС - sysFtrNumROMVersion, или версии библиотеки

при написании приложений нужно проверять версию ОС , т.к. программа может использовать функции которых нет в старых верисиях.

Устанавливается или считывается Feature с помощью CrID (кто создал этот фтр). Для получения системных Feature в качестве CrID используется sysFtrCreator. Этим сервисом удобно пользоваться если необходимо хранить какие ни будь 2-3 числовых настройки, или если функции доступа к файлам временно недоступны (например из хаков)

Preferences

Аналогреестрав Windows. Этообщийфайлдляхранениянастроекприложения(PrefGetAppPreferences). так-жеЕстьсистемные Preferences - тамхранятсязначениятипаформатадаты, времениед. измерения PrefGetPreference(prefTimeFormat )

(2) Звук

SoundManager позволяет генерировать простые сигналы, разной частоты и длительности.

PalmOS, начиная с версии 3.5 поддерживает воспроизведение стандартных MIDI-звуков.

(3) Notifications

Используя Notification Feature Set приложение может получать различные уведомления о системных событиях. Notifications этоте-же launch code. Уведомления могут получать не только приложения но и библиотеки и хаки (см. хаки).

вставка/извлечение доп. Модуля, удаление файла, изменение настроек экрана, сети, времени, подключение/откл. от сети, спячка, ресет, синхронизация.

(4) Attentionsandalarms

Приложения может поставить «будильник» для себя, когда время подойдет то Palm сообщит приложению что время пришло, если приложение закрыто то PalmOS запустит его. Attention Manager может не запускать приложение, а только показать диалог ссообщением от этого приложения, и если пользователь захочет то может отложить это событие на пару минут.

Reset, и Жесткий Reset

Приложение может самостоятельно делать Reset -  это отчистка Dynamic RAM памяти, проверка целостности Storage RAM , потом дефрагментация памяти ,

Жесткий Reset это обнуление всей памяти (уничтожение всей файловой системы) и создание файловой системы заново, потом туда копируются приложения.

(5) Комуникации

InfraRed, Serial Port, Network – это 3 основных типа коммуникаций в PalmOS ,

InfraRed и SerialPor - приложение может пользоваться инфракрасным портом на нескольких уровнях – высокий уровень это например - пересылка файлов, низкий уровень эта работа с портом напрямую.

Network – можно используя TCP/IP протокол работать с интернетом или локальной сетью, присутствует BerkleySockets функции. Можно работать в Асинхроном или Синхроном режимах (неблокируемые вызовы и блокируемые)

4.9.

Этот вопрос очень важный для PalmOS, сейчас самые распространенные версии 3.0 – 4.0. Концептуальной разницы в них нет, главное отличие это сревис ОС для приложений (так называемый Feature Set – наборы сервисов). Palm OS SDK содержит главу Compatibility Guide – в которой объясняется различие версий. , Приложение должно проверять версию чтобы быть уверенным что необходимый сервис присутствует в данной версии Palm OS, и не запускаться в случае неподдерживаемой версии. Например Alarm Manager присутствует не во всех версиях.

4.10.

Как уже ранее говорилось все приложения вызывают функции PalmOS для выполненеия каких либо действий ( в Windows такой набор функций называется WinAPI ), например открытие файла, вывод на экран, ввод/вывод. Но PalmOS так устроена что в ней можно переопределять поведение этих функций.

в Windows тоже можно подменить любую API функцию, но в PalmOS этот механизм упрощен и офиально поддерживается на уровне системы.

при вызове DmOpenDatabase (открытие файла) вызывается функция с номеромsysTrapDmOpenDatabase в специальной таблице указателей. Этот механизм называется- PalmOStrapdispatchmechanism – т.е. когда вызывается функция то на самом деле приложение обращается к trapdispatchмеханизму и просит его вызвать такой-то номер функции (а параметры передаются в стеке). Эту таблицу указателей можно спокойно изменять с целью подмены функций.

X-master – Менеджер Хаков. ( клон HackMaster’а ,)

Подменить системную функцию может любое приложение (например CyrHack, оно видно в системе как приложение но подменяет ряд функция для русификации PalmOS). Но есть еще специальный вид приложений для PalmOS – это Хаки (от слова hach, а фициальное название System Extention), это проложения которые созданы по спецификации HackMasterAPI (независимый стандарт). Это стандарт который облегчает создание Хаков, а так-же делает более безопасным их присутствие в системе. Согласно этому стандарту за всеми хаками в системе следит Менеджер Хаков. Это обычное приложение в котором можно посмотреть сисок всех хаков, настроить их, и активизировать.

Программирование хаков требует более глубокого знания системы.


5.PalmOS

example1.prc(1,5кб) оно состоит из одной формы. На Форме расположена кнопка , надпись, и текстовое поле, к форме прикреплено меню. При нажатии на кнопку появляется сообщение. Проект приложения состоит из 3х файлов:

Example1.c – исходный код на языке С.

Example1.h – имена и номера елементов формы

Example1.rcp – описание ресурсов приложения (форма, меню, кнопка, диалог сообщения).

файл example1.c

#include

#include "hw.h"

static FormPtr gpForm;

Boolean Form1_HandleEvent(EventPtr event)

{             

                switch(event->eType)          {

                case ctlSelectEvent:                            

                               if ( event->data.ctlEnter.controlID == Button1)

                                   FrmCustomAlert(Alert1, "MessageBox !", "", "");                          

                               break;                    

                case menuEvent:

                               if ( event->data.menu.itemID == IDM_about)

                                               FrmCustomAlert(Alert1, "This is Example", "", "");                           

                               break;                    

                case frmOpenEvent:

                               gpForm=FrmGetActiveForm();

                               FrmDrawForm(gpForm);                    

                               break;                    

                case frmCloseEvent:                           

                               FrmEraseForm(gpForm);

                               FrmDeleteForm(gpForm);                  

                               break;

                default:

                               return false;          

                }             

                return true;

}

static Boolean ApplicationHandleEvent(EventPtr event)

{

                FormPtr frm;         

                Boolean handled=false;

               

                switch(event->eType)          {

                case frmLoadEvent:                                                           

                               frm = FrmInitForm (event->data.frmLoad.formID);

                               FrmSetActiveForm (frm);                                    

                               FrmSetEventHandler(frm , Form1_HandleEvent);                          

                               handled = true;

                               break;

                }

                return handled;

}

UInt32 PilotMain(UInt16 launchCode, void *cmdPBP, UInt16 launchFlags)

{             

                EventType event;

                UInt16 error;

               

                if(launchCode==sysAppLaunchCmdNormalLaunch){

                               FrmGotoForm(Form1);                       

                               do {

                                               EvtGetEvent(&event,evtWaitForever);                                             

                                               if(!SysHandleEvent(&event))

                                                               if(!MenuHandleEvent(0,&event,&error))

                                                                              if(!ApplicationHandleEvent(&event))

                                                                                              FrmDispatchEvent(&event);                                                                             

                               }

                               while(event.eType!=appStopEvent);                

                               FrmCloseAllForms();

                }       

                return 1;

}

файл example1.rcp

#include "hw.h"

FORM ID Form1 AT (0 0 160 160) FRAME USABLE

MENUID MenuBar1

    BEGIN

     TITLE "Example 1"

     LABEL "This is an example" AUTOID AT (10 10+5) FONT 1

     LABEL "of small GUI programm" AUTOID AT (PREVLEFT PREVBOTTOM+5) FONT 2

     FIELD  ID IDB_Edit1 AT (PREVLEFT PREVBOTTOM+5 110 20) MAXCHARS 50 UNDERLINED FONT 2

     BUTTON "Hello" ID Button1 AT (10 80 AUTO AUTO)

   END

MENU ID MenuBar1

     BEGIN

       PULLDOWN "Help"

       BEGIN

         MENUITEM "About" ID IDM_about "A"

      END

END

ALERT ID Alert1

INFORMATION

BEGIN

TITLE "Example 1"

MESSAGE "^1 ^2 ^3"

BUTTONS "Ok"

END

Файл example1.h

#define Form1   1000

#define Button1 1003

#define Edit1         1006

#define MenuBar1 1000

#define Alert1 1102

#define IDM_about1001

#define IDB_Edit11002      


6.

История ( калькуляторов, ноутбуки, КПК, перья )

- история калькуляторов в СССР

- история калькуляторов в СССР

- очень класный сайт по истории ПДА ,

http://educate.si.edu/scitech/carbons/1980.html

КПК ( в основном Palm)

http://www.palmq.ru/

Таблица по моделям Palm, Visor

, , , , , , , ,

Обзорные сайты, софт, конференции, факи … книги

Модули расширения для КПК Visor/

На русском инфо о КПК палм.

Раздел ссылок по PlamOS в каталоге Google.

Таблицы по устройствам:

http://www.enlight.ru/pilot/info1.html -

http://www.enlight.ru/pilot/choose.html - cool table on rus

http://palm.v-lazer.com/text.phtml?fl=acquaint - znakomstvo s PPC

http://www.airport.sakhalin.ru/ospru/pcworld/1998/11/38tab.htm - keyb PDA and non keyb

http://computorg.ixbt.com/computers/hpc.shtml

http://www.ixbt.com/portopc/pda-describ/descriptions.shtml - models of firms

http://www.palmy.ru/ - wince psionpalm

   http://www.palmq.net/sections.php?op=viewarticle&artid=21 - Springoard devs

(1)Программирование

- много исходников по разным темам

- ядро PALMOS !!

- взлом софта под палм

все информация была найдена с помощью www.google.com