Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Технологии программирования > Железо. Написание драйверов
Перезагрузить страницу Выделение диапазона адресов для окна памяти платы ISA
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Veri Veri вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.09.2011
По умолчанию Выделение диапазона адресов для окна памяти платы ISA - 27.09.2011, 10:24

Здравствуйте, уважаемые специалисты.
Прошу вашего совета и рекомендации в следующей проблеме:
В наличии есть одноплатный компьютер, работающий с шиной PC-104 и плата ISA, разработанная сторонним специалистом. Тот специалист проводил разработку и тестирование из DOS, благодаря чему сразу встал вопрос о написании драйвера к данному устройству. Так как соответствующего специалиста в отделе нет, то проблема решается готовыми решениями - вроде драйвера PortIO, который замечательно работает с регистрами данной платы. Но кроме задачи доступа к регистрам, требуется доступ к окну памяти в 16 кб, который должен располагаться в диапазоне адресов С8000-DFFFF. Работая из XP, требуется записывать 16кб в диапазон приписанный к плате, а плата разом забирает эти данные - это быстрее, чем через регистры (пишу это заранее, как ответ на вопрос, почему бы не сделать пакетную пересылку).
Мною были осуществлены попытки по написанию драйвера под ISA. Проблема ISA, не являющейся PNP-устройством, в отличие от PCI платы (где благодаря PNP вопросы о выделении памяти и выдаче необходимых указателей решаются системой) именно в том, что нигде я не могу найти нужного механизма описания платы и диапазона адресов, который к ней нужно прицепить. Я рассматривал примеры amcc5933 и pcidrv, но проблема там та же самая (в первом случае драйвер для ISA рассматривает лишь доступ к порту, а во втором - диапазон адресов цепляется через PNP).
Итак, следующие вопросы:
1) Если плата работает с тестами под DOS, хотя при этом в BIOS нет настроек, позволяющих закрепить некий адресный диапазон за PCI (shared memory, shadowing имею в виду), то каким образом правила игры меняются, когда загружается XP со своими кольцами защиты и драйверной моделью?
2) Каким образом требуется описывать не только порты ISA-платы, но и используемую ей память?
Любые примеры, рекомендации, указания к действию, слова о том, что я все неправильно понимаю и что все по-другому - с благодарностью принимаются. Но только напишите, как "по-другому" и куда копать

Заранее спасибо.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выполнить расчет физических адресов памяти угловых точек екатерина но С/С++ 0 08.12.2011 22:47
Выделение-освобождение памяти BabyBear Visual C++ 5 13.05.2011 14:12
Выделение динамической памяти Bishmaa Visual C++ 6 13.04.2011 13:58
Выбор платы оперативной памяти к материнской платы ASUS Crosshair IV Formula. Hilfiger Любые вопросы от новичков 2 10.03.2011 20:01
Выделение диапазона ячеек Kirillka Visual Basic 2 30.01.2009 14:06
Динамическое выделение памяти GT150 С/С++ 7 06.04.2008 22:50
Динамическое выделение памяти tiny С/С++ 7 26.10.2006 17:10
Динамическое выделение памяти Aydahar Windows CE 2 17.06.2005 12:36
Выделение памяти для структуры Vit_as C++ Builder 1 20.04.2004 01:53
Выделение памяти как реализовать Frankinshtein С/С++ 3 08.04.2004 17:14
Динамическое выделение памяти St@lker С/С++ 11 19.03.2004 01:32
Выделение памяти под шаблон Anonymous Visual C++ 14 06.01.2004 13:37



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов