Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Другие архитектуры » Использование НМД2 в ДВК |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 9 10 11 12 13 * 14 15 16 17 | Печать |
andyTh |
Сообщение отправлено: 7 июля 2014 11:06 Сообщение отредактировано: 7 июля 2014 12:58
В общем нехрен по воскресеньям на работу ходить. И то, за чем пришёл (основное ) не вышло, и игрушка не получилась Мысль о недостаточности чисто программного опроса мучила весь вечер, решил всё таки чуть переделать программу. Но перед этим ещё раз проверить. И, блин, всё заработало. То, что не работало вчера. В общем, обмен по шине работает. По скорости, у меня ARM 32-bit CortexTM-M3 CPU; Частота тактирования до 120МГц, 150 DMIPS/1,25 DMIPS/МГц (Dhrystone 2.1); Частота тактирования портов CORE CLK / 2 Реально, пока не поставил программные защёлки на однократный проход шины (по перепаду SSYNC 1 в 0 выполнять проверку только один раз. До этого проверка крутилась в бесконечном цикле) получал в диагностическом терминале удвоенные-утроенные символы. Типа " ДДООССТТУУППННОООЕЕ ООЗЗУУ" Да, у меня стенд 1201.03 + КЦГД Похоже надо теперь прикручивать HX сервер и копать далее. Может коллега Patron модифицирует НХ загрузчик, что бы я его мог разместить у себя внутри контроллера и грузить систему со второго порта? Или выкинуть КЦГД и работать с писишкой пока. Ну и разобраться вот с этим: А есть ли смысл производить в контроллере разбор протокола HX, когда можно просто считывать с Q-BUS команды и выполнять их. Тогда проще взять за основу драйвер псевдо-диска HD Контроллер должен принимать следующие команды от драйвера: 1. Установить номер привода для последующей операции. 2. Установить номер блока для последующей операции. 3. Установить счётчик слов для последующей операции. 4. Выполнить операцию "ЧТЕНИЕ". 5. Выполнить операцию "ЗАПИСЬ". 6. Выполнить операцию "СООБЩИТЬ РАЗМЕР НОСИТЕЛЯ" ( в блоках ). По командам "ЧТЕНИЕ" и "ЗАПИСЬ" контроллер должен прочитать/записать заданное количество слов через регистр данных. По команде "СООБЩИТЬ РАЗМЕР НОСИТЕЛЯ" контроллер должен поместить в регистр данных размер носителя в заданном приводе. Если переданная контроллеру команда содержит недопустимое значение ( указанный привод не существует или не содержит носителя, указанный номер блока превышает размер носителя, указанный счётчик слов больше количества слов до конца носителя, произошла ошибка чтения или записи ) - контроллер устанавливает в регистре команд бит 15. Если мы используем только 65535 блоков по 512 слов, не маловата ли ёмкость диска выйдет? |
Сейчас на форуме |
_Patron_
Member
Откуда: Москва Всего сообщений: 146 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 дек. 2012 |
AndyTh написал: Но если сам загрузчик попадает в память через посылку команд модификации ячеек в пульт ДВК - сделать это можно только через основной порт или через эмулятор клавиатуры МС 7004, подключенный к КЦГД / КСМ. грузить систему со второго порта |
andyTh |
NEW! Сообщение отправлено: 7 июля 2014 16:48 Сообщение отредактировано: 7 июля 2014 16:51
У меня "на борту" 512К флеша. Если я могу сделать доступной ячейку с адресом хххх, то так же могу и диапазон хххх-уууу в который положить тело загрузчика и выполнить его затем из адреса хххх. Ну да ладно, это такое. Прав ли я на счёт размера "диска" блочного устройства, 65536*512 = 32К? Или на количество блоков можно выделить несколько 16бит слов? На что лучше ориентироваться, прикручивая интерфейс? Есть ли где описание встроенного в 1201.03 MSCP загрузчика? |
Сейчас на форуме |
_Patron_
Member
Откуда: Москва Всего сообщений: 146 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 дек. 2012 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 7 июля 2014 18:11 Сообщение отредактировано: 7 июля 2014 18:12
AndyTh написал: А как процессор узнает, что ему надо передать управление на этот адрес.. положить тело загрузчика и выполнить его затем из адреса хххх Именно так - это ограничение на максимальный размер диска в RT-11. 65536*512 = 32К? |
andyTh |
NEW! Сообщение отправлено: 7 июля 2014 18:47
_Patron_ написал: Я с консоли наберу xxxxG. А как процессор узнает, что ему надо передать управление на этот адрес.. _Patron_ написал: Вот тут у меня переворот мировоззрения Именно так - это ограничение на максимальный размер диска в RT-11. Нет, к своему стыду я пока особо не вникал, но вот помнятся мне диски на Э85 в 5 и 10 мег побитые на 2 куска и с RT11. По крайней мере я так считал, это была машина гораздо более старшего коллеги. ПРОС он снёс, поставил RT11 и возился с каким то специфическим софтом. От машины всех гонял. ...и что нам делать с гигабайтной флешкой... |
Сейчас на форуме |
Anonymous
Advanced Member
Откуда: Москва(Россия) Всего сообщений: 2537 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 нояб. 2011 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 7 июля 2014 19:19 Сообщение отредактировано: 7 июля 2014 19:25
Не 32Kb, a 32Mb... AndyTh написал: Диски в RT11 имеют номер привода от 00 до 077 (в восьмеричной системе), т.о. доступно 2Гб для каждого устройства. Для многих устройств можно выборочно переназначать адрес начала каждой из 64 32Мбайтных партиций, получая доступ к гораздо большему объему. Можно переназначение сделать не через SET, а через .SPFUN, тогда из программ собственных будет доступ к пространству более 2Гб. и что нам делать с гигабайтной флешкой... |
MM
Advanced Member
Откуда: Павловский Посад Мск.обл. Всего сообщений: 3418 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 2 авг. 2013 |
Вот мы и подошли к неприступной скале - софту для работы с регистрами винта. * Аппаратный загрузчик предлагаю разместить с адреса 173000....173776 - т.е. для загрузки с винта надо просто набрать 173000G ( В МС1201.03/04 - 17773000G ). Или предусмотреть переключатель адресов расположения текста загрузчика и его вида ( т.к. даже минимальное ПЗУ позволяет сделать несколько вариантов ). На время разработки там следует поставить эмуль ПЗУ, а после проработки кода - натуральное ПЗУ ( 2 шт. 556РТ7 ). МС1201.03 имеет режим пуска прямо на 173000 - переключателем на плате, сигнал WO ВМ3 - таким образом надо писать так, что бы произвести подготовку М-ЭВМ с нового старта ( посте вкл. питания ). Так же не следует забывать пользователей М-ЭВМ, у которых нет терминала 177560 - БК и др. виды ЭВМ. * 2 Гбайт - очень хорошо, можно даже наделать дров - типа D0.SYS , D1.SYS , D2.sys ..... * Интересно , в Демос как дела с каталогом/максимальным объемом винта и т.п. фундаментальными ограниченими ? |
andyTh |
NEW! Сообщение отправлено: 7 июля 2014 20:38
Anonymous написал: А разве блок не 512 байт? Хотя что мешает ему быть 65535 слов. Тогда Не 32Kb, a 32Mb... 65535 блоков * 65535 слов * 2 байта = 8 гиг? |
Сейчас на форуме |
andyTh |
NEW! Сообщение отправлено: 7 июля 2014 20:50
MM написал: Не нужно вам морочиться с регистрами винта. Просто дайте мне номер блока и заберрите данные из буфера или регистра. Остальное я сделаю. Вот мы и подошли к неприступной скале - софту для работы с регистрами винта. |
Сейчас на форуме |
_Patron_
Member
Откуда: Москва Всего сообщений: 146 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 дек. 2012 |
AndyTh написал: 65536*512 = 32M А разве блок не 512 байт? А где будет работать сервер HX-протокола.. На борту? Там неслабые количества кода. |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 9 10 11 12 13 * 14 15 16 17 | Печать |
Полигон-2 » Другие архитектуры » Использование НМД2 в ДВК |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |