USB-сериалы

Werecatf
Сб 23 апреля 2016 г. 9:57 утра
Я использую ST-Link для программирования моего устройства, и оно работает хорошо, но часто я хотел бы иметь возможность использовать сериал для отладки или ввода для данных. Теперь проблема в том, что после прошивки устройства ST-Link USB-сериал, похоже, не переосмысливается должным образом-оно существует, он существует, но на самом деле не работает, пока я не удаляю питание на устройство и подключите Вернувшись, Linux-Kernel жалуется на невозможность установить DT и линии DTR. Затем возникает проблема с временем ожидания ~ 17 секунд после введения устройства до того, как серийный порт на самом деле используется.

На данный момент я прибегал к использованию внешнего USB-адаптера и настроил свой код для использования Serial1 вместо последовательного, но наличие дополнительного ключа-уродливый обходной путь. Есть ли способ принуждения переработки на загрузке, и есть ли что-то, что можно сделать с временем ожидания ~ 17 секунд, или это просто то, что нужно жить с?

Rogerclark
Сб 23 апреля 2016 г., 11:49
В досках.TXT есть 2 определения, которые включают сборник серийного USB.

Но я не могу вспомнить, если вам нужно добавить только один о серийном USB или вам нужно также добавить один о загрузчике в вариант меню загрузки Stlink.

Честно говоря, эти определения имеют запутанные имена, и мы, вероятно, должны очистить код и изменить имена..
Но большинство людей используют серийный USB, когда используют загрузчик

Сжимать
Сб 23 апреля 2016 г. 15:17
Проверьте также свои кабели микро-USB.... У меня 5 кабелей, с двумя из них, невозможно перечислить сериал USB....
Но я почти уверен, что последний код перечислен правильно, пока USB подключен, а ST-Link используется для загрузки. Компилятор 4.9 также работает....
Я собираю исходный код от кодовых блоков, но я думаю, что это не имеет значения для перечисления в любом случае.....

Werecatf
Сб 23 апреля 2016 г. 15:41
Сламмер написал:Проверьте также свои кабели микро-USB.... У меня 5 кабелей, с двумя из них, невозможно перечислить сериал USB....

Рик Кимбалл
Сб 23 апреля 2016 г. 15:56
Если вы нажмете кнопку сброса на синей таблетке (я предполагаю, что это модифицированная синяя таблетка, которую вы создали да?) перечисляется снова? Если нет, то у вас, вероятно, нет функциональной настройки.

Рик Кимбалл
Сб 23 апреля 2016 г., 16:02
На самом деле, я просто схватил последний GitHub (это было давно), и я вижу такое же поведение. Я могу прошить его, и он загружается нормально, но не резумену. Если я нажимаю кнопку сброса, она делает правильную вещь, не отключая замену.

Кстати: если у вас есть серийная консоль Arduino, когда вы нажимаете сброс, она, вероятно, будет перечислять по другому номеру ttyacm

Рик Кимбалл
Сб 23 апреля 2016 г. 16:28
Я исправил проблему, используя это изменение. Я отредактировал свой скрипт stlink_upload, чтобы выглядеть так: #!/bin/bash openocd -f ~/openocd_cfg/ebay_stlink.cfg -c "program $4 verify reset exit 0x08000000" exit

Рик Кимбалл
SAT 23 апреля 2016 г. 18:35
Замена stlink_upload на это также работает: #!/bin/bash openocd -f interface/stlink-v2.cfg -f board/stm32100b_eval.cfg -c 'reset_config none' -c "program $4 verify reset exit 0x08000000" exit $?

Рик Кимбалл
Сб 23 апреля 2016 г. 18:42
Просто для усмешек я вытащил ветвь разработки, и у нее такая же проблема, когда не перечислять.

Сжимать
Сб 23 апреля 2016 г., 21:18
Рик, лучше использовать BMP вместо Stlink?

Rogerclark
Сб 23 апреля 2016 г., 9:50 вечера
Рик

Я объединил филиал по развитию в мастере несколько месяцев назад.

На самом деле, я думаю, что за последние несколько недель филиал развития находится позади Мастера, так как за последние несколько недель произошло несколько незначительных изменений, и я не объединил Мастера обратно в филиал развития.

Однако, поскольку я забыл недавно объединиться в филиал разработчиков, это исключает недавние изменения в том, чтобы внести некоторые VAR в коде USB в летучие (что должно было исправить проблемы с GCC 4.9 Оптимизация)

Вы можете попробовать проверить более старую версию ? (Хотя я не уверен, как далеко вам нужно вернуться), чтобы узнать, сработало ли это когда -нибудь

Рик Кимбалл
Сб 23 апреля 2016 г., 22:14
Я не думаю, что проблема заключается в коде прошивки USB. Кажется, что скрипт stlink_upload не эффективно сбрасывает чип после загрузки. Я вижу, есть команды оболочки, которые пытаются использовать методы для сброса платы, которая, кажется, не работает. Я просто предлагаю метод вспыхивания и сброса OpenOCD как что -то, что не сработало для меня.

-рик

Werecatf
Сб 23 апреля 2016 г., 22:30
Рик Кимбалл написал:Я не думаю, что проблема заключается в коде прошивки USB. Кажется, что скрипт stlink_upload не эффективно сбрасывает чип после загрузки. Я вижу, есть команды оболочки, которые пытаются использовать методы для сброса платы, которая, кажется, не работает. Я просто предлагаю метод вспыхивания и сброса OpenOCD как что -то, что не сработало для меня.

Rogerclark
Сб 23 апреля 2016 г., 22:38
ах..

Я заметил последнюю версию STM Windows Stlink CLI, изменившаяся, чтобы ему потребовалось наводной удар (Enter), что вызывало проблемы для IDE.

Но когда я скопировал CLI Exe в репо для ядра Libmaple, несколько месяцев назад, я не думал, что это была проблема с этим ядром. (Как люди будут в Windows, будут запускать старую версию)

Когда я возился с ядром Halmax, в итоге я снял команду Run, так как команда Reset Сама, казалось, была всем, что было необходимо, чтобы заставить его запустить только только что загруженное бинар.

Но в данный момент у ядра HALMX нет серийного USB, поэтому я не тестировал этот аспект.

Fredbox
Солнце 24 апреля 2016 г. 3:00 утра
Эта долгая задержка для USB-серийного порта становится доступной в Linux-это FAMILAR. Видеть здесь.

Рик Кимбалл
Солнце 24 апреля 2016 г. 3:21
Может быть, не ясно из того, что я написал. Изменения, которые я внес, с помощью OpenOCD решили как проблему сброса, так и устранение задержки. Когда я загружаю сейчас, он сбрасывается сразу после прошивки кода, а затем успешно перечисляется менее чем за секунду.

Для тех, кто использует менеджер модема, есть переменная env env udev, которую можно настроить, чтобы сообщить Modem Manager, что последовательный порт Maple не является модемом. Он вообще пропускает танец на CMD. Я выбрал более простой маршрут и просто удалил менеджер модема.

https: // cgit.Freedesktop.org/modemmanag ... список.правила

Mrburnette
Солнце 24 апреля 2016 г., 8:29 вечера
Рик Кимбалл написал: <...> Я выбрал более простой маршрут и просто удалил менеджер модема.

https: // cgit.Freedesktop.org/modemmanag ... список.правила