Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2011, 09:33   #1
Veri
Новичок
Джуниор
 
Регистрация: 27.09.2011
Сообщений: 1
По умолчанию Выделение диапазона адресов для окна памяти платы ISA

Здравствуйте, уважаемые специалисты.
Прошу вашего совета и рекомендации в следующей проблеме:
В наличии есть одноплатный компьютер, работающий с шиной 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-платы, но и используемую ей память?
Любые примеры, рекомендации, указания к действию, слова о том, что я все неправильно понимаю и что все по-другому - с благодарностью принимаются. Но только напишите, как "по-другому" и куда копать

Заранее спасибо.
Veri вне форума Ответить с цитированием
Старый 27.09.2011, 14:20   #2
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Думаю, в разделе про ассемблер больше шансов получить ответ. Прошу модераторов перенести.
ds.Dante вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Драйвер для ISA устройства. genchik Фриланс 11 02.08.2011 12:54
Распределение памяти перемещаемыми разделами с перемещением в сторону старших адресов со сжатием Лисичкина Помощь студентам 4 08.12.2009 21:12
Определение диапазона и его выделение НеВа6464 Microsoft Office Excel 3 23.05.2009 18:27
Выделение диапазона программно Волк Microsoft Office Excel 3 15.03.2009 14:52
Выделение памяти в функции для переданных параметров LinuxUser Общие вопросы C/C++ 1 12.11.2007 19:21