Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Бывший СССР » Концепт 1801ВМ1 |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 7 8 9 10 11 * 12 13 14 15 | Печать |
MM
Advanced Member
Откуда: Павловский Посад Мск.обл. Всего сообщений: 3418 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 2 авг. 2013 |
Anonymous написал: Вообще нет данных об самой затее. Чем дело кончилось? А СМК - это самодел неизвестных лиц без ТО и КД, я как бы не в курсах о таком девайсе. |
Anonymous
Advanced Member
Откуда: Москва(Россия) Всего сообщений: 2537 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 нояб. 2011 |
MM написал: Вот тут Вообще нет данных об самой затее.http://bk0010.org/forum/?id=15886 сообщение от TheGWBV@ - 08.04.2016 18:54 |
Mixa
Member
Откуда: Москва Всего сообщений: 170 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 4 января 2018 15:14 Сообщение отредактировано: 4 января 2018 15:20
Запрограммировал загрузчик в ПЗУ по адресу 173000. Проверил на четырех разных IDEшных дисках, успешно грузит первый сектор в начало памяти и передает туда управление. В тех секторах мусор с точки зрения процессора, в HALT вываливается в итоге по разным причинам. Однако, похоже, что всё работает. Фотки напоследок. Этажерка в сборе: и готовая к софтовым экспериментам система: Расклад регистров получился такой: 177400 DMA CSR 177402 DMA счетчик слов 177404 DMA адрес начала блока 177406 Обращение к ATA CS1FX 177410 (байт) Обращение к ATA CS3FX 177411 (байт) Задание адреса на шине ATA 177412 Прерывания CSR 177414 Прерывания вектор A (от DMA) 177416 Прерывания вектор B (от ATA) Device handler требует задания CSR устройства и вектора прерывания. Как такового ATA CSR в получившемся раскладе нету. И вектор прерывания не один, а два их. Размышляю, как лучше поступить. Вопрос в том, что такое на самом деле указываемый CSR устройства. Если это просто базовый адрес блока управления устройством, работа с которым индивидуальна для каждого устройства, то это одно. Если это адрес универсальной структуры с обращением к ней универсальным способом, и вдруг это где-то параметризуется, то это другое, и в моем случае не проходит. Лучше, чтобы было первое. Вторая непонятка с двумя векторами прерывания. Не разобрался еще с механизмом инициации вектора прерывания, но все равно возникает вопрос со вторым вектором, его нужно как-то инициировать. Есть ли какой-нибудь способ для драйвера до начала его использования вызвать код его инициализации, который резидентом не остается? |
MM
Advanced Member
Откуда: Павловский Посад Мск.обл. Всего сообщений: 3418 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 2 авг. 2013 |
Mixa написал: Вам необходимо ознакомиться с следующим доком : Есть ли какой-нибудь способ для драйвера до начала его использования вызвать код его инициализации, который резидентом не остается? "Программирование внешних устройств Руководство программиста 00008-01.33.01-2" Скан его найдете на моем форуме-справочнике из подписи ниже по тексту. Если кратко и по существу - начальную подготовку регистров и векторов производит начальный загрузчик в 173000, он вычитывает 0 блок тома, при этом сообщая номер тома и имя драйвера. В 000000 блоке тома тоже желательно повторить процедуру инициализации регистров и векторов, т.к. понадобится подпрограмма чтения блоков тома по номеру блока - более подробно в брошуре. |
Mixa
Member
Откуда: Москва Всего сообщений: 170 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 4 января 2018 16:44 Сообщение отредактировано: 4 января 2018 16:56
MM написал: Спасибо! Как-то сходу его там не нашел среди остального собрания, но судя по структуре оглавления это перевод RT-11 Software Support Manual. Он есть, его и почитаю. "Программирование внешних устройств Руководство программиста 00008-01.33.01-2" MM написал: Начальный загрузчик 173000 я сделал совсем простым, про прерывания он ничего не знает. Если кратко и по существу - начальную подготовку регистров и векторов производит начальный загрузчик в 173000, он вычитывает 0 блок тома, при этом сообщая номер тома и имя драйвера. В 000000 блоке тома тоже желательно повторить процедуру инициализации регистров и векторов, т.к. понадобится подпрограмма чтения блоков тома по номеру блока - более подробно в брошуре. Насчет векторов - гляну .DRVTB, это для Multi-Vector handlers, похоже, то, что нужно. |
Anonymous
Advanced Member
Откуда: Москва(Россия) Всего сообщений: 2537 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 нояб. 2011 |
Mixa написал: Он таким и должен быть. Это называется аппаратный загрузчик и его задача скачать с устройства в память первичный загрузчик, передав тому только номер привода, с которого грузились. Начальный загрузчик 173000 я сделал совсем простым, Далее первичный загрузчик, содержащий первичный драйвер, вычитывает с устройства вторичный загрузчик, сообщает ему точку входа в первичный драйвер, номер привода и имя устройства. После чего вторичный загрузчик, используя первичный драйвер грузит в память основной драйвер и сам монитор ОС. Вторичный загрузчик вам не надо писать, он входит в состав монитора ОС и при установке системы на диск копируется программой dup из файла монитора в блоки устройства со 2го по 5й. |
Mixa
Member
Откуда: Москва Всего сообщений: 170 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 4 января 2018 21:12 Сообщение отредактировано: 4 января 2018 21:13
Тут обнаружил, что то, чем управляет DW.MAC, очень похоже на WD1010, почти. Команды чтения-записи-форматирования-рекалибровки те же, почти все биты состояния на месте, так же работает с буфером сектора. А DMA, хе-хе, у него нету И прикол, (наверное в стиле PDP?) в подпрограмму передачи сектора как параметр передается машинная команда, которая, исполняясь в этой подпрограмме, передает сектор туда или сюда, в зависимости от того, чтение это сектора или запись. Надо обдумать такой приемчик. У себя девайс назову WD. Так понял, что оно любое двухбуквенное, лишь бы уникальное? А номер ID для девайса тоже любой, лишь бы уникальный? (варианты, 0 как у RK, или 53 как у DW) |
MM
Advanced Member
Откуда: Павловский Посад Мск.обл. Всего сообщений: 3418 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 2 авг. 2013 |
Вариант, как одним драйвером окучить резиновый объем носителя - в SET - параметрах прописать номер физического массива ( который по 32 метра ), из ~65534 возможных, для томов WD1...WD7. А том WD0 целесообразно оставить фиксированным. |
_Patron_
Member
Откуда: Москва Всего сообщений: 146 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 дек. 2012 |
Mixa написал: Да. У себя девайс назову WD. Так понял, что оно любое двухбуквенное, лишь бы уникальное? Mixa написал: Типа. А номер ID для девайса тоже любой, лишь бы уникальный? По сути - вряд ли на что-то влияет. |
Anonymous
Advanced Member
Откуда: Москва(Россия) Всего сообщений: 2537 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 нояб. 2011 |
Mixa написал: А так уже драйвер для УКНЦ называется, смотрите, чтоб путаницы не возникло. Украинский драйвер ideшника, который под киевский контроллер на здоровенной плате и рассыпухе - WA, драйвер под контроллер, который клуб наш продаёт - WQ. У себя я, чтоб не путать DW от Э85/Pro3x0 с ДВКшным DW, последний WW называю в системах собираемых. У себя девайс назову WD. |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 7 8 9 10 11 * 12 13 14 15 | Печать |
Полигон-2 » Бывший СССР » Концепт 1801ВМ1 |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |