Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.133.160.156] |
|
Страницы: (51) 1 2 [3] 4 5 ... 50 51 ( Перейти к последнему сообщению ) |
Сообщ.
#31
,
|
|
|
Цитата Barbosman @ всегда помогут неопытным молодым программерам-самоучкам, и "по-отцовски" укажут им на их ошибки, и подтолкнут на правильный путь. Не надо так иронизировать! Здесть болшинство - самоучки! cppasm можешь пару ссылок кинуть на эту тему (SMM)? |
Сообщ.
#32
,
|
|
|
Я в основном на WASM читал.
Но там сейчас какие-то проблеммы, я второй день зайти не могу. Думаю по-позже ссылки выложу. А вообще в сети немного вроди есть по этой теме. |
Сообщ.
#33
,
|
|
|
Gerret
Не мог бы ты разъяснить как передавать команды USB флешке. И протокол передачи, в доке только описание полей самого пакета, а как в него добавлять команды не указано. как работать с CBW и CSW? Документ по работе с USB Mass Storage usbmassbulk_10.pdf Прикреплённый файлusbmassbulk_10.zip (83.63 Кбайт, скачиваний: 768) |
Сообщ.
#34
,
|
|
|
Хотя цитировать себя как-то не хорошо, но все же:
Цитата Gerret @ Для всех USB флешек, протоколом обмена данными верхнего уровня является SCSI 2 протокол. Команды этого протокола упаковываются в пакеты протокола USB Bulk Only transport Описание протокола SCSI можно найти на www.t10.org, или, если дашь мне свое мыло, пришлю в письме. Только это описание довольно массивное(в rar'е 5.12 мега). Команды SCSI протокола помещаются в CBW в поле CBWCB. А последовательность передачи CBW и CSW описана в usbmassbulk_10.pdf |
Сообщ.
#35
,
|
|
|
Документов там очень много SPC SMC и другие, у меня есть только MMC
команды MMC помещаются в CBW в поле CBWCB? на примере покажи ,пожалуйста, какие команды использовать из какого документа, и как их поместить в CBW в поле CBWCB. mailto:djk-pr@yandex.ru |
Сообщ.
#36
,
|
|
|
VaStaNi Ещё бы кулакова...
|
Сообщ.
#37
,
|
|
|
Цитата Arazel @ VaStaNi Ещё бы кулакова... http://www.bukinist.info/fileout-206.html Добавлено Люди, помогите плзз, задание следующее : Нада написать под DOS : 1. определение USB флешки на физ. уровне (без дров), руками. 2. запись на флешку в любой инфы (например 1 байта, константы) 3. чтение того же байта, с того же места ... Язык програмирования - С, либо Pascal (ну с АСМ-вставками) В идеале конечно поделитесь ктонить готовыми исходниками. Спасиба |
Сообщ.
#38
,
|
|
|
ну по поводу чтение/запись - смотри выше.
а что касается определения на физ уровне, то смотря какой интерфейс у шинного хоста. Я только OHCI рулил. Добавлено В принципе там у OHCI и UHCI (EHCI не видел никада) различий только в управлении энтим хостом. |
Сообщ.
#39
,
|
|
|
Тут на форуме поищи есть кое-какие исходники и полезные ссылки, а для начала определись с типом контроллера, как уже верно было подмечено, читай у Кулакова про UHCI. И ещё смотри доку на свою флешку.
|
Сообщ.
#40
,
|
|
|
Люди помогите!
Запускается 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 я тоже вижу осциллографом. Спасибо всем кто предложит хоть что-нибудь. |
Сообщ.
#41
,
|
|
|
А под виндой девайсина работает?
|
Сообщ.
#42
,
|
|
|
Хм... интересный способ отладки...
А что говорит контроллер в статусе транзакции, ну например на DATA IN транзакцию? Если нет ни ACK ни NAK, то скорее всего не по тому адресу шлешь. Сделай SET_ADDRESS и посмотри, что будет на осциллографе. |
Сообщ.
#43
,
|
|
|
Под виндой девайсина работает и вижу 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 не было. |
Сообщ.
#44
,
|
|
|
Цитата gorin @ в статусе транзакции DATA IN Kонтроллёр показывает что принято 0x7ff байтов, хотя ответа от FT245 не было. Правильно! Контроллер пишет реальное количество принятых байт без единицы, т.е. 000-001=7FFh Цитата gorin @ SET_ADDRESS сделать не могу, т.к. не получаю ответа на GET_DESCRIPTOR. А кто сказал, что без GET_DESCRIPTOR нельзя делать SET_ADDRESS? Хотя последовательность в принципе не важна... Очень советуюю пока отложить осциллограф и смотреть все по статусам транзакций. И еще, посмотри байт статуса транзакции (23-16, биты второго dword'а Transfer Descriptor'a), там будет записан код ошибки. |
Сообщ.
#45
,
|
|
|
Я пытался работать с FTDI232BM, но своей прогой. Получал от неё все стандартные дескрипторы, а вот дальше инфы не нашёл...но это лирика. Насколько я помню сначала нужно было проводить нумерацию (т.е. посылкой Set Adress с 0), а далее получал Дескрипотор конфигурации. В такой последовательности работало. А может у FTDI есть более стабильная версия дров?
|