Алгоритмическое предписание выполнения лабораторной работы.Г.1 Включить ПЭВМ и загрузить графический интерфейс PHOTON ОСРВ QNX 6.2.1 под именем «root». Г.2 Нажать кнопку «Launch» на панели задач. В появившемся меню выбрать пункт «Utilities/File Manager». Г.3 Откомпилировать и создать библиотеки управления модулями драйверов, дважды щелкнув на файле «/usr/src/ddk-6.2.1/input/src/hardware/Makefile». Г.4 В окне «Photon File Manager» войти в каталог «/usr/src/ddk-6.2.1/input/src/hardware/devi/». Г.5 В окне «Photon File Manager» выбрать пункт меню «File/New/Folder». Г.6 В окне «Create New Folder» набрать «lab4» и нажать кнопку «Create». Г.7 В окне «Photon File Manager» войти в каталог «/usr/src/ddk-6.2.1/input/src/hardware/devi/hirun». Г.8 В окне «Photon File Manager» выбрать пункт меню «Edit/Select/All». Г.9 В окне «Photon File Manager» выбрать пункт меню «Edit/Copy To//usr/src/ddk-6.2.1/input/src/hardware/devi/lab4/». Г.10 В окне «Photon File Manager» войти в каталог «/usr/src/ddk-6.2.1/input/src/hardware/devi/lab4/». Г.11 Изменить файл ps2.c (если мышь PS/2) или msoft.c (если мышь на последовательном порту) таким образом, чтобы отключить правую клавишу мыши (см. приложение В). Г.12 Откомпилировать и создать исполняемый модуль драйвера, дважды щелкнув на файле «/usr/src/ddk-6.2.1/input/src/hardware/devi/lab4/Makefile». Г.13 В окне «Photon File Manager» войти в каталог «/usr/src/ddk-6.2.1/input/src/hardware/devi/lab4/nto/x86/o/». Г.14 В окне «Photon File Manager» нажать правую клавишу мыши на файле «devi-lab4» и выбрать в появившемся меню пункт «Copy To//root» (двойным левым щелчком). В ответ на запрос нажать кнопку «Yes». Г.15 Запустить интерпретатор команд sh. Г.16 В окне «ttyp0: sh» набрать команду «pidin –p devi-hirun». Записать pid потока драйвера устройства. Г.17 Создать пакетный командный файл «lab4» включающий строки: kill pid waitfor /dev/kbd для мыши PS/2: /root/devi-lab4 kbd fd –d/dev/kbd ps2 mousedev для последовательной мыши в COM1 (записать в одну строку!): /root/devi-lab4 kbd fd –d/dev/kbd msoft fd –d /dev/ser1 где pid – идентификатор потока драйвера устройства, полученный на предыдущем шаге. Г.18 Выполнить пакетный файл lab4, созданный на предыдущем шаге. Г.19 Убедиться, что правая клавиша мыши не функционирует. Перезагрузить ПЭВМ. Г.20 В рабочем каталоге исходного текста нового драйвера изменить файл /usr/src/ddk-6.2.1/input/src/hardware/devi/lab4/ps2.c или /usr/src/ddk-6.2.1/input/src/hardware/devi/lab4/msoft.c таким образом, чтобы правая клавиша мыши работала, как левая, а левая клавиша – как правая (см. приложение Г). Откомпилировать проект, получить исполняемый модуль драйвера и скопировать его в /root. Г.21 Создать пакетный файл, аналогичный приведенному в Г.15, и выполнить его. Г.22 Убедиться, что правая клавиша мыши работает, как левая, а левая клавиша– как правая. Г.23 Перезагрузить ПЭВМ. Г.24 В рабочем каталоге исходного текста нового драйвера изменить файл /usr/src/ddk-6.2.1/input/src/hardware/devi/lab4/main.c таким образом, чтобы отключить в драйвере поддержку клавиатуры (см. приложение Д). Откомпилировать проект, получить исполняемый модуль драйвера и скопировать его в /root. Г.25Создать и выполнить пакетный командный файл «lab4_2» включающий строки: kill pid waitfor /dev/kbd для мыши PS/2: /root/devi-lab4 ps2 mousedev для последовательной мыши в COM1: /root/devi-lab4 msoft fd –d /dev/ser1 где pid – идентификатор потока драйвера устройства, полученный на шаге Г.14. Г.26 Убедиться, что правая клавиша мыши работает, как левая, а левая клавиша– как правая и что клавиатура не функционирует. Г.27 Завершить работу ОС и выключить ПЭВМ. Контрольные вопросы: 1. Как следует указать написанному вами драйверу устройств ввода использовать мышь стандарта ps2? 2. Как следует произвести компиляцию и сборку исполняемого модуля созданного вами драйвера устройства ввода? 3. Каким образом следует вывести на экран информацию о занимаемой процессом devi-hirun оперативной памяти? 4. Как в ОСРВ QNX организована шина событий ввода? 5. На каком уровне шины событий ввода вы вносили изменения в тексте драйвера в файле «ps2.c» или «msoft.c»? 6. Как в вашем драйвере убрать поддержку клавиатуры?
Лабораторная работа №5. Создание приложения ОСРВ QNX 6.2.1 для обработки асинхронных прерываний внешнего устройства в реальном времени. Цель работы: Получить навыки создания приложения ОСРВ QNX 6.2.1 для обработки асинхронных прерываний внешнего устройства в реальном времени. Задание на работу: Создать приложение, обрабатывающее асинхронные прерывания от контроллера клавиатуры и отображающее на экране значения моментов времени начала обработки каждого прерывания по данному IRQ. Приложение должно выполняться 10 секунд, после чего автоматически завершиться. Объекты исследования:интерфейс командной строки ОСРВ QNX 6.2.1, компилятор GCC и системные утилиты ОСРВ QNX 6.2.1. Средства исследования:ПЭВМ с установленной на нем ОСРВ QNX 6.2.1. Содержание отчета по лабораторной работе. 1. Титульный лист установленной формы. 2. Название работы. 3. Цель работы. 4. Задание на работу. 5. Результаты работы: текст программы приложения ОСРВ QNX 6.2.1, реализующего задание. 6. Выводы по работе.
|