Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

РАбота с жёстким диском через порт.

18K
07 февраля 2009 года
logree
102 / / 27.09.2008
Как работать с жёстким диском через порт а не через прерывание bios?
если можно укажите отдельно для IDE и S-ATA/ где вообще можно про это почитать?
399
07 февраля 2009 года
KIV
432 / / 20.01.2009
Знаю как читать IDE.
Существуют два канала. На каждом максимум по два устройства. Для каждого канала свой набор из 8 портов. Для 0 канала 0x1F0 - 0x1F7, для 1 канала 0x170 - 0x177. Чтение одного сектора:
Код:
mov dx, base_port ; base_port - для 0 канала 0x1F0 для 1 канала 0x170
inc dx
; Настройка свойств
xor al, al
out dx, al
inc dx
; Количество секторов
mov al, 1
out dx, al
inc dx
; Указываем номер сектора (отсчёт от 0)
mov eax, 1
out dx, al
inc dx
shr eax, 8
out dx, al
inc dx
shr eax, 8
out dx, al
inc dx
shr eax, 8
and al, 0x0F ; Старшие биты для выбора устройства на канале
or al, 128 + 64 + 32 ; + 16 для 2 устройства
out dx, al
inc dx
; Команда чтения диска
mov al, 0x20
out dx, al
; Ждём готовности диска
mov cx, 65535
.wait:
in al, dx
test al, 128
jz .wait_end
loop .wait
jmp .time_out
.wait_end:
; Принимаем данные
mov di, buffer ; ES:DI - адрес буфера
mov cx, 256
rep insw

Таймаут наступит в случае если устройства не будет на канале или произойдёт ошибка (однако винчестер будет пытаться читать снова и снова).
Подробнее про ATA IDE можно прочитать на WASM: http://www.wasm.ru/article.php?article=atazen01.
18K
18 февраля 2009 года
logree
102 / / 27.09.2008
Спасибо :)
18K
09 марта 2009 года
logree
102 / / 27.09.2008
А что на счёт SATA?
Нашёл вот
http://t13.org/Documents/UploadedDocuments/docs2009/d2015r1a-ATAATAPI_Command_Set_-_2_ACS-2.pdf
и
это
мне кажется то что мне нужно (поправьте если не так

так же было найдено вот это:

http://t13.org/Documents/UploadedDocuments/docs2006/D1699r3e-ATA8_ACS_CB.pdf

http://t13.org/Documents/UploadedDocuments/project/d1153r18-ATA-ATAPI-4.pdf

http://t13.org/Documents/UploadedDocuments/Project/d1367r3-PARTIES.pdf

http://t13.org/Documents/UploadedDocuments/docs2003/e03104r0.pdf

что читать а что не стоит ?

Нашёл спецификацию 2.5 её точно прочту Ж)
551
09 марта 2009 года
Pavia
357 / / 22.04.2004
1 и 2 это выжимки какие-то.
3 EDD читать стоит. Используется для написание Boot Sectora
4 слишкам старое, а так читать можно.
Лучше возьми
http://www.t10.org/t13/project/d1532v1r4a-ATA-ATAPI-7.pdf
http://www.t10.org/t13/project/d1532v2r4a-ATA-ATAPI-7.pdf
http://www.t10.org/t13/project/d1532v3r4a-ATA-ATAPI-7.pdf
5 слишком специфичное.
6 Serial ATA: High Speed Serialized AT Attachment Можно не читать там все равно нечиго интересного нету. Хотя для ознакомления. SATA он эмилирует ATA и дальше ATA-ATAPI-7.
Нюансы есть.

ATA-ATAPI-8 еще в разработке.
18K
10 марта 2009 года
logree
102 / / 27.09.2008
вот только одно не понятно что есть ATA-ATAPI?
551
10 марта 2009 года
Pavia
357 / / 22.04.2004
Набор команд. В спецификации что я привел там написанно.
18K
10 мая 2009 года
logree
102 / / 27.09.2008
Вот у меня дошли руки и я начал потихоньку читать SATA Spec 2.5 в связи сэтим накопилась масса вопросов:
1. Я начал читать с раздела 10 - Transport layer, ни чего ли я не пропустил?
2. Я не до конца въехал зачем всё то о чём там написанно нужно вот на пример что за Frame Information Structur? Куда эту структуру отсылать?
3. Не понятно как переводить вещи на подобе Shadow Registr Block, у меня получилось - Блок Теневого Регистра... но что-то я сомневаюсь что это так...
4. Я почитал ATA-ATAPI и ещё больше запутался, зачем нужны какие-то FISes если есть набор команд ?
Просветите что там вообще читать? Может вообще бросить это и читать только ATA-ATAPI?
551
10 мая 2009 года
Pavia
357 / / 22.04.2004
Читай только ATA-ATAPI.

FISec тебя недолжен волновать. SATA Spec 2.5 описывает как нужно делать передачу между диском и контролером. Это нужно производителям железа и тебя не должно волновать.
Хотя если ты изучаешь ACHI (AHCI) то там это есть и вполне используется.
18K
10 мая 2009 года
logree
102 / / 27.09.2008
мда наверное так и сделаю...
Цитата:
Хотя если ты изучаешь ACHI (AHCI) то там это есть и вполне используется


что конкретно используется? и как (хотябы в общих чертах)

551
11 мая 2009 года
Pavia
357 / / 22.04.2004
Есть такое поле FIS. Жесткий в него чегото пишет. Ты его трогать недолжен.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог