реклама на сайте
подробности

 
 
> STM32F103 USB, Что то не получается.
MALLOY2
сообщение Jul 7 2010, 08:46
Сообщение #1


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Толи я что то забыл, толи что то не дочитал давно уже не занимался USB.

Суть проблемы.
Инициализирую USB, получаю ресет от компа, получаю Setup пакет размером 8 байт с содержимым
Код
0x80, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00


Все как бы честно запрос дескриптора, но поля wValue и wLength равны нули, из за чего я перехожу в STALL, сначала думал что что то не так копирую, посмотрел в отладчике прямо PMA область, там теже значения, что я делаю не так ?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MALLOY2
сообщение Jul 7 2010, 12:25
Сообщение #2


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Код
При запросе дескриптора поле bRequest должно быть равно 0х06, а у Вас оно 0х60.
Это не запрос дескриптора.


это я тут не правильно написал, естественно там 6.

Код
бы посоветовал вам не придумывать заново реализацию протокола USB, а воспользоваться уже готовой библиотекой


я его не придумываю просто портирую на этот контроллер, естественно в первую очередь на либу смотрел, и понял годится она только в демки в общем гомно-код мне не нужен.

Вобщем разобрался в чем было дело, неправильно копировал с PMA области, все дело в хитрой адресации инкрементируем на 4 читаем 2 байта инкрементируем на 4 читаем два байта и т.д., фактически указатель на 32 бита инкрементируется, а читается по нему 16, а я инкрементировал указатель на 16 бит.

Это:
Код
80 06, 00, 01, 00, 00, 40, 00


Выглядит в PMA памяти вот так:
Код
80 06 00 00 00 01 00 00 00 00 00 00 40 00 00 00






Go to the top of the page
 
+Quote Post
sonycman
сообщение Jul 7 2010, 12:39
Сообщение #3


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(MALLOY2 @ Jul 7 2010, 16:25) *
Вобщем разобрался в чем было дело, неправильно копировал с PMA области, все дело в хитрой адресации инкрементируем на 4 читаем 2 байта инкрементируем на 4 читаем два байта и т.д.

Точно так же на STM32 располагаются в памяти байты бэкап домена.
Тут надо быть внимательнее, чтобы не наломать дров smile.gif
Go to the top of the page
 
+Quote Post
klen
сообщение Jul 9 2010, 06:16
Сообщение #4


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(sonycman @ Jul 7 2010, 16:39) *
Точно так же на STM32 располагаются в памяти байты бэкап домена.
Тут надо быть внимательнее, чтобы не наломать дров smile.gif

я тут уже писал.... код функций который копирует данные между PMA и RAM нада кунцкамеру отдавать. я одну из функций переписал короче в 8 раз по выходному асму! шерсть на заднице дыбом встала когда внимательнее поглядел как "там у индусов" сделано smile.gif

я предлагаю стандартные библиотеки ST называть не библиотеками а документацией. я лично то что они документацией называют я органически не воспринимаю. А так смотриш библиотеку - a.... вот оно оказываеццо как работает! и пишеше свой код smile.gif
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jul 9 2010, 12:10
Сообщение #5


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(klen @ Jul 9 2010, 10:16) *
я предлагаю стандартные библиотеки ST называть не библиотеками а документацией. я лично то что они документацией называют я органически не воспринимаю. А так смотриш библиотеку - a.... вот оно оказываеццо как работает! и пишеше свой код smile.gif

Нормальная у них документация.
По бэкап домену совсем всё просто и понятно.
По USB потруднее воспринимается, но тоже не беда.

А библиотеки это да, кривые, но это сейчас так модно - что у ST, что у ATMEL, что у NXP smile.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 14:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01395 секунд с 7
ELECTRONIX ©2004-2016