Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
76
Добавлен:
02.04.2015
Размер:
8.79 Mб
Скачать
    1. Шаг 7. Запуск оконного менеджера

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

В настоящий момент известно только одно неподдерживаемое свойство: множество сообщений Ph_WM_CLOSE к неотзывающемуся приложению не будут выставлять сигнал SIGHUP к этому процессу (до тех пор, пока операция в стиле канал-"убить сеть" (channel-"netkill" – style operation) не будет добавлена в ядро).

Файл конфигурирования рабочего пространства ($HOME/.ph/wm/wm.cfg) может модифицироваться динамически с помощью утилиты pwmopts. Другим способом установки опций, не принятых по умолчанию, является установка через опции командной строки или через переменную окружения PHWMOPTS.

Персонализированное PWM-меню ($HOME/.photon/wn/wm.cfg) оконного менеджера, если оно используется, может озадачить, если команды подаются как абсолютные маршруты имён (абсолютные командные имена должны быть совместимыми для разных систем, обеспечивая совместимость переменной среды PHOTON-PATH). Станадартное меню PWM вызывает все команды из $PHOTON_PATH/bin. Заметьте, что для встроенных систем Вы можете полностью выключить это меню путём использования для pwm опции -W.

    1. Необходимые файлы

/usr/photon/bin/pwm

    1. Шаг 8. Запуск Вашего приложения

Если ваше приложение является единственным исполняющимся и не требует оконного менеджера, Вы можете линковать Ваше приложение как статическое – и Вам не нужна Photon'овская библиотека совместного доступа.

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

    1. Необходимые файлы

Файлы Вашего приложения.

Если Вашему приложению требуется библиотека совместного доступа –

/usr/photon/lib/libph.so

    1. Пояснения

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

mkifs

По умолчанию утилита mkifs удаляет из исполняемых файлов имена ресурсов Photon'а. Чтобы избежать этого, задайте атрибут +raw для всех Photon'овских приложений.

    1. Флэш-файловая система

На то, как Вы конфигурируете Photon, окажут влияние следующие особенности флэшевой файловой системы:

  • Сжатие и скорость

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

$(ABOBJ) $(MYOBJ)

$(LD) $(LDFLAGS) $(ABOBJ) $(MYOBJ) -M -o mine

usemsg mine ../Usemsg

phabbind mine $(ABMOD)

на:

$(ABOBJ) $(MYOBJ)

$(LD) $(LDFLAGS) $(ABOBJ) $(MYOBJ) -M -o mine

usemsg mine ../Usemsg

phabbind mine.res $(ABMOD)

Вам также понадобится экспортировать переменную пути AB_RESOVRD, если записи ресурсов находятся не в той же директории, что и исполняемые файлы. Это исключает из поиска директорию, содержащую исполняемые файлы.

  • Поиск

Флэш-файловая система имеет ограничения на поиск и запись. Ваш код должен не допускать запись в середину файла.

 Процедуры, основанные на работе с конфигурационными файлами, с флэш-файловой системой не совместимы.

Соседние файлы в папке Литература_1