Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Литература_1 / photon_old.doc
Скачиваний:
38
Добавлен:
02.04.2015
Размер:
7.88 Mб
Скачать
      1. Службы шрифтов

Существует несколько доступных служб шрифтов:

phfontFA

Поддерживает все шрифты (.phf и .ttf), включая шрифты .pfr, созданные по старой технологии масштабируемых шрифтов.

phfontFF

Поддерживает все шрифты (.phf и .ttf), но не шрифты .pfr.

Если Вам не требуется из соображений работы с унаследованным ПО поддержка .pfr, мы рекомендуем использовать службу phfontFF.

      1. Сборка всего этого в единое целое

А теперь соберём все эти кусочки вместе и построим простой сценарий, который будет запускать наш встроенный Photon. Вы должны уже были создать следующие директории:

  • /phembed/bin

  • /phembed/lib

  • /phembed/font_repository

Скопируйте в /phembed/bin необходимые бинарники:

cp /usr/photon/bin/Photon /phembed/bin

cp /usr/photon/bin/phfontFF /phembed/bin

cp /usr/photon/bin/io-graphics /phembed/bin

cp /usr/photon/bin/devi-hirun /phembed/bin

cp /usr/photon/bin/pwm /phembed/bin

Скопируйте в /phembed/lib необходимые библиотеки:

cp /usr/lib/libph.so.1 /phembed/lib

cp /usr/lib/libphrender.so.1 /phembed/lib

cp /usr/lib/libffb.so.1 /phembed/lib

cp /usr/lib/libdisputil.so.1 /phembed/lib

cp /lib/dll/devg-rage.so /phembed/lib

Нам понадобится ещё одна библиотека. Если Вы хотите запускать приложения, разработанные в PhAB, которые требуют libAp.so.1, то Вам эта библиотека и понадобится. Мы рекомендуем сделать её доступной:

cp /lib/libAp.so.1 /phembed/lib

Нам также надо создать линки в директории /phembed/lib. Это нужно для того, чтобы приложения, которые вместо .so.1 смотрят в .so, работали нормально. Выполните следующее:

cd /phembed/lib

ln -s libAp.so.1 libAp.so

ln -s libph.so.1 libph.so

ln -s libphrender.so.1 libphrender.so

ln -s libffb.so.1 libffb.so

ln -s libdisputil.so.1 libdisputil.so

Теперь рассмотрим графические драйверы. В приведенном выше примере мы запускали драйвер devg-rage.so со следующими опциями:

dldevg-rage.so -IO -d0x1002, 0x4c42

(Мы говорили об этом при обсуждении выхода pidin arg).

Если у Вас имеется другой графический драйвер, Вы должны его скопировать в /phembed/lib.

Теперь мы можем снова взглянуть на шрифты. У Вас имеется директория /phembed/font_repository, заполненная нужными Вам файлами .ttf и содержащая файлы fontmap, fontdir и fontext, модифицированные так, как это описано выше.

Теперь у нас есть все кусочки, необходимые нам для того, чтобы попытаться собрать нашу встроенную систему Photon. Простейшим способом попробовать это выполнить – использовать вторую машину, соединённую с первой по telnet или нуль-модемному последовательному кабелю.

Если Вы используете нуль-модемный кабель, Вы можете запустить оболочку shell на Вашей терминальной машине, набрав –t /dev/ser1 Ksh на машинке с QNX Neutrino. Если скорость передачи (baud rate) и управление потоком на последовательных портах согласованы, на Вашем терминале появится приглашение оболочки (#). Мы предполагаем, что вы добились работы этого соединения и что у вас доступно приглашение оболочки на каком-то терминале, который связан с Вашей машиной QNX Neutrino.

Полезно было бы иметь для запуска Photon'а какой-то скрипт – основной сценарий. Вот основной сценарий, который запускает Photon, использующийся в приведенном выше примере:

cd /phembed/bin

./Photon &

on -w /dev/photon -W10

./phfontFF -d /phembed/font_repository -c 20K -j -s 50K -F 10 -S 50 &

on -w /dev/phfont -W10

./io-graphics -g1024x768x32 -dldevg-rage.so -I0 -d0x1002,0x4c42 &

/usr/photon/bin/phcalc -x100 -y100 &

/usr/photon/bin/phcalc -x300 -y100 &

Скопирйте этот скрипт в файл /phembed/ph-start и сделайте его исполняемым (chmod a+x ph-start).

Обратите внимание в приведенном выше сценарии на следующее:

  • Мы установили экспортируемые переменные так, чтобы они отражали нашу встроенную среду.

  • Мы установили некоторые опции программы phfontFF, чтобы ограничить использование памяти. Для подробностей см. описание использования phfontFF (напр., use /usr/photon/bin/phfontFF).

  • Графический драйвер запускается именно так, как мы увидели в опциях, напечатанных командой pidin arg. Если у Вас другой графический драйвер с другими опциями, Вам надо изменить эту строку.

  • Мы запускаем несколько копий программы-калькулятора phcalc, просто чтобы показать, что Photon запущен.

До тех пор, пока не доступно имя требуемого устройства, для прекращения сценария мы используем команду on. Более подробно см. "Справочник утилит QNX Neutrino".

Если Вы всё выполнили удачно, Вы можете (из Вашего терминала) запустить основной сценарий ph-start и увидеть Photon с двумя окнами калькуляторов бок о бок на экране. Убедитесь, что Вы вышли из какой-либо сессии Phonon'а перед тем, как запустить сценарий ph-start.

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