Обновить
16K+
269

Пользователь

71
Рейтинг
135
Подписчики
Отправить сообщение

Получается, лучше вообще ничего не писать?

Используя все четыре способа?

Он должен поддерживать AP mode.

Для данного поректа, думаю, разницы нет. Кроме цены rp2350, которая выше.

У тех ESP32, что у меня есть в наличии нет аппаратного USB.

Он просто удобный, и с ним быстрее и меньше вероятности, что что-то пойдет не так.

Скорее всего все появилось +/- в одно время, после бума нетбуков, у которых отсутствовал оптический привод, и нужно было как-то решать эту проблему. Но решение от IODD эмулировать оптический привод мне нравится больше загрузочных флешек и даже больше, чем Ventoy.

Вроде как в вашей первой, неотредактированной версии сообщения я не видел S3, хотя, может я ошибаюсь.

У ESP32-WROOM-32, который самый распространенный, не имеет аппаратного USB. Теоретически конечно можно и программный использовать.

Да, лучше IODD и Zalman никто еще не придумал.

Сам удивляюсь, почему другие производители не делают такие устройства. Сейчас правда, когда большинство дистрибутивов операционных систем можно ставить без CD-ROM, значимость IODD стала меньше.

Я делал на баше для Raspberry Pi Zero 2 W.

Вы можете посмотреть здесь https://habr.com/ru/companies/ruvds/articles/722266/.

Правда там не было загрузки образа по сети.

Есть приложение DriveDroid. Но оно требует права root. Кажется, оно только локальные ISO позволяет эмулировать. Ну и образ должен быть до 2 GB ввиду странного ограничения прописанного в ядре Linux.

Да, но это больше эксперимент для изучения технологий, чем полноценное устройство.

Спасибо за дополнение к статье.

Спасибо за хороший вопрос, который я упустил в статье. Байты передаются по схеме Little Endian, биты - по схеме LSB.

Можно собрать на макетной плате. Понадобится: макетная плата, соединительные провода, разъемы USB Type C, USB Type A для макетных плат и кабель USB type A - USB Type C.

Если у устройства три интерфейса, у устройства есть одна двунаправленная EP0, и у каждого интерфейса есть IN EP и OUT EP, тогда будет 1 + 3 × 2 = 7 точек.

всего может быть 16 точек для отсылки данных на устройство и 16 точек для приёма данных с устройства.” Почему EP однонаправлен? Почему EP не может работать в обоих направлениях, почему нужно создавать In EP 1, Out EP 1 вместо In-out EP 1

Одна точка - EP0, является двунаправленной. Я думаю, чтобы проще реализовывать буфер для каждой точки.

Для конфигурирования USB используется конечная точка по умолчанию, имеющая номер 0.” Получается, в распоряжении программиста может быть 15 точек для отсылки данных на устройство и 15 точек для приёма данных с устройства. Потому что 0th точка зарезервирована, верно?

Если я правильно помню,  статусы индикаторов USB-клавиатуры  передаются через EP0.

на практике 16 EP в каждом направлении это много или мало? Почему не может быть всего 2 EP в каждом направлении (из которых одна - Control, то есть особая), то есть по сути всего 1 EP в каждом направлении в распоряжении программиста. И пусть программист на своём уровне уже добавляет метки пакетов своего кастомного протокола

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

Я так и делал в Ну, Погоди!. Я думал вопрос был в многопоточности на одном ядре.

Нормально. Особенно удобно с плагином для VS Code и вторым пико для дебага и заливки. С многопоточностью не работал на нем. Только использовал два ядра в своем эмуляторе "Ну, погоди!". Для многопоточности нужно использовать FreeRTOS или ZephyrOS, как я понимаю.

1
23 ...

Информация

В рейтинге
99-й
Зарегистрирован
Активность