STM32 и USB (практика)
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 и USB (практика)
Причём тут вообще операционная система? Правильно спроектмрованное устройство в 23-м году воткнул и работай себе. Ну, разве что, в линуксе с бубном поплясать ещё надо, но всё равно должно работать.
- Реклама
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: STM32 и USB (практика)
Потому что винда это правильно спроектированное устройство не видит. Что самое забавное - виртуальные видят нормально, а вот реальные - нет.
И это еще не говоря про неправильно спроектированное устройство, которое винду вообще в BSOD отправить может.
А что за пляски с бубном вы на линуксе нашли? А то я что-то никогда необходимости в них не испытывал. Все как обычно: в линуксе работает, в винде проблемы на ровном месте.
И это еще не говоря про неправильно спроектированное устройство, которое винду вообще в BSOD отправить может.
А что за пляски с бубном вы на линуксе нашли? А то я что-то никогда необходимости в них не испытывал. Все как обычно: в линуксе работает, в винде проблемы на ровном месте.
Re: STM32 и USB (практика)
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395563#p4395563"]винду вообще в BSOD отправить может[/uquote] Устройство не может винду в BSOD отправить, только драйвер, то есть претензии к разработчику драйвера нужно предъявлять.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 и USB (практика)
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395563#p4395563"]Потому что винда это правильно спроектированное устройство не видит.[/uquote]Что, даже дескрипторы не считывает? Ох уж мне эти сказки.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395563#p4395563"]Что самое забавное - виртуальные видят нормально, а вот реальные - нет.[/uquote]Ох уж мне эти сказочники.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395563#p4395563"]И это еще не говоря про неправильно спроектированное устройство, которое винду вообще в BSOD отправить может.[/uquote]Ни чё се...
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395563#p4395563"]А что за пляски с бубном вы на линуксе нашли?[/uquote]Из последнего. Драйвер мохи не ставился пока в BIOS не отключили Secure Boot.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395563#p4395563"]А то я что-то никогда необходимости в них не испытывал.[/uquote]А ничего удивительного. Постоянное топтание терминала у вас уже за норму идёт.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395563#p4395563"]Все как обычно: в линуксе работает, в винде проблемы на ровном месте.[/uquote]Вместо того чтобы просто вставил и работай.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395563#p4395563"]Что самое забавное - виртуальные видят нормально, а вот реальные - нет.[/uquote]Ох уж мне эти сказочники.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395563#p4395563"]И это еще не говоря про неправильно спроектированное устройство, которое винду вообще в BSOD отправить может.[/uquote]Ни чё се...
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395563#p4395563"]А что за пляски с бубном вы на линуксе нашли?[/uquote]Из последнего. Драйвер мохи не ставился пока в BIOS не отключили Secure Boot.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395563#p4395563"]А то я что-то никогда необходимости в них не испытывал.[/uquote]А ничего удивительного. Постоянное топтание терминала у вас уже за норму идёт.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395563#p4395563"]Все как обычно: в линуксе работает, в винде проблемы на ровном месте.[/uquote]Вместо того чтобы просто вставил и работай.
Re: STM32 и USB (практика)
[uquote="VladislavS",url="/forum/viewtopic.php?p=4395573#p4395573"]А ничего удивительного. Постоянное топтание терминала у вас уже за норму идёт.[/uquote]
Что вы под этим имеете в виду?
Что вы под этим имеете в виду?
- Реклама
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: STM32 и USB (практика)
[uquote="azhel12",url="/forum/viewtopic.php?p=4395570#p4395570"]Устройство не может винду в BSOD отправить, только драйвер, то есть претензии к разработчику драйвера нужно предъявлять.[/uquote]В данном случае я говорю о внешнем проявлении. Устройство с криво прописанным дескриптором отправляло старые винды в синий экран. Что именно ломалось в винде - штатные драйвера, система его подгрузки, система чтения дескрипторов - не знаю.
При чем здесь дескрипторы? Я говорю, что устройство под ней не работает. Все дескрипторы стандартные, но вот "неизвестное устройство" и все тут. Возможно, как раз что тут описывали - неудачно выбрал VID:PID. Хотя уж на эту-то пару (от vusb) ничего сверхъестественного зарезервировано быть не должно.VladislavS писал(а):Что, даже дескрипторы не считывает? Ох уж мне эти сказки.
Вы так говорите будто умение использовать инструмент по прямому назначению является чем-то постыдным. Или вы предпочитаете одноклеточное возюканье мышью, когда элементарная задача растягивается на часы?VladislavS писал(а):А ничего удивительного. Постоянное топтание терминала у вас уже за норму идёт.
Именно! Казалось бы, USB, стандартный интерфейс, в устройстве реализованы исключительно стандартные функции, вставил и работай. Но винда явно не про это...VladislavS писал(а):Вместо того чтобы просто вставил и работай.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 и USB (практика)
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395592#p4395592"]При чем здесь дескрипторы? Я говорю, что устройство под ней не работает.[/uquote]Нет. Вы написали именно "не видит". Под "не видит" я понимаю - вставил и ничего не произошло. Как будто и не вставлял.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395592#p4395592"]Все дескрипторы стандартные, но вот "неизвестное устройство" и все тут. Возможно, как раз что тут описывали - неудачно выбрал VID:PID. Хотя уж на эту-то пару (от vusb) ничего сверхъестественного зарезервировано быть не должно.[/uquote]То есть, ваше творчество, а виновата операционка. Ясно, понятно.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395592#p4395592"]Вы так говорите будто умение использовать инструмент по прямому назначению является чем-то постыдным.[/uquote]Умение - похвально. Требование постоянно им пользоваться - нет.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395592#p4395592"]Или вы предпочитаете одноклеточное возюканье мышью, когда элементарная задача растягивается на часы?[/uquote]Предпочитаю вообще ничего не делатью, просто вставить и пользоваться. И потом, вы мышей боитесь что-ли?
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395592#p4395592"]Казалось бы, USB, стандартный интерфейс, в устройстве реализованы исключительно стандартные функции, вставил и работай. Но винда явно не про это...[/uquote]Как раз про это. Количество и квалификация среднестатистического пользователя как раз это подтверждают. Если бы было наоборот, большинство бы красноглазило.
Добавлено after 25 minutes 51 second:
Из последнего. Изделие управляется по RS-485 через USB-шную моху. Программист пишет на питоне, так что работает и на винде, и на линухе.
На винде программист: установил драйвер с сайта производителя, сконфигурировал режим работы в 2-проводный. В дальнейшем втыкаешь в любой порт и всё работает сразу.
На линуксе тот же программист: пару дней пытался поставить драйвер, пока не допёр отключить Secure Boot. Затем каждое втыкание - устройство несконфигурировано и под непредсказуемым номером. Идёшь в терминал, смотришь под каким именем оно появилось (методом передёргивания, так как там ещё похожие устройства есть), задаёшь права доступа, задаёшь режим работы порта. И только теперь можно запустить прикладную программу.
Мне работать, а не джедайские умения демонстрировать.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395592#p4395592"]Все дескрипторы стандартные, но вот "неизвестное устройство" и все тут. Возможно, как раз что тут описывали - неудачно выбрал VID:PID. Хотя уж на эту-то пару (от vusb) ничего сверхъестественного зарезервировано быть не должно.[/uquote]То есть, ваше творчество, а виновата операционка. Ясно, понятно.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395592#p4395592"]Вы так говорите будто умение использовать инструмент по прямому назначению является чем-то постыдным.[/uquote]Умение - похвально. Требование постоянно им пользоваться - нет.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395592#p4395592"]Или вы предпочитаете одноклеточное возюканье мышью, когда элементарная задача растягивается на часы?[/uquote]Предпочитаю вообще ничего не делатью, просто вставить и пользоваться. И потом, вы мышей боитесь что-ли?
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395592#p4395592"]Казалось бы, USB, стандартный интерфейс, в устройстве реализованы исключительно стандартные функции, вставил и работай. Но винда явно не про это...[/uquote]Как раз про это. Количество и квалификация среднестатистического пользователя как раз это подтверждают. Если бы было наоборот, большинство бы красноглазило.
Добавлено after 25 minutes 51 second:
Из последнего. Изделие управляется по RS-485 через USB-шную моху. Программист пишет на питоне, так что работает и на винде, и на линухе.
На винде программист: установил драйвер с сайта производителя, сконфигурировал режим работы в 2-проводный. В дальнейшем втыкаешь в любой порт и всё работает сразу.
На линуксе тот же программист: пару дней пытался поставить драйвер, пока не допёр отключить Secure Boot. Затем каждое втыкание - устройство несконфигурировано и под непредсказуемым номером. Идёшь в терминал, смотришь под каким именем оно появилось (методом передёргивания, так как там ещё похожие устройства есть), задаёшь права доступа, задаёшь режим работы порта. И только теперь можно запустить прикладную программу.
Мне работать, а не джедайские умения демонстрировать.
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: STM32 и USB (практика)
[uquote="VladislavS",url="/forum/viewtopic.php?p=4395614#p4395614"]Нет. Вы написали именно "не видит". Под "не видит" я понимаю - вставил и ничего не произошло.[/uquote]
Ну да. Вставил, как устройство оно не определилось. Не появилось COM-портов и прочего. В диспетчере устройств, разумеется, видно. Но чтобы там отобразиться чуть ли не голых проводов с подтяжкой достаточно.
Я такое еще на эмуляции MSD видел, она какой-то экзотический запрос пыталась отправить и в упор игнорировала, что этот "необязательный запрос не поддерживается".
Вас так огорчает, что железка, не предназначенная для прямого взаимодействия с пользователем, внезапно, ему недоступна? Ну так если хочется прямого доступа, так прописывайте права, группы и что вам там еще надо.
---
Кстати, на тему udev и "под неизвестным номером" - очень удобно, когда при втыкании переходника появляется не безликий COM38, а, например, /dev/tty_ft232_0 или, скажем, /dev/tty_DBG_0. В винде вообще возможно при подключении устройства выполнять какие-то действия с ним - создать ссылку с осмысленным именем, выставить права доступа, указать специальный драйвер, просто скрипт запустить?
Вот примерно такое и получается у мышевозов - регулярное выполнение обезьяньей работы вместо того чтобы написать три строчки и использовать устройство так, хочет пользователь, а не драйверописатель.
Ну да. Вставил, как устройство оно не определилось. Не появилось COM-портов и прочего. В диспетчере устройств, разумеется, видно. Но чтобы там отобразиться чуть ли не голых проводов с подтяжкой достаточно.
Да, то есть "мое творчество" работает, но винда капризничает.VladislavS писал(а):То есть, ваше творчество, а виновата операционка. Ясно, понятно.
Я такое еще на эмуляции MSD видел, она какой-то экзотический запрос пыталась отправить и в упор игнорировала, что этот "необязательный запрос не поддерживается".
Опять странный вопрос. Если вы взаимодействуете как пользователь, необходимости в консоли практически нет (тут мне трудно оценить). Если как админ или разработчик, то, естественно, есть. Как иначе с низкоуровщиной взаимодействовать-то?VladislavS писал(а):Умение - похвально. Требование постоянно им пользоваться - нет.
Какие-то у вас нездоровые фантазии... Из того, что я использую инструмент по назначению, вы пытаетесь сделать вывод будто я не умею для достижения той же цели использовать менее удобный инструмент.VladislavS писал(а):Предпочитаю вообще ничего не делатью, просто вставить и пользоваться. И потом, вы мышей боитесь что-ли?
Какие-то очень странные телодвижения, абсолютно нехарактерные для линукс-подохода. Даже если устройство действительно настолько кривое, как вы описываете... Что, udev еще не изобрели?VladislavS писал(а): На линуксе тот же программист: пару дней пытался поставить драйвер, пока не допёр отключить Secure Boot. Затем каждое втыкание - устройство несконфигурировано и под непредсказуемым номером. Идёшь в терминал, смотришь под каким именем оно появилось (методом передёргивания, так как там ещё похожие устройства есть), задаёшь права доступа, задаёшь режим работы порта. И только теперь можно запустить прикладную программу.
Вас так огорчает, что железка, не предназначенная для прямого взаимодействия с пользователем, внезапно, ему недоступна? Ну так если хочется прямого доступа, так прописывайте права, группы и что вам там еще надо.
---
Кстати, на тему udev и "под неизвестным номером" - очень удобно, когда при втыкании переходника появляется не безликий COM38, а, например, /dev/tty_ft232_0 или, скажем, /dev/tty_DBG_0. В винде вообще возможно при подключении устройства выполнять какие-то действия с ним - создать ссылку с осмысленным именем, выставить права доступа, указать специальный драйвер, просто скрипт запустить?
А вместо этого вы "каждое втыкание - идёшь в терминал, смотришь под каким именем оно появилось, задаёшь права доступа, задаёшь режим работы порта. И только теперь можно запустить прикладную программу."VladislavS писал(а):Мне работать, а не джедайские умения демонстрировать.
Вот примерно такое и получается у мышевозов - регулярное выполнение обезьяньей работы вместо того чтобы написать три строчки и использовать устройство так, хочет пользователь, а не драйверописатель.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 и USB (практика)
Одна и та же программа в винде просто работает, а в линуксе какие-то строчки писать надо. Тем более, я просто пользователь этого рабочего места. Мне не интересно играть в админа, мне работать...
Re: STM32 и USB (практика)
Не Linux это вещь. Надо пересобрать openocd с патчем на новый неведомой чип - пожалуйста. Нужна какая-то тулза с гитхаба - набираешь make и пожалуйста. Тут помню, год назад народ выл, что инсталятор кьют перестал работать в России. В Linux ВСЕ РАБОТАЕТ.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 и USB (практика)
[uquote="JackSmith",url="/forum/viewtopic.php?p=4395727#p4395727"]Надо пересобрать openocd с патчем на новый неведомой чип - пожалуйста.[/uquote]Гладко было на бумаге. Берём обычный CH32V. Под win есть, а под linux Харитонова Ульяна Ивановна.
Re: STM32 и USB (практика)
Да есть софт который только для винды. Кидаю его в виртуалку и запускаю оттуда. Не вижу в этом проблем. Если очень приспичит, поставлю cygwin, протяну в тунель по ssh, и буду работать из привычной среды а не в окошке винодуз.
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: STM32 и USB (практика)
[uquote="VladislavS",url="/forum/viewtopic.php?p=4395683#p4395683"]Одна и та же программа в винде просто работает, а в линуксе какие-то строчки писать надо. Тем более, я просто пользователь этого рабочего места. Мне не интересно играть в админа, мне работать...[/uquote]
У вас есть программа, криво портированная на линукс (без учета особенностей ОС), и вы удивляетесь, что она плохо работает. Претензии к писателю программы, раз он не может не то что автоматизировать настройку, но хотя бы инструкцию приложить. И еще раз: скорее всего ограничение, из-за которого вам приходится явным образом разрешать опасное действие - логично.
---
На вопрос о назначении осмысленных имен и прочей логики вы предпочли скромно промолчать...
У вас есть программа, криво портированная на линукс (без учета особенностей ОС), и вы удивляетесь, что она плохо работает. Претензии к писателю программы, раз он не может не то что автоматизировать настройку, но хотя бы инструкцию приложить. И еще раз: скорее всего ограничение, из-за которого вам приходится явным образом разрешать опасное действие - логично.
---
На вопрос о назначении осмысленных имен и прочей логики вы предпочли скромно промолчать...
Фига себе обычный... Он хотя бы под виндой научился через сторонние программаторы прошиваться?VladislavS писал(а):Гладко было на бумаге. Берём обычный CH32V. Под win есть, а под linux Харитонова Ульяна Ивановна.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 и USB (практика)
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395933#p4395933"]У вас есть программа, криво портированная на линукс (без учета особенностей ОС),[/uquote]Никто ничего никуда не портировал. Программа на питоне писана, ей всё равно где работать. Фантазии про портирование оставьте при себе.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395933#p4395933"]Претензии к писателю программы, раз он не может не то что автоматизировать настройку, но хотя бы инструкцию приложить.[/uquote]К программисту никаких претензий. Инструкцию, как вы и хотите, он приложил. Начинается она с "открыть терминал...".
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395933#p4395933"]И еще раз: скорее всего ограничение, из-за которого вам приходится явным образом разрешать опасное действие - логично.[/uquote]Ну конечно же, чтобы изменить режим работы RS-485 - без рута не подходи. Забористая трава.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395933#p4395933"]На вопрос о назначении осмысленных имен и прочей логики вы предпочли скромно промолчать...[/uquote]Да не хотел избивать младенца. Достаточно сравнить имя в диспетчере устройств "Uport-1050 serial port COMx" с "/dev/ttyUSBx".
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395933#p4395933"]Фига себе обычный...[/uquote]Да, а что в нём необычного? Многие уже с ними успешно работают.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395933#p4395933"]Он хотя бы под виндой научился через сторонние программаторы прошиваться?[/uquote]Он под виндой прошивается и отлаживается через OpenOCD, а
под линуксом - национальная индейская изба. Покажете обратный пример?
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395933#p4395933"]Претензии к писателю программы, раз он не может не то что автоматизировать настройку, но хотя бы инструкцию приложить.[/uquote]К программисту никаких претензий. Инструкцию, как вы и хотите, он приложил. Начинается она с "открыть терминал...".
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395933#p4395933"]И еще раз: скорее всего ограничение, из-за которого вам приходится явным образом разрешать опасное действие - логично.[/uquote]Ну конечно же, чтобы изменить режим работы RS-485 - без рута не подходи. Забористая трава.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395933#p4395933"]На вопрос о назначении осмысленных имен и прочей логики вы предпочли скромно промолчать...[/uquote]Да не хотел избивать младенца. Достаточно сравнить имя в диспетчере устройств "Uport-1050 serial port COMx" с "/dev/ttyUSBx".
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395933#p4395933"]Фига себе обычный...[/uquote]Да, а что в нём необычного? Многие уже с ними успешно работают.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395933#p4395933"]Он хотя бы под виндой научился через сторонние программаторы прошиваться?[/uquote]Он под виндой прошивается и отлаживается через OpenOCD, а
под линуксом - национальная индейская изба. Покажете обратный пример?
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: STM32 и USB (практика)
[uquote="VladislavS",url="/forum/viewtopic.php?p=4395949#p4395949"]Никто ничего никуда не портировал. Программа на питоне писана, ей всё равно где работать.[/uquote]
Ага, ага. А если бы там еще и абсолютные пути использовались вроде /home/user/..., тоже бы говорили что "все равно где работать". Запускается != работает.
Впрочем, уже понятно какой подход вы предпочитаете.
С тем же /dev/tty_DBG_0 никаких проблем нет, это именно что ссылка на какой-нибудь /dev/ttyACM2, его можно передавать в качестве имени порта в тот же screen, или в fopen, или куда угодно еще.
Когда я пытался с CH32V307 работать, корректно это не выходило нигде. В виндовсе была только графическая утилита, которая умела прошивать по UART и падала три запуска из четырех, под линуксом попробовал openocd, не нашел конфига под программатор ft2232 (с теми, которые нашел, не заработало) и отложил пока.
Моих познаний для реверса этого поделия недостаточно. Надо или ждать пока openocd все-таки допилят (что вряд ли), или искать обходные пути вроде того же загрузчика, вроде какие-то утилиты были, и даже с исходниками. Но это нужно очень плотно засесть.
---
Так что не уходите от ответа: научился ли CH32 нормально прошиваться через сторонние программаторы или все еще вендор-лок?
Ага, ага. А если бы там еще и абсолютные пути использовались вроде /home/user/..., тоже бы говорили что "все равно где работать". Запускается != работает.
И? Вы же сами говорите, что действия приходится проделывать каждый раз. Значит, что-то с инструкцией не так.VladislavS писал(а):К программисту никаких претензий. Инструкцию, как вы и хотите, он приложил. Начинается она с "открыть терминал...".
Ну так не употребляйте ее, раз такие фантазии в голову лезут. Чтобы работать с периферией нужны специфичные права, это очевидно. Вы можете на них наплевать и работать под рутом, как на винде, на свой страх и риск. А можете таки написать одну строчку и выдать юзеру именно те права, которые нужны именно для этой железяки, и на безопасность в целом не влияют.VladislavS писал(а):Ну конечно же, чтобы изменить режим работы RS-485 - без рута не подходи. Забористая трава.
Впрочем, уже понятно какой подход вы предпочитаете.
Где его посмотреть, а главное - как его указать в программе? Я же не буду каждый раз при подключении залезать в диспетчер устройств, перебирать полдюжины COM-портов и переписывать номер.VladislavS писал(а):Достаточно сравнить имя в диспетчере устройств "Uport-1050 serial port COMx" с "/dev/ttyUSBx".
С тем же /dev/tty_DBG_0 никаких проблем нет, это именно что ссылка на какой-нибудь /dev/ttyACM2, его можно передавать в качестве имени порта в тот же screen, или в fopen, или куда угодно еще.
Вы не ответили на вопрос.VladislavS писал(а):Он под виндой прошивается и отлаживается через OpenOCD, аОн хотя бы под виндой научился через сторонние программаторы прошиваться?
под линуксом - национальная индейская изба. Покажете обратный пример?
Когда я пытался с CH32V307 работать, корректно это не выходило нигде. В виндовсе была только графическая утилита, которая умела прошивать по UART и падала три запуска из четырех, под линуксом попробовал openocd, не нашел конфига под программатор ft2232 (с теми, которые нашел, не заработало) и отложил пока.
Моих познаний для реверса этого поделия недостаточно. Надо или ждать пока openocd все-таки допилят (что вряд ли), или искать обходные пути вроде того же загрузчика, вроде какие-то утилиты были, и даже с исходниками. Но это нужно очень плотно засесть.
---
Так что не уходите от ответа: научился ли CH32 нормально прошиваться через сторонние программаторы или все еще вендор-лок?
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 и USB (практика)
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395973#p4395973"]Ага, ага. А если бы там еще и абсолютные пути использовались[/uquote]Если бы у бабушки были...
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395973#p4395973"]Вы не ответили на вопрос. Когда я пытался с CH32V307 работать, корректно это не выходило нигде.[/uquote]Собственно что и требовалось доказать. А тем кому надо работать давным давно отлаживают и прошивают.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395973#p4395973"]Так что не уходите от ответа: научился ли CH32 нормально прошиваться через сторонние программаторы или все еще вендор-лок?[/uquote]Открою вам тайну - он прошивается вообще без программатора через USB или UART. Только никому, ладно?
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395973#p4395973"]Вы не ответили на вопрос. Когда я пытался с CH32V307 работать, корректно это не выходило нигде.[/uquote]Собственно что и требовалось доказать. А тем кому надо работать давным давно отлаживают и прошивают.
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4395973#p4395973"]Так что не уходите от ответа: научился ли CH32 нормально прошиваться через сторонние программаторы или все еще вендор-лок?[/uquote]Открою вам тайну - он прошивается вообще без программатора через USB или UART. Только никому, ладно?
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: STM32 и USB (практика)
[uquote="VladislavS",url="/forum/viewtopic.php?p=4395980#p4395980"]Если бы у бабушки были...[/uquote]
Вот "если бы", тогда бы и можно говорить про полную кроссплатформенность. А так - "вроде кое-как работает, сойдет".
Любители могут себе позволить быть более разборчивыми.
Вот "если бы", тогда бы и можно говорить про полную кроссплатформенность. А так - "вроде кое-как работает, сойдет".
Вау, вот так тайна! Что бы я делал без этой информации!VladislavS писал(а):Открою вам тайну - он прошивается вообще без программатора через USB или UART. Только никому, ладно?COKPOWEHEU писал(а):графическая утилита, которая умела прошивать по UART
...
или искать обходные пути вроде того же загрузчика, вроде какие-то утилиты были, и даже с исходниками. Но это нужно очень плотно засесть
Да, тем, для кого подобное - работа, вынуждены терпеть и кривые дрова, и непривычные среды, и наркоманские гайды по оформлению кода, и много чего другого.VladislavS писал(а):А тем кому надо работать давным давно отлаживают и прошивают.
Любители могут себе позволить быть более разборчивыми.
А, так под "младенцем" вы себя понимали. Я-то поначалу решил, что вы сочли задачу настолько простой, что даже развернутого ответа не требует. Но, видать, ошибся, и вы бы предпочли ее тихонько проигнорировать в надежде что забудут.VladislavS писал(а):Да не хотел избивать младенца. Достаточно сравнить имя в диспетчере устройств "Uport-1050 serial port COMx" с "/dev/ttyUSBx".
Re: STM32 и USB (практика)
Всем привет, вмешаюсь в вечный спор Windows/Linux за советом по поводу USB (хотя не могу не поучаствовать, год как сижу на связке Windows + WSL2) 
Отлавливаю в библиотеке UB, так как добавление опции flto ломает прохождение нумерации, что в целом более чем ожидаемо, потому как в конструкции switch-case у меня локальные переменные, которые я отправляю хосту. Всё, что меньше макс.размера пакета, отправляется почти нормально, но с большими объемами начинаются проблемы, например, отправка дескриптора конфигурации.
Сейчас код выглядит примерно так, и это, очевидно, плохой код:
Если соответствующие объекты (tempDeviceDescriptor, например) сделать статическими, то код начинает работать, но жалко RAM, так как нужно всего один раз.
Сегодня пришла в голову идея размещать данные для нумерации в буфере USB, сразу за выделенным для нулевой конечной точки участком, так как все равно эта память до окончания нумерации не нужна. Нормальная ли затея или как лучше размещать данные для отправки во время прохождения нумерации? Или, может, вообще вытащить формирование дескрипторов в compile-time и пусть там себе во Flash лежат, его не так жалко?
Отлавливаю в библиотеке UB, так как добавление опции flto ломает прохождение нумерации, что в целом более чем ожидаемо, потому как в конструкции switch-case у меня локальные переменные, которые я отправляю хосту. Всё, что меньше макс.размера пакета, отправляется почти нормально, но с большими объемами начинаются проблемы, например, отправка дескриптора конфигурации.
Сейчас код выглядит примерно так, и это, очевидно, плохой код:
Код: Выделить всё
switch (static_cast<GetDescriptorParameter>(setupRequest->Value)) {
case GetDescriptorParameter::DeviceDescriptor: {
DeviceDescriptor tempDeviceDescriptor;
FillDescriptor(&tempDeviceDescriptor);
_Ep0::SendData(&tempDeviceDescriptor, setupRequest->Length < sizeof(DeviceDescriptor) ? setupRequest->Length : sizeof(DeviceDescriptor));
break;
}
case GetDescriptorParameter::ConfigurationDescriptor: {
uint8_t temp[128];
// Now supports only one configuration. It will easy to support more by adding dispatcher like in endpoint/interface
uint16_t size = _configurations.template get<0>().FillDescriptor(reinterpret_cast<ConfigurationDescriptor*>(&temp[0]));
_Ep0::SendData(reinterpret_cast<ConfigurationDescriptor*>(&temp[0]), setupRequest->Length < size ? setupRequest->Length : size);
break;
}
Сегодня пришла в голову идея размещать данные для нумерации в буфере USB, сразу за выделенным для нулевой конечной точки участком, так как все равно эта память до окончания нумерации не нужна. Нормальная ли затея или как лучше размещать данные для отправки во время прохождения нумерации? Или, может, вообще вытащить формирование дескрипторов в compile-time и пусть там себе во Flash лежат, его не так жалко?
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: STM32 и USB (практика)
Если не собираетесь слишком сильно извращаться со структурой устройства (ну там при каждом запуске менять количество конечных точек, дескрипторов и тому подобного), то проще выкинуть во флеш и не мучиться. Тем более что всю эту динамическую конфигурацию ведь не только отправить хосту надо будет, но и самому потом в нужные точки нужные данные в нужном формате слать.
Re: STM32 и USB (практика)
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4396035#p4396035"]Если не собираетесь слишком сильно извращаться со структурой устройства (ну там при каждом запуске менять количество конечных точек, дескрипторов и тому подобного), то проще выкинуть во флеш и не мучиться. Тем более что всю эту динамическую конфигурацию ведь не только отправить хосту надо будет, но и самому потом в нужные точки нужные данные в нужном формате слать.[/uquote]Согласен, сейчас прикинул, все равно ведь все эти данные где-то во Flash итак лежали (чтобы потом в RAM быть записанными), так что даже какого-то значимого оверхеда быть не должно.


