|
|
  |
IDE не по назначению, нужен совет |
|
|
|
Nov 21 2006, 14:42
|

Участник

Группа: Новичок
Сообщений: 17
Регистрация: 29-10-05
Пользователь №: 10 268

|
Цитата Когда выдаю частоту с учетом производительности проца получается от 700 до 1000 нс. Наверное 1 мкс - максимум строба записи/чтения в PIO-0. Было еще подмечено следующее: если произвести запись в порт в отсутствие каких либо устройств IDE (без установки каких либо сигналов), выставка состояний линий производиться хостом периодически (значение частоты повторений посылки, примерно, 32 - 60 Гц). Когда произвожу чтение из порта - посылки прекражаются, а возвращаемое значение равно 170h (хм... пишу именно в этот порт). Все проволоки висят в воздухе =\. Цитата Есть еще вариант - есть платы PCI-IDE. Их БИОС становится при подключении частью машинного БИОСа. Можно там поковыряться в коде и в самом этом БИОСе прошить нужный режим PIO, как будто определился диск. Тогда придется еще разбираться в программировании контроллера хоста и в коде бивиса платки. Скорее всего придется без "жульничества" реализовывать IDE девайс. А вот использовать PCI-IDE резонно, т.к. всеж безопасней для материнки. Спасиб за совет
--------------------
"Слабые места любого проекта любят собираться в группы" - Пятый закон проектирования. "Двусмысленность инвариантна" - Принцип неопределенности Хартца. Законы мерфи (с) А. БЛОХ.
|
|
|
|
|
Nov 21 2006, 16:27
|

Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070

|
Добавлю еще несколько замечаний. 1. Если вы используете secondary IDE канал, на котором больше ничего нет, то _некоторые_ BIOS просто его отключают, если не находят на нем работающих устройств. 2. В компьютерах на интелевских чипсетах ide-диски висят на I/O Controller Hub (ICH). Описание на ICH8 можно взять здесь. 3. Для чтения и записи конфигурационных регистров PCI устройств в программах для DOS следует использовать прерывание INT 1Ah, AH=0B1h, описанное в PCI BIOS Specification.
|
|
|
|
|
Nov 22 2006, 12:04
|
Местный
  
Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957

|
Цитата(Coryphae @ Nov 21 2006, 14:42)  Было еще подмечено следующее: если произвести запись в порт в отсутствие каких либо устройств IDE (без установки каких либо сигналов), выставка состояний линий производиться хостом периодически (значение частоты повторений посылки, примерно, 32 - 60 Гц). Когда произвожу чтение из порта - посылки прекражаются, а возвращаемое значение равно 170h (хм... пишу именно в этот порт). Все проволоки висят в воздухе =\. Скорей всего в регистре остается число, которое выдавали в адрес. Без сигнала готовности чтения нет в принципе. Цитата Цитата Есть еще вариант - есть платы PCI-IDE. Их БИОС становится при подключении частью машинного БИОСа. Можно там поковыряться в коде и в самом этом БИОСе прошить нужный режим PIO, как будто определился диск. Тогда придется еще разбираться в программировании контроллера хоста и в коде бивиса платки. Скорее всего придется без "жульничества" реализовывать IDE девайс. А вот использовать PCI-IDE резонно, т.к. всеж безопасней для материнки. Спасиб за совет  Программировать контроллер не надо, БИОС живет немного "сам по себе", если он есть, он подключается к основному БИОСу, в нем обыные инструкции процессора, дизассемблируешь - меняешь часть кода-ассемблируешь-шьешь флэшку-вставляешь обратно в панельку-радуешься жизни! Програматор для флэшек сделаю, попробую этот фокус. На сайте Интела инфа только на новые чипсеты. Я декаюсь со старой асусовской платой.
Сообщение отредактировал Георгий - Nov 22 2006, 13:12
--------------------
Обычно последним смеется тот, кто хуже соображает!
|
|
|
|
|
Nov 22 2006, 16:59
|

Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070

|
Цитата(Георгий @ Nov 22 2006, 12:04)  На сайте Интела инфа только на новые чипсеты. Я декаюсь со старой асусовской платой. Здесь смотрел? Цитата(Георгий @ Nov 22 2006, 13:49)  Кстати, если система и отключает канал при отсутствии устройств, то это всего лишь отключение драйверов. Слово драйвер в данном контексте - это компонент программного обеспечения или шинный формирователь?  BIOS отключает соответствующий блок в чипсете, который после этого перестает откликаться на адреса по шине и соответственно не пропускает сигналы на разъем IDE.
|
|
|
|
|
Nov 23 2006, 13:05
|
Местный
  
Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957

|
Цитата(vmp @ Nov 22 2006, 16:59)  Цитата(Георгий @ Nov 22 2006, 12:04)  На сайте Интела инфа только на новые чипсеты. Я декаюсь со старой асусовской платой. Здесь смотрел? Нашел в архивах Интела, адреса регистров, кстати, остались прежними. Цитата Цитата(Георгий @ Nov 22 2006, 13:49)  Кстати, если система и отключает канал при отсутствии устройств, то это всего лишь отключение драйверов.
Слово драйвер в данном контексте - это компонент программного обеспечения или шинный формирователь?  BIOS отключает соответствующий блок в чипсете, который после этого перестает откликаться на адреса по шине и соответственно не пропускает сигналы на разъем IDE. Я все таки склонен к тому, что отключается программный драйвер, поскольку и без физических устройств работа с адресами из пространства IDE остается, на шине есть сигналы, чтение/запись с самопала идет. Кстати, в той доке, что наше в архиве, конкретно написано, что режимы PIO0-PIO4 определяются количеством клоков PCI на сооответствующий сигнал. Эти клоки собраны в двух регистрах таймингов IDE (а если не заморачиваться на раздельные тайминги по каждому устройству на канале, то можно обойтись и одним). До самих регистров я уже достучался, инфу из них беру. Поскольку на канале висели живые диски, то тайминги были установлены по минимуму (PIO4). Писать на работе в эти регистры не рискнул. Вечером попробую дома на подопытном кролике - старой асустешке.
--------------------
Обычно последним смеется тот, кто хуже соображает!
|
|
|
|
|
Nov 23 2006, 21:58
|

Участник

Группа: Новичок
Сообщений: 17
Регистрация: 29-10-05
Пользователь №: 10 268

|
Озаботился ковырянием контроллера PCI 2 IDE . Не могу найти вразумительную доку на чипец SiI0680A (http://www.siliconimage.com/products/product.aspx?id=31). Все, что видел - пдф на 34 листа. Ни как конфигурировать, ни как обращаться с регистрами со стороны PCI. Есть ли у кого доки?
--------------------
"Слабые места любого проекта любят собираться в группы" - Пятый закон проектирования. "Двусмысленность инвариантна" - Принцип неопределенности Хартца. Законы мерфи (с) А. БЛОХ.
|
|
|
|
|
Nov 27 2006, 09:17
|
Местный
  
Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957

|
Вобщем, полный фигвам! Установка таймингов ничего не дала, система просто их проигнорировала. Надо еще попробовать из под ДОС, если получится, значит ХР имеет еще свои регистры управления, если нет, то проблема кроется где то гораздо глубже. Кстати, не подскажете где ДОС взять. А тоя скачал с какого то сайта DR DOS Caldera, а там на всех трех образах дискет оказался один и тот же и не загрузочный.
--------------------
Обычно последним смеется тот, кто хуже соображает!
|
|
|
|
|
Nov 27 2006, 11:04
|

Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070

|
Цитата(Георгий @ Nov 27 2006, 09:17)  Вобщем, полный фигвам! Установка таймингов ничего не дала, система просто их проигнорировала. Надо еще попробовать из под ДОС, если получится, значит ХР имеет еще свои регистры управления, если нет, то проблема кроется где то гораздо глубже. Кто же такие вещи под XP делает? Она и не пустит тебя к железу. Только голый DOS. Цитата Кстати, не подскажете где ДОС взять. А тоя скачал с какого то сайта DR DOS Caldera, а там на всех трех образах дискет оказался один и тот же и не загрузочный. В XP: Мой компьютер -> Диск A -> [Правая кнопка мыши] Форматировать -> Поставить галочку на Создание загрузочного диска MS-DOS.
|
|
|
|
|
Nov 28 2006, 09:20
|
Местный
  
Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957

|
Цитата(vmp @ Nov 27 2006, 11:04)  Цитата(Георгий @ Nov 27 2006, 09:17)  Вобщем, полный фигвам! Установка таймингов ничего не дала, система просто их проигнорировала. Надо еще попробовать из под ДОС, если получится, значит ХР имеет еще свои регистры управления, если нет, то проблема кроется где то гораздо глубже.
Кто же такие вещи под XP делает? Она и не пустит тебя к железу. Только голый DOS. Я ж не полный дуб, с железом работаю из драйвера! И к железу меня допускает. Я же написал, что установил тайминги в регистрах! Цитата Цитата Кстати, не подскажете где ДОС взять. А тоя скачал с какого то сайта DR DOS Caldera, а там на всех трех образах дискет оказался один и тот же и не загрузочный.
В XP: Мой компьютер -> Диск A -> [Правая кнопка мыши] Форматировать -> Поставить галочку на Создание загрузочного диска MS-DOS. Это несколько не то (форматирование создает именно загрузочный диск, а не диск с ДОС). Хотелось бы полноценную ДОС, типа Caldera или PTR DOS. Они к тому же поддерживают псевдомногозадачность.
--------------------
Обычно последним смеется тот, кто хуже соображает!
|
|
|
|
|
Nov 28 2006, 16:26
|

Частый гость
 
Группа: Новичок
Сообщений: 164
Регистрация: 11-01-05
Из: Россия, Снежинск
Пользователь №: 1 900

|
Цитата(Георгий @ Nov 28 2006, 11:20)  Хотелось бы полноценную ДОС, типа Caldera или PTR DOS. Попробуй ROM-DOS взять можно с http://datalight.com/products/romdos/Поддерживает длинные имена, TCP-IP стэк имеется, вполне разумно работает.
|
|
|
|
|
Dec 3 2006, 20:07
|

Частый гость
 
Группа: Новичок
Сообщений: 164
Регистрация: 11-01-05
Из: Россия, Снежинск
Пользователь №: 1 900

|
Цитата(Георгий @ Nov 29 2006, 10:38)  А этот ROM-DOS действительно позволяет работать из-под ROM памяти? Каким образом это физически выглядит? В приципе ставится ПЗУшка на неё простенькая файловая система и от туда грузятся проги. Документация на серваке по ROM-DOS написана по человечески - разобратся легко можно.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|