|
2.3, Аноним (3), 10:27, 06/10/2025 [^] [^^] [^^^] [ответить]
| +9 +/– |
Да вы что? Наикрутейшая штука для STM и Atmel! Вы просто не в курсе, что это и для чего это.
| |
|
|
4.7, Аноним (3), 10:58, 06/10/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Какая тайна? Это USB стек. Больше и сказать нечего. Можно сделать любое USB устройство из перечисленных на базе любого из перечисленных микроконтроллеров. Вы вообще интересовались, как та же флэшка устроена? Или мышка?
| |
4.23, Аноним (23), 13:42, 06/10/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
Если в компетенции создать своё usb устройство, то вам не придется идти "на поклон" консорциуму за ID и платить роялти за каждое выпущенное устройство.
| |
|
5.38, КО (?), 16:18, 06/10/2025 [^] [^^] [^^^] [ответить]
| –5 +/– |
Кабеля и устройства к нему подключаемые тоже будете создавать? Или может будете сертификацию подтверждать?
Вещь чисто для энтузиастов со штучными экземплярами, которые ты не сможешь продать
| |
5.49, pv (?), 18:45, 06/10/2025 [^] [^^] [^^^] [ответить]
| +/– |
дело не в компетенции, платят за возможность нарисовать на коробочке точечку с тремя стрелочками и рядом написать USB-компатибле.
никто не запрещает сделать своё устройство, сказать что там инновационная Ultimate Superpuper Bus, что бы это не значило, и выпускать девайсы с любыми пересекающимися VID/PID.
гугл -> philips i2c vs atmel twi
| |
|
|
|
|
3.15, pfg21 (ok), 11:46, 06/10/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
человек и пароход !! (с) Простоквашино.
в спецификации есть и описание разъемов и описание программной части обмена данными и много чего еще. доброе утро подован :)
| |
|
|
1.10, крокодил мимо.. (-), 11:23, 06/10/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
извините за оффтоп, один вопрос:
- есть ли софтовые решения (для *nix), что позволяют симулировать добавление и извлечение usb-hub из аппаратной конфигурации? аналог "выдернул - вставил обратно"..
столкнулся с usb-хабом/концентратором, который не подхватывается "автоматом" при холодном старте, только после физического извлечения и вставки обратно.. не уверен, что даже если подобное решение существует - оно поможет, т.к. дело, скорее всего, в железе хаба..
спасибо..
p.s.:
в виндоус, кмк, можно удалить хаб из конфигурации, сохранить её и потом провести "ре-скан" оборудования, который должен "найти" удалённое (в device mgr).. не пробовал.. но проблемный хаб не цепляется с холодного старта и в вин10..
| |
|
|
3.19, крокодил мимо.. (-), 13:24, 06/10/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Иногда, при наличии аппаратной поддержки, можно выключить и включить usb-порт.
спасибо, не в этом случае.. рецепты с kernel.org тоже не работают.. нужно не "linux-only" решение (хаб для опёнка брал)..
| |
|
2.20, Аноним (23), 13:25, 06/10/2025 [^] [^^] [^^^] [ответить]
| +/– |
- Анализ логов.
- просмотр в msconfig.
- как устанавливалось устройство. Компетенция авторов драйверов в плане интеграции оборудования.
- Само устройство не проходит протокол бутовой инициализации.
| |
|
3.39, Аноним (39), 16:19, 06/10/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Проблема в питании, скорее всего с первого раза не открывается ключ из-за проблем с каким-нибудь конденсатором.
| |
|
4.44, крокодил мимо.. (-), 17:39, 06/10/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Проблема в питании, скорее всего с первого раза не открывается ключ из-за
> проблем с каким-нибудь конденсатором.
дык о то ж.. поэтому ищу софтовое решение, чтобы работало не только для lin, но и в openbsd.. пытаюсь через интерфейс контроллера что-то нащупать (методом тыка), т.к. нет готовых решений (или не нашёл).. и, кмк, столкнулся с тем, что не все usb-root-hub поддерживают софтовое управление питанием (цель - или выкл/вкл питание в слоте usb через рут-хаб, или как-то пнуть проблемный хаб на повторный инит)..
| |
|
|
|
3.24, крокодил мимо.. (?), 13:45, 06/10/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Для unix смотри сообщения журнала ядра.
в том-то и дело, что с холодного старта нет ничего.. сообщения появляются только после того, как его вытянешь и обратно ткнёшь..
пытаюсь что-то наваять через "USB_REQUEST struct usb_ctl_request", не получается.. и чувствую себя в роли обезьяны с гранатой..
| |
|
4.26, Аноним (23), 13:57, 06/10/2025 [^] [^^] [^^^] [ответить]
| +/– |
Посмотрите в какой конфигурации компилировалось ядро. В Debian это файл /boot/config-*
| |
4.61, Aliech (ok), 01:30, 07/10/2025 [^] [^^] [^^^] [ответить]
| +/– |
Товарищ, вангую, что ему (хабу... и устройствам в нём) тупо питания не хватает. Или какое hand-off в настройках фирмвари машины не включено.
Первое могло проявится от того, что когда при старте машины фирмваря опрашивала usb, то слишком много всего одновременно было опрошено в данном хабе, и всем устройствам не хватило питания. Ну и весь хаб в небытие отправился.
Второе - аналогично первому, но фирмваря тупо "не отпустила" хаб. Какой-нибудь костыль для Шиндовс, например.
Начните с питалова.
| |
|
|
2.45, Аноним (46), 18:13, 06/10/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Usb-устройства , у которых питание идёт из порта, следует подключать к компьютеру только после включения питания на компьютере, так как при включении питания на компьютере в usb-порт на интерфейсные контакты подаётся случайный мусор и usb-устройство не понимает как ему соедиться с хостом и виснет. У меня так происходит с usb-адаптером wifi.
| |
|
3.52, крокодил мимо.. (-), 19:56, 06/10/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Usb-устройства , у которых питание идёт из порта, следует подключать к
> компьютеру только после включения питания на компьютере, так как при включении
> питания на компьютере в usb-порт на интерфейсные контакты подаётся случайный мусор
> и usb-устройство не понимает как ему соедиться с хостом и виснет.
> У меня так происходит с usb-адаптером wifi.
нет.. при ините ядра (это верно и для вин, и для *nix) идёт probe/опрос оборудования.. после получения ответа - конфиг железа (грубо говоря).. подобное поведение хаба (без отклика с холодного старта) - не является нормой.. думаю, что и с вашим адаптером тоже не всё гладко..
| |
|
4.64, Аноним (64), 08:27, 07/10/2025 [^] [^^] [^^^] [ответить]
| +/– |
Все бы хорошо, но хаб/девайс тоже имеет право опрашивать порт хоста при подключении. И некоторые девайсы распознают пожключение к порту не по питанию (оно может быть внешним! особенно для хаба), а по смене состояния линий порта. Пока девайс не разлядит там "было в подвешенном состоянии, а теперь там есть что-то" можно питание порта дергать сколько угодно.
| |
|
|
|
1.28, Аноним (28), 14:09, 06/10/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> а помещаются в очередь, которая разбирается и обрабатывается в контексте выполнения приложения, а не обработчика прерываний.
Но на устройствах без MMU вся память доступна на чтение и запись абсолютно всем, поэтому нет разницы, что поломают, один из сервисов, или обработчик прерывания.
| |
|
2.31, Аноним (31), 14:59, 06/10/2025 [^] [^^] [^^^] [ответить]
| +/– |
Это т.н. best effort решение
Лучше хоть какой-то дефолт с претензией на "мы подумали о потенциальных проблемах в реальной эксплуатации", чем вообще ничего
| |
2.41, _kp (ok), 16:52, 06/10/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Речь об отложенной обработке прерываний, а это не обязательно свазано с MMU, а скорее для более предсказуемой реакции на потоки прерываний.
| |
2.42, Аноним (42), 16:53, 06/10/2025 [^] [^^] [^^^] [ответить]
| +/– |
При чём здесь MMU и "поломают"? В новости речь про корректную реализацию async-signal safety.
Грубо говоря, поместив в README фразу "...thread-safe... interrupt events are deferred then handled in the non-ISR task function", разработчики дают понять что имеют элементарную квалификацию писать драйвера с ISR-обработчиками (а также программы с fork(), обработчики сигналов и много чего ещё).
| |
2.50, Аноним (50), 18:47, 06/10/2025 [^] [^^] [^^^] [ответить]
| +/– |
В микроконтроллерах зачастую бывает PMU - защита на уровне диапазонов адресов.
| |
|
1.32, Аноним (32), 15:02, 06/10/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> написан на языке Си
Хм....
> Для повышения безопасности в TinyUSB не применяются операции динамического выделения памяти.
А... вот как они сделали.
Наверное единственный способ добиться хоть какой-то безопасности.
Интересно чего не С++? Там хоть смартпойнтеры есть.
| |
|
2.34, Аноним (35), 15:34, 06/10/2025 [^] [^^] [^^^] [ответить]
| –3 +/– |
> С++? Там хоть смартпойнтеры есть.
Надо рассказать приплюснутым, пусть попробуют использовать. А то какой-то раст придумали те, кто не смог справку stl осилить.
| |
2.43, _kp (ok), 16:58, 06/10/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
На простых контроллерах, для которых этот стек и делается, активное использование памяти из кучи, вызывает её прогрессирующую фрагментацию, и возрастанием шанса на ошибку при выделении непрерывного блока памяти запрошенного размера.
Это проблема не С/С++, а конкретной платформы, и реализации на ней.
То есть, это оптимизция для работы на том, что есть, из популярных платформ. ;)
| |
|
1.40, Фамилия (?), 16:27, 06/10/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
JFYI когда у меня встал вопрос поиска USB стэка, мне TinyUSB не понравился, а понравился вот этот стэк: https://github.com/cherry-embedded/CherryUSB . По мне, CherryUSB более простой и понятный. Он более прямолинейный что ли, и более структурированный. И из-за этого выглядит простым. Я его легко подключил в FreeRTOS и написал драйвер для своей релизации USB host'а в ПЛИСине. Пока копался там, никаких отвращений не испытывал.
| |
|
|
3.60, Фамилия (?), 00:31, 07/10/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ну что за вопросы на ресурсе про опен сорс, энтузиазм и ЧСВ :) Просто делаю пет-проект, "убийцу" wacom/huion/remarkable с экраном, где в ПЛИСину на собственном HDL запихиваю всё что мне нужно, в том числе USB хост свой написал. Месяц свободных вечеров потратил на это. Получилось, вроде, по ресурсам даже меньше, чем у опен-сорсных USB 1.1 хостов в интернетах (у меня получилось всего лишь 290 LUTов на xc6slx25).
| |
|
2.59, Аноним (58), 23:55, 06/10/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Большое спасибо, пока бегло ознакомился, выглядит реально хорошо. Тоже какое-то время искал простой, но функциональный юсб стэк, чтоб еще и хорошо был написан. Спасибо!
| |
|
1.62, Аноним (62), 06:37, 07/10/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Как USB стек может быть кроссплатформенным? Ведь usb стек это по определению мост между контроллером и системой.
| |
|