ЖУРНАЛ СТА 3/2009

П РОГ РАММНОЕ ОБ Е СП Е Ч Е НИ Е / СИС Т ЕМЫ Р Е АЛ Ь НОГО В Р ЕМЕ НИ векторам 0-63. Для подтверждения пре- рывания менеджером поддерживаются 8-битовые циклы подтверждения пре- рывания IACK. Для минимизации времени задержки прерывания драйвер может подключить свою функцию к обработчику прерыва- ний менеджера для очистки прерывания VME-устройства. Также можно задать опцию информирования драйвера им- пульсом о пришедшем прерывании. Для отладочных целей ведётся статистика всех выставленных прерываний и век- торов. Наиболее часто встречающаяся про- блема при написании драйверов VME- устройств – это попытка доступа (чте- ния/записи) по несуществующему (незанятому) на шине адресу. Для фиксирования такой ситуации в ме- неджере реализована обработка ис- ключения при доступе по несуще- ствующему адресу. Что касается возможностей API, предоставляемых менеджером разра- ботчику драйверов, то можно выде- лить следующие особенности. Драй- вер представляет собой разделяемую библиотеку (.so), которую менеджер подгружает при старте. Каждый драй- вер запускается в отдельном потоке менеджера. Такая архитектура позво- ляет получить минимальные задержки по обмену данными и по реакции на прерывания. В текущей версии реали- зована одновременная работа 10 драй- веров. Менеджер не накладывает ни- каких ограничений на алгоритм драй- вера. Драйвер может использовать любые библиотечные функции, созда- вать новые потоки и пр. При этом драйверу доступен API для работы с шиной VME. API инкапсулирует спе- цифику работы с мостом Tsi148 и тем самым позволяет разработчику драй- вера сконцентрироваться на работе со своим VME-устройством. Используе- мый прикладной интерфейс является потокобезопасным, поэтому сразу не- сколько драйверов могут без проблем вызывать одинаковые функции ре- гистрации у менеджера. При задании адреса на шине VME можно исполь- зовать любое значение от 0 до 2 64 , в том числе не выровненное по границам страниц физической памяти. При за- дании размера окна можно использо- вать любое значение от 1 байт до 64 Мбайт, в том числе невыровненное. Все необходимые операции выравни- вания и коррекции реализуются API менеджера. Р ЕАЛИЗАЦИЯ РАСШИРЕННЫХ ВОЗМОЖНОСТЕЙ МОДУЛЯ Плата CPC600 на базе моста PCI/X- VME, реализованного посредством мик- росхемы Tsi148, имеет и многие другие функции: режим ведомого (slave mode), поддержку DMA, генерацию прерыва- ний и т.д. Их реализация может быть до- бавлена в io-vme по требованию заказ- чика. В качестве примера драйвера VME-устройства в дистрибутив включён драйвер для платы цифрового ввода-вы- вода VMIO12 от Or Computers. Также включена инструкция на русском языке по установке и написанию VME-драй- веров. Дистрибутив и техническую ин- формацию можно получить, послав за- прос по адресу support@kpda.ru . ● Л ИТЕРАТУРА 1 . Операционная система реального времени QNX Neutrino 6.3. Системная архитектура: пер. с англ. – СПб. : БХВ-Петербург, 2005. – 336 с.: ил. 2. Введение в QNX Neutrino 2. Руководство для разработчиков приложений реального времени. – СПб. : БХВ-Петербург, 2005. – 400 с.: ил. Автор – сотрудник ООО«СВДВстраиваемые системы» E-mail: m.kolesov@kpda.ru » 84 www.cta.ru CTA 3/2009 Реклама ■ Скорость чтения до 40 Мбайт/с ■ Скорость записи до 20 Мбайт/с ■ До 2 млн циклов стирания записи ■ Интерфейсы Compact Flash и IDE ■ Расширенный температурный диапазон –40...+85°С #360 НадЁжная память для жЁстких условий Тел.: (495) 234 0636 • E mail: info@prosoft.ru • Web: www.prosoft.ru серии 4000 флэш памяТЬ ОФИЦИАЛЬНЫЙ ДИСТРИБЬЮТОР ПРОДУКЦИИ КОМПАНИИ INNODISK В РОССИИ И СТРАНАХ СНГ © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy