User Tag List

Страница 7 из 72 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 714

Тема: Контроллер псевдодиска на SD-карте для ДВК/ УКНЦ / PDP-11 original + Ethernet

  1. #61

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тады ой! (с) То есть из моего проекта ты выходишь? Ладно, придется собрать FATFS из кубиков, оно, вроде-бы, как-то работает. Коряво, конечно, но для сельской местности сойдет!..

    Только учти, что FPGA - это, конечно, круто, но воевать с писюшной ФС ты на нем конкретно устанешь, а ерунда по типу WD, когда непонятно, что делать с полученным диском на писюке - это несерьезно. Диск PDP-11 на писюшном носителе должен быть файлом в писюшной ФС. Согласись, круто, когда сделал в эмуляторе что-то работающее, залил файл-образ диска из под этого эмулятора на носитель для PDP-11, включил, и оно работает. Я тут почитал, с каким геморроем народ разбирается с теми самыми WD...

    Так, что правильным решением будет все-таки ставить туда какой-то МК, на котором соберётся FATFS, а на FPGA делать только интерфейс между МПИ и этим МК. Это, конечно, идеальный вариант.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  2. #61
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #62

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,507
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    То есть из моего проекта ты выходишь
    Вообще то - не собирался. Одно другому не мешает, да и начнётся мой проект даже не через месяц. Как я уже писал - трудно заниматься железом без осциллографа.
    Просто я действительно пока не понимаю, чем могу сейчас помочь. Написать код-пример работы с файлом с использованием API из FATFS? Готековская прошивка - весьма неплохой и уже готовый пример. Единственно но - автор не использует Keil. Но смотреть пример работы с FATFS это не должно помешать.
    Цитата Сообщение от AFZ Посмотреть сообщение
    FPGA - это, конечно, круто, но воевать с писюшной ФС ты на нем конкретно устанешь
    Кто сказал, что воевать с ФС будет FPGA? В том то и прелесть FPGA, что на нём можно собрать ЧТО УГОДНО.
    Цитата Сообщение от AFZ Посмотреть сообщение
    ерунда по типу WD, когда непонятно, что делать с полученным диском на писюке
    Может, кому и не понятно, но у меня проблем это не вызывало. Ибо есть эмулятор PDP и не один. Но авторы WD реализовали одну "ценную" вещь. С этого всё и завертелось.
    Цитата Сообщение от AFZ Посмотреть сообщение
    Я тут почитал, с каким геморроем народ разбирается с теми самыми WD
    У меня не WD, а WQ, в котором авторы НЕ сделали одну очень "ценную вещь" - таблицу разделов. Всё. (почти) Все проблемы по работе с носителем на PC решены. Ибо, как я уже писал - есть эмуляторы.
    Цитата Сообщение от AFZ Посмотреть сообщение
    правильным решением будет все-таки ставить туда какой-то МК
    На МК есть только одна полезная вещь. Пакет FATFS, показывающий - как работать с FAT или FAT32. И то, только потому, что Windows на PC (!!) умеет работать с FAT или FAT32 системой. В остальном МК бесполезен.
    И да, я почитал, с каким трудом рождается интерфейс обмена инфы между PDP и МК. Потому что то, что надо - на МК нет, а то что есть - по большей части не надо.
    Автор PDP-2011, конечно, не реализовал поддержку на SD карте файловой системой, зато он показал - как SD карта может прикидываться другим устройством, о котором знает PDP. Так что теперь можно делать аналоги любых родных для PDP (или их аналогов) устройств - с точностью до работы контроллеров. Осталось только сделать удобной работу с SD картой для Windows на PC. Мысли на этот счёт есть. Времени свободного мало. И мышление с программистского на железячное надо научиться переключать. Подвижки есть
    Цитата Сообщение от AFZ Посмотреть сообщение
    на FPGA делать только интерфейс между МПИ и этим МК
    Цитата Сообщение от AFZ Посмотреть сообщение
    Это, конечно, идеальный вариант
    А потом набраться знаний - и избавиться от МК

  4. #63

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Вообще то - не собирался.
    Тогда все замечательно.

    Цитата Сообщение от Hunta Посмотреть сообщение
    На МК есть только одна полезная вещь. Пакет FATFS, показывающий - как работать с FAT или FAT32. И то, только потому, что Windows на PC (!!) умеет работать с FAT или FAT32 системой. В остальном МК бесполезен.
    Да, конечно. Только вот большинство народа пользуется именно виндой. Впрочем, линюхи ведь тоже умеют работать с ФАТами. Ну, и главное - это то, что SD-шки изначально идут с ФАТом.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Кто сказал, что воевать с ФС будет FPGA? В том то и прелесть FPGA, что на нём можно собрать ЧТО УГОДНО.
    Нет, конечно, там вполне можно прописать еще один процессор PDP-11. Только вот соберется ли под него FATFS ? Свежих Си под него ведь нет...

    Цитата Сообщение от Hunta Посмотреть сообщение
    И да, я почитал, с каким трудом рождается интерфейс обмена инфы между PDP и МК.
    Да ничего особо сложного нет. Да, Кейл генерит не очень хороший код, который не успевает правильно поймать адрес в момент перехода К СИА Н из высокого в низкий. Можно было бы написать это дело на асме, но я плюнул и поймал это дело аппаратно - всего три м/с, довесок так сказать. После чего все заработало в лучшем виде. Я еще планировал делать аппаратную "заглушку" на тему ДПНМ, но сегодня почитал про внешние прерывания STM32 и спокойно сделал эту заглушку софтово. Завтра с утреца напишу еще кусочек, может успею сделать чтение с псевдодиска.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Просто я действительно пока не понимаю, чем могу сейчас помочь. Написать код-пример работы с файлом с использованием API из FATFS? Готековская прошивка - весьма неплохой и уже готовый пример.
    Угу. Посмотрел. Что-то там до фига всякого, вникать в это совершенно не хочется. К тому же SD-шка там, вроде-бы, подключена по SPI, а мне хотелось бы по SDIO, хот это и некритично. Если бы ты выдрал и прислал мне готовый кусок для работы с FATFS, это бы мне помогло.

    К тому же есть еще один аспект, про который пока не вспоминали. Ограниченное количество записей на SD-шку. Пусти простое копирование под RT-11 и посчитай, сколько раз там переписывается оглавление. Такими темпами ресурс SD-шкиной флеши будет съеден очень быстро. Поэтому очень бы желательно организовать кэширование с отложенной записью, это сразу сократит количество перезаписей оглавлений раз в 10. Для этого, правда, придется приделать к контроллеру какой-то источник питания - батарейку, или ионистор, чтобы при выключении ДВК-шника успеть сбросить кэши.

    Да и еще есть о чем подумать...
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  5. #64

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,507
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    там вполне можно прописать еще один процессор PDP-11
    А можно - и не PDP-11
    Цитата Сообщение от AFZ Посмотреть сообщение
    Если бы ты выдрал и прислал мне готовый кусок для работы с FATFS
    Ок, постараюсь - быстро только не обещаю...

  6. #65

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Угу, пока оно не горит. На "прям сейчас" у меня есть заглушка, потом соберу из кубиков, как получится, ну а заполируем с тем, что ты пришлешь.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  7. #66

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А я основательно продвинулся. Написал всё для минимального набора команд HD T4. Добавил две команды: RDbuf = 015 и WRbuf = 016. По команде RDbuf с адреса 177722 последовательно выдаются все 256 слов блока. По команде WRbuf данные, записываемые в 177722, последовательно заносятся в буфер. Команды CmdRea и CmdWri запускают операции чтения и записи, при записи остаток буфера будет заполнен нулями. Если в буфер ничего не заносилось, запишется целый сектор нулей. То есть, заполненность буфера определяется по последнему сеансу записи в него (WRbuf).

    И даже отладил чтение. В процессе отладки нашел одну ошибку у себя в программе МК и целых 4 в тестовой программе на ДВК - я ее писал на скорую руку, да и отвык я программировать на Макро-11...

    Кстати, оценил скорость чтения SD-карты. У меня в тесте был свободен R5, так я сделал ожидание чтения следующим образом.
    Код:
            MOV   #77777,R5
            MOV   #CmdRea,@R0     ; передать команду чтения сектора
    1$:     DEC   R5
            TSTB  @R0
            BPL   1$
    Так вот, после окончания ожидания в R5 оказалось число 077703, разница 074 (60). Получается, этот цикл выполнился 60 раз, и сектор был прочитан в буфер. Т.е. выполнилось 240 циклов шины. Передача сектора из буфера контроллера в память ДВК займет минимум 256 х 3 = 768 циклов шины. Видно, что SD-шка читается быстро, но не мгновенно. И имеет смысл поработать на тему совмещения времени чтения SD-шки и передачи, т.е. один сектор прочитали и передаем, а второй в это время читается во второй буфер.

    Но это потом. Сейчас буду отлаживать запись, потом настанет время заняться драйвером (если, конечно, Патрон не подкинет готовый), потом займусь подчисткой хвостов, и только после этого можно будет думать об улучшении...

    - - - Добавлено - - -

    Да, а еще надо заняться прерываниями. Надеюсь, что прерывание у меня получится без аппаратных "довесков". Но продвижение по-любому весьма заметное...
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  8. #67

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Докладываю. Макет, вроде-бы, работает. Осталось сделать обработку ошибок, пока у меня по каждой обнаруженной ошибке программа зацикливает на отдельном while(1); дальше смотрю в отладчике. Кое-что еще не совсем гладко, опять же, и уровень HD минимальный, но все это решается программированием, аппаратура, вроде-бы, устаканилась. Я, правда, еще не сделал прерывание, но, вроде-бы, с этим особых проблем не должно быть и дополнительной аппаратуры, вроде-бы, не надо.

    Как мне кажется, можно уже потихоньку начинать проектировать печатку. Мне кажется, что печатка будет не очень сложной и ее можно будет развести так, чтобы плату можно было сделать не только на заводе, но и лазерным утюгом. Впрочем, как получится.

    Да, FATFS я таки собрал из кубиков. Тоже не все еще понятно, но, вроде-бы, работает. Только вот выяснилось, что эта FATFS жрет ресурсы МК, как свинья помои! То есть, по-хорошему, надо бы сменить МК. И F407 в этом свете выглядит очень приличным решением. Так, что можно не жалеть о сборке проекта из кубиков - делать для 407-го что-то, помимо кубиков, это закат Солнца вручную!..

    Теперь пора заняться драйвером, а то сочинять для каждого движения отдельный тест, а потом набирать его вручную, весьма утомительно. Остаток этой недели, вероятно, передохну, а потом займусь драйвером.

    Patron, как, будем считать это устройство разновидностью HD или нет? Мне сменить адрес особых проблем нет - он у меня в одном месте. На мой взгляд, HD изначально планировалось, как устройство с ПДП, так пусть оно таким и останется. А моё устройство в эту идеологию ни разу не вписывается и тянуть его за уши в один ряд с HD, ИМХО, не стоит.

    Назову его, допустим, HZ (H - это от Host-based или HFS-based, а Z - понятно...), адрес/вектор сообразим. Некоторое же время спустя, если энтузиазм не иссякнет, можно будет продолжить эту разработку, используя ПДП, тогда можно будет вернуться к идее аппаратной реализации устройства HD.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  9. #68

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    будем считать это устройство разновидностью HD или нет?
    Если драйвер должен разбивать запрос операционки на отдельные блоки - это не HD.

    Если оставить адрес и вектор как у HD, то при эмуляции такого устройства (для написания ему драйвера) надо будет грузиться с чего-то кроме HD ( например с DW ) - в принципе это не проблема.

  10. #69

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я бы, как раз, предпочел "не HD", Адрес сменю без вопросов, он у меня в одном месте. Вопрос, какой взять адрес и какой вектор?
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  11. #70

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну, вот, еще продвинулся. Это ДВК-2 (ВМ2) загружается с микро-SD-шки.

    ИМХО, на глаз, загрузка с uDS на этом ДВК идет быстрее, чем эмулятора с True Speed с диска DW:

    Скрытый текст

    Код:
    @ 173000
    @177724G 010002
    @P 010056
    @P
    HD v4 Boot-I-Cold boot..
    
    HD (177720) disk driver  v4.0  2017
    
    SL V08.00 [SW] Сторожевых С.В. 1988
    
    RT-11SJ (Y) V05.04 G
    
    ?MON-F-Trap to 4 157536
    
    .DIR
    
    RT11SJ.SYS    78  16-Dec-2012    SWAP  .SYS    30  25-Mar-2003
    HX    .SYS     6  06-May-2015    TT    .SYS     2  23-Jan-1980
    SL    .SYS    10  28-Dec-1987    EM    .SYS     4  04-Mar-2012
    LD    .SYS     8  18-Jan-1988    DIR   .SAV    19  04-Jul-2002
    PIP   .SAV    30  31-Oct-1998    DUMP  .SAV     9  27-Dec-1983
    DUP   .SAV    45  27-Dec-1983    UCL   .SAV    16  18-Jan-1988
    UCL   .DAT     9  04-Dec-2011    HAND  .SAV     8  08-Nov-2011
    HANDLE.SAV    17  06-Sep-1991    EDIK  .SAV    22  19-Mar-2003
    DAY   .SAV     4  13-Apr-2013    DESS  .SAV    19  04-Mar-1994
    SPEED .SAV     3  28-Nov-1992    MEMORY.SAV     2  03-Sep-1982
    KLOP  .SAV    13  21-Nov-1988    IND   .SAV    58  19-Dec-1988
    TESTMY.SAV    16  27-Dec-1988    HZ    .SYS     3  24-Nov-2018
    HD    .SYS     3  24-Nov-2018    RESORC.SAV    25  01-Mar-2012
    STARTS.COM     1  30-Dec-2014    DHRY  .SAV    25  08-Feb-2015
    DW    .SYS     4  02-Feb-1990    MACRO .SAV    63  21-Dec-2012
    CREF  .SAV     6  31-Oct-1998    SYSMAC.SML    92  31-Oct-1998
    LP    .SYS     2  19-Dec-1988    MY    .SYS     3  07-Dec-1989
    MX    .SYS     9  15-Dec-2012    VM    .SYS     3  19-Dec-1988
    RT11XM.SYS   107  19-Dec-1988    DWX   .SYS     5  15-Jun-1988
    MYX   .SYS     3  07-Jul-1988    MXX   .SYS    10  01-Sep-1989
    VMX   .SYS     3  17-Apr-1989    LPX   .SYS     2  19-Dec-1988
    LDX   .SYS     8  19-Dec-1988    HDX   .SYS     3  09-Feb-2016
    HXX   .SYS     6  09-Feb-2016    BINCOM.SAV    25  21-Apr-1998
    BASIC .SAV    60  15-Feb-2015    LINK  .SAV    59  31-Oct-1998
    HELP  .SAV   143  19-Dec-1988    K52   .SAV    54  19-Dec-1988
    TESTDW.SAV    47  27-Dec-1988    TDW   .SAV    51  08-Mar-1990
    XONIX .SAV    13  01-Sep-1992    TETRIS.SAV    28  04-Apr-1985
    DESS  .HLP    26  10-Dec-1987    EDIK  .HLP    32  06-May-1988
     56 Files, 1352 Blocks
     64115 Free blocks
    
    .SH MEM
    
    Address   Module    Words
    -------   ------    -----
    160000    IOPAGE     4096.
    157400    HD          128.
    146552    RMON       2251.
    001000    ..BG..    26037.
    
    
    .SH DEV
    
    Device    Status          CSR     Vector(s)
    ------    ------          ---     ---------
      HX      Installed      177560   000
      TT      Installed      000000   000
      SL      Installed      000000   000
      EM      Installed      000000   010
      LD      Installed      000000   000
      HZ      Installed      177720   000
      HD      Resident       177720   000
      DW      Not installed  174000   300
      LP      Installed      177514   200
      MY      Not installed  172140   170
      MX      Not installed  177130   000
      VM      Not installed  177572   250
    
    
    
    .
    [свернуть]
    Два останова в самом начале (10002 и 10056) - отладочные, я смотрел, как оно там... А Trap to 4 - это кто-то что-то хочет писать (кто-то из драйверов результаты DRSet'а), а драйвер в части записи еще не готов. Ну, а чтение все в лучшем виде.

    Далее думаю сначала разобраться с прерываниями (работающего функционала достаточно для сравнительно удобной доставки тестов из-под эмулятора в ДВК-шник), и только потом займусь записью.

    - - - Добавлено - - -

    Пока контроллер прикидывается HD, но это только пока мы с Патроном не согласуем адрес и вектор для моего контроллера.
    Последний раз редактировалось AFZ; 24.11.2018 в 13:05.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

Страница 7 из 72 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 116
    Последнее: 20.01.2024, 17:40
  2. Ответов: 327
    Последнее: 03.12.2019, 22:49
  3. Контроллер IDE PATA для QBUS (Э-60, ДВК)
    от Жека:) в разделе Новодел
    Ответов: 4
    Последнее: 04.05.2012, 14:40

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •