Понемногу "перелезаю" на на линукс. В Win самодельный stk500 прекрасно шьет из AvrStudio. В Linux при попытке прошить из Adruino-IDE выдает следующее: System wide configuration file is "/home/user/arduino-1.8.13/hardware/tools/avr/etc/avrdude.conf" User configuration file is "/home/user/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : usb Using Programmer : stk500v2 avrdude: usbdev_open(): did not find any USB device "usb" (0x03eb:0x2104) при использовании встроенного загрузчика все шьется нормально - в какую сторону копать? ps. В качестве моста usb-uart пробовал использовать cp2102 и ch340. На плате ардуино стоит ch340
Подключите свой самопальный stk500 к системе и посмотрите на вывод команды: Код (Bash): lsusb есть ли в списке устройство с ID 03eb:2104 ?
Нет. В винде программатор подключался через виртуальный ком-порт на cp2102 и ch340. В линуксе, как я понимаю, нужно прописать настройки в какой-то конфиг??? lsusb выводит при подключении через cp2102 и ch340: Bus 005 Device 002: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light Bus 005 Device 003: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter при команде ls -l /dev/ttyUSB* выдает dev/ttyUSB0 Наверное не очень корректно сформулировал вопрос, просто похоже, что линукс обрабатывает подключение программатора через виртуальный ком-порт на cp2102 и ch340 по-другому. Как это можно исправить?
@pav_77, включите в Arduino IDE подробный вывод загрузки. После распаковки Arduino IDE из tar.xz архива выполняли от рута "arduino_linux_setup.sh username"? P.S. Этот скрипт удаляет ModemManager, рекомендую перед запуском скрипта закомментировать удаление ModemManager и всего лишь останавливать службу Код (Bash): sudo systemctl stop ModemManager.service sudo systemctl disable ModemManager.service
Да, т.к. из под юзера установка завершалась с ошибкой. После того как прописал конфиг - встроенный загрузчик arduiono шьет нормально без sudo. Хочется использовать свой stk500, который в Винде нормально работает, для прошивки avr в linux.
Т.е. программатор подключается к компу через адаптер? Если так, то ошибка связана с тем, что Вы выбираете не правильный тип программатора в Arduino IDE. С тем типом программатора, который выбираете, Arduino IDE "хочет видеть" определённое USB устройство, а не адаптер. Поэтому для ответа нужна более подробная информация о Вашем самопальном программаторе.
И ещё, согласно avrdude.conf (по крайней мере в последней версии avrdude) программатор stk500 должен работать через COM-порт. В Вашем случае, например, через /dev/ttyUSB0. Но вот это: говорит о том, что Arduino IDE почему-то хочет именно определённое USB-устройство. Поэтому повторюсь: - либо не правильный программатор выбран в Arduino IDE; - либо какая-то ошибка в avrdude.conf (что маловероятно).
программатор такой https://www.drive2.ru/b/518107197389930618/. В AvrStudio программатор выбирался как stk500 и отлично работает, как через адаптер на cp2102 так и на ch340. В Arduino-IDE выбрал AVR-ISP - вывод: Код (C++): avrdude: Version 6.3-20190619 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "/home/user/arduino-1.8.13/hardware/tools/avr/etc/avrdude.conf" User configuration file is "/home/user/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : /dev/ttyUSB0 Using Programmer : stk500v1 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00 avrdude done. Thank you. Ошибка при записи загрузчика.
Скорее всего Arduino IDE не поддерживает Ваш программатор, но поддержку можно добавить путём правки файла hardware/arduino/avr/programmers.txt. Нужно добавить строки типа (за более точной информацией обращайтесь к документации на Arduino IDE): Код (Text): mySTK500.name=mySTK500 mySTK500.communication=serial mySTK500.protocol=stk500v1 mySTK500.speed=19200 mySTK500.program.protocol=stk500v1 mySTK500.program.speed=19200 mySTK500.program.tool=avrdude mySTK500.program.extra_params=-P{serial.port} -b{program.speed} Только нужно прописать правильные значения для параметров 'protocol' и 'speed' (в обоих случаях). Какие не знаю, можно попробовать покопаться в прошивке -- программатор самопальный, значит исходники прошивки должны быть или должна быть информация там, откуда качали прошивку. Тот вывод консоли, что привели, может говорить о не правильной скорости COM-порта.
собственно про это я и спрашивал. программатор заработал с такими настройками: Код (Text): mySTK500.name=mySTK500 mySTK500.communication=serial mySTK500.protocol=stk500v2 mySTK500.speed=115200 mySTK500.program.protocol=stk500v2 mySTK500.program.speed=115200 mySTK500.program.tool=avrdude mySTK500.program.extra_params=-P{serial.port} -b{program.speed} AlexU - огромное спасибо за помощь