На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
Страницы: (51) 1 2 [3] 4 5 ...  50 51  ( Перейти к последнему сообщению )  
> Желающим USB под ДОС , Welcome!!!
    Цитата Barbosman @
    всегда помогут неопытным молодым программерам-самоучкам, и "по-отцовски" укажут им на их ошибки, и подтолкнут на правильный путь.

    Не надо так иронизировать! Здесть болшинство - самоучки!
    Цитата Barbosman @
    В спецификациях все разжовано...


    cppasm можешь пару ссылок кинуть на эту тему (SMM)?
      Я в основном на WASM читал.
      Но там сейчас какие-то проблеммы, я второй день зайти не могу.
      Думаю по-позже ссылки выложу.
      А вообще в сети немного вроди есть по этой теме.
        Gerret
        Не мог бы ты разъяснить как передавать команды USB флешке.
        И протокол передачи, в доке только описание полей самого пакета,
        а как в него добавлять команды не указано.
        как работать с CBW и CSW?
        Документ по работе с USB Mass Storage
        usbmassbulk_10.pdf
        :wall:
        Сообщение отредактировано: DJK -

        Прикреплённый файлПрикреплённый файлusbmassbulk_10.zip (83.63 Кбайт, скачиваний: 768)
          Хотя цитировать себя как-то не хорошо, но все же:
          Цитата Gerret @
          Для всех USB флешек, протоколом обмена данными верхнего уровня является SCSI 2 протокол. Команды этого протокола упаковываются в пакеты протокола USB Bulk Only transport


          Описание протокола SCSI можно найти на www.t10.org, или, если дашь мне свое мыло, пришлю в письме. Только это описание довольно массивное(в rar'е 5.12 мега).

          Команды SCSI протокола помещаются в CBW в поле CBWCB. А последовательность передачи CBW и CSW описана в usbmassbulk_10.pdf
            Документов там очень много SPC SMC и другие, у меня есть только MMC
            команды MMC помещаются в CBW в поле CBWCB?
            на примере покажи ,пожалуйста, какие команды использовать из какого документа, и как их поместить в CBW в поле CBWCB.
            mailto:djk-pr@yandex.ru
            Сообщение отредактировано: DJK -
              VaStaNi Ещё бы кулакова...
                Цитата Arazel @
                VaStaNi Ещё бы кулакова...


                http://www.bukinist.info/fileout-206.html

                Добавлено
                Люди, помогите плзз, задание следующее :

                Нада написать под DOS :
                1. определение USB флешки на физ. уровне (без дров), руками.
                2. запись на флешку в любой инфы (например 1 байта, константы)
                3. чтение того же байта, с того же места ...

                Язык програмирования - С, либо Pascal (ну с АСМ-вставками)
                В идеале конечно поделитесь ктонить готовыми исходниками.

                Спасиба
                  ну по поводу чтение/запись - смотри выше.
                  а что касается определения на физ уровне, то смотря какой интерфейс у шинного хоста. Я только OHCI рулил.

                  Добавлено
                  В принципе там у OHCI и UHCI (EHCI не видел никада) различий только в управлении энтим хостом.
                    Тут на форуме поищи есть кое-какие исходники и полезные ссылки, а для начала определись с типом контроллера, как уже верно было подмечено, читай у Кулакова про UHCI. И ещё смотри доку на свою флешку.
                      Люди помогите!

                      Запускается FTDI FT245BM под DOS.
                      Проблема: не получаю ответы от микросхемы; не получаю ни ACK ни NACK на самые первые посылки.

                      Контроллер UHCI инициализирую, делаю в памяти Setup дескриптор(GET_DESCRIPTOR), запускаю контроллер
                      устоновкой бита 0 в порту COMMAND. Ответа на следующую посылку DATA IN нету.

                      Главное: вижу все свои посылки цифровым запоминающим осциллографом INSTEK GDS-820
                      на линиях D+ D-.
                      Вижу как уходит SYNC_Field(0x01),StartOfFrame(0xA5),..., вижу Setup(0xd2) адрес 0 и конечную
                      точку 0; вижу осцилом все восемь байт, необходимые для запроса GET_DESCRIPTOR.
                      Ну нет ответа ни ACK ни NACK. Соотвецвенно нет ответа на следующую посылку DATA IN,
                      хотя свой запрос DATA IN я тоже вижу осциллографом.

                      Спасибо всем кто предложит хоть что-нибудь.
                        А под виндой девайсина работает?
                          Хм... интересный способ отладки...
                          А что говорит контроллер в статусе транзакции, ну например на DATA IN транзакцию?
                          Если нет ни ACK ни NAK, то скорее всего не по тому адресу шлешь. Сделай SET_ADDRESS и посмотри, что будет на осциллографе.
                            Под виндой девайсина работает и вижу ACK и вижу NACK осциллографом.
                            Дрова использую от FTDI. Аpplication programm какая не помню, но она чего-то шлёт,
                            а микруха шлет ответы. К сожалению даже используя цифровой осциллограф не могу моймать
                            последовательность инициализации микросхемы виндой, т.к. эта последовательность инициализации
                            очень растянута во времени(1-2 секунды, но для запоминания
                            в осцилле и для компа вообще - это слишком много),
                            а засинхронизоваться в нужный момент времени непредставляется возможным, т.к. не
                            известно в какой момент времени винда начинает инициализацию USB порта и девайсов.
                            А то бы если поймал, так нет вопросов.


                            А способ отладки действительно интересный. Не по тому адресу не могу слать, т.к. адрес 0
                            и endpoint 0 вижу осцилографом в пакете SETUP.
                            SET_ADDRESS сделать не могу, т.к. не получаю ответа на GET_DESCRIPTOR.
                            Kонтроллер в статусе транзакции SETUP показывает, что ошибки нет, что все 8 байтов
                            успешно оправлены. И это действительно так, ведь я их вижу осциллографом.
                            Но байты то отправлены, а ответа ACK нету.
                            Тут может быть вопрос: а что пишется в статус транзакции, если есть ACK или NACK или нет
                            ни того ни другого.(: или есть и то и другое :)

                            в статусе транзакции DATA IN Kонтроллёр показывает что принято 0x7ff байтов,
                            хотя ответа от FT245 не было.
                              Цитата gorin @
                              в статусе транзакции DATA IN Kонтроллёр показывает что принято 0x7ff байтов,
                              хотя ответа от FT245 не было.

                              Правильно! Контроллер пишет реальное количество принятых байт без единицы, т.е. 000-001=7FFh

                              Цитата gorin @
                              SET_ADDRESS сделать не могу, т.к. не получаю ответа на GET_DESCRIPTOR.

                              А кто сказал, что без GET_DESCRIPTOR нельзя делать SET_ADDRESS? Хотя последовательность в принципе не важна...

                              Очень советуюю пока отложить осциллограф и смотреть все по статусам транзакций.
                              И еще, посмотри байт статуса транзакции (23-16, биты второго dword'а Transfer Descriptor'a), там будет записан код ошибки.
                              Сообщение отредактировано: Gerret -
                                Я пытался работать с FTDI232BM, но своей прогой. Получал от неё все стандартные дескрипторы, а вот дальше инфы не нашёл...но это лирика. Насколько я помню сначала нужно было проводить нумерацию (т.е. посылкой Set Adress с 0), а далее получал Дескрипотор конфигурации. В такой последовательности работало. А может у FTDI есть более стабильная версия дров?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (51) 1 2 [3] 4 5 ...  50 51


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0486 ]   [ 16 queries used ]   [ Generated: 26.04.24, 11:02 GMT ]