LINUX.ORG.RU

Запустить плату ISA с ПО под DOS

 , ,


0

1

Есть у нас в лаборатории датчик со своей платой под ISA. Крутится все это на старом компьютере с 98-ой виндой. Программное обеспечение полностью под DOS. Из-за отсталости платформы есть множество неудобств в работе датчика в рамках измерительного комплекса. Сейчас завели под это дело машинку по серьезнее (PIII-550). XP на ней вроде должен крутиться, но по отзывам так-себе. А вот Linux на ней зависти, было бы не плохо. Поиск по гуглу дал противоречивые результаты, но вроде и dosbox и dosemu поддерживают работу с ISA, а дальше как повезет.

Поскольку после установки платы в новый компьютер ее надо будет в кратчайшие сроки ввести в эксплуатацию, хотелось бы заранее узнать все возможности и подводные камни.

Разработайте контроллер для датчика на ПЛИС, а потом хоть в сеть втыкайте.

Deleted
()

А вот Linux на ней зависти, было бы не плохо.

Зависть — это плохо. Завести/зависти.

и dosbox и dosemu поддерживают работу с ISA

Они эмулируют периферийные платы, подключаемые по ISA. Эта шина существует только внутри процесса эмулятора, для общения с внешними устройствами она бесполезна. Доступ к реальной ISA самого компьютера может быть только через драверы ядра.

i-rinat ★★★★★
()

При наличии исходников можно пересобрать и под Линукс, доступ к IO «из пользователя» - с помощью inportw()/inportb() & Co.

RVictor
()

Есть переходники типа USB->ISA. Некоторые, даже позволяют эмулировать DMA. Но это только половина проблемы.

Вторую половину можно попробовать решить с помощью bochs, но есть ли решения «из коробки», я не в курсе.

А вообще, нюансов масса:

1. Что это за именно это за ISA? Они разные бывают.

2. Используется контроллер прерываний и/или DMA или только IO?

3. Как именно используется ISA? ЕМНИП ее можно и через мост PCI/ISA использовать.

Macil ★★★★★
()

Программное обеспечение полностью под DOS.
XP
Linux

А что FreeDOS-то?

GAMer ★★★★★
()

Может имеет смысл запросить спецификации? За спрос не бьют в ном. Вдруг дадут...

rezedent12 ☆☆☆
()

Вообще-то, если оригинальный софт работает под ДОС, то он напрямую лазает к портам карты ISA. А они на любой материнской плате, через любой мост, всегда будут отображены в пространство портов процессора. Это же ISA, здесь нет процесса конфигурирования ресурсов. Надо только выяснить, по каким адресам находятся порты на карте, и открыть их для dosemu с помощью ioperm(). Поскольку вызов ioperm привилегированный, то придется или пускать dosemu под рутом, или дропать привилегии уже после вызова ioperm.

forth32
()

Да, это возможно. У меня плата АрВид под dosemu работала. Есть одна оговорка: DMA dosemu пробросить не сможет. IRQ & PIO & MMIO - сможет. Вообще, такие вопросы лучше в соотв списках рассылки задавать, а не тут.

anonymous
()
Ответ на: комментарий от forth32

Поскольку вызов ioperm привилегированный, то придется или
пускать dosemu под рутом, или дропать привилегии уже после
вызова ioperm.

Вы так говорите, будто разработчики dosemu сами не знали, когда дропать привелегии после ioperm. Там для этого специально свич -s предусмотрен, то есть 'dosemu -s' надо пускать. В этом случае он берёт рута через sudo, и дропает после ioperm.

anonymous
()
Ответ на: комментарий от anonymous

IRQ & PIO & MMIO - сможет.

Хм, судя по спискам рассылки, с приходом x86-64, как минимум IRQ он пробрасывать перестал, ну а остальное - без IRQ и не актуально. Так что, видимо, дохлый номер, так как допиливать не кому.

Местным анонимусам рекумендую, чем умничать, пойти и допилить. Заодно и проект оживите - всё равно его никто не пилит уже лет 10.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.