Avrdude для Linux
Re: Avrdude для Linux
Отвечаю сразу нескольким абонентам, обратившимся по e-mail:
Программа скомпилирована под Linux-X64bit, если есть необходимость
пишите - сделаю X32.
Программа скомпилирована под Linux-X64bit, если есть необходимость
пишите - сделаю X32.
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: Avrdude для Linux
А потом понадобится под новый дистрибутив, а потом специфические баги. Так, глядишь, и интерес ее поддерживать пропадет, и останутся проприетарщики с бесполезным экзешником, который ни работать под современными системами не захочет, ни баги исправить невозможно.если есть необходимость пишите - сделаю
Впрочем, в случае очередной оболочки вокруг avrdude это не страшно: их вокруг куча.
Re: Avrdude для Linux
COKPOWEHEU, Дурень - Выше уже писалось, что проверено под 3 дистрами,
сейчас их уже 7.
сейчас их уже 7.
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: Avrdude для Linux
Да пожалуйста - пожалуйста, верьте, что вам будет вечно не лень свою мега-софтину поддерживать.
Мое дело предупредить, что таскать в рот всякую каку может быть опасно, и почему. Кто умный прислушается, остальные могут и дальше по торрентам и файлопомойкам шариться.
Мое дело предупредить, что таскать в рот всякую каку может быть опасно, и почему. Кто умный прислушается, остальные могут и дальше по торрентам и файлопомойкам шариться.
Re: Avrdude для Linux
COKPOWEHEU, Уймись уже. Для того чтобы код работал на
большинстве дистров, соблюдай правила:
1. Не используй непровереных чужих компонентов - пиши свой код
(что для тебя смерти подобно).
2. И используй в своей программе те элементы,
которые доступны в любой LinuxOS.
Lazarus, установленный по умолчанию позволяет это сделать.
большинстве дистров, соблюдай правила:
1. Не используй непровереных чужих компонентов - пиши свой код
(что для тебя смерти подобно).
2. И используй в своей программе те элементы,
которые доступны в любой LinuxOS.
Lazarus, установленный по умолчанию позволяет это сделать.
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: Avrdude для Linux
...достаточно пользоваться распространенными (лучше даже кроссплатформенными) библиотеками, а не завязываться на всякую экзотику.Для того чтобы код работал на большинстве дистров...
Ну и, естественно, открыть исходный код, чтобы если проблемы все-таки возникнут (а рано или поздно они возникнут), их было возможно решить.
Есть, конечно, костыльные варианты вроде snap. И, кстати, вашей прориетарщине оно может и лучше подойдет. По крайней мере, можно будет вкорячить туда все библиотеки, которых в системе может не быть.
То есть то, что по умолчанию он не устанавливается, вас не смущает? То, что в разных дистрибутивах бывают разные соглашения по хранению файлов и тому подобному тоже.Lazarus, установленный по умолчанию позволяет это сделать.
В принципе, я уже говорил, что вам бы не помешало сначала ознакомиться с сообществом и его особенностями. Но, видимо, желание похвастаться своим хелло-ворлдом сильнее.
Re: Avrdude для Linux
Правду говорил Martian развели срач,
вместо нормального обсуждения - рассуждаем
о тонкостях OpenSource - которые как шли так и ехали.
Надоел твой флуд, а мне в почте информации от адекватных людей хватает.
Lazarus нужен только программистам - зачем-же его подсовывать всем?
вместо нормального обсуждения - рассуждаем
о тонкостях OpenSource - которые как шли так и ехали.
Надоел твой флуд, а мне в почте информации от адекватных людей хватает.
Lazarus нужен только программистам - зачем-же его подсовывать всем?
по поводу лазаря
Lazarus делает достаточно "мобильные" бинарники! (т.е. обычно ни чего более не требуется для работы, если статически собрать приложение, то и sqlite-пакет не нужен будет)
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
p.s. держитесь обоими руками, а то прорвет...
Re: Avrdude для Linux
[uquote="0beron",url="/forum/viewtopic.php?p=4167542#p4167542"]Здесь можно обсудить все недостатки или задать вопрос о программе lavrprog[/uquote]
Не хотите выкладывать исходники - не выкладывайте, это исключительно по желанию. Но пожалуйста хотя бы слинкуйте бинарник статически, а не динамически как сейчас. В данный момент у него вот такая борода зависимостей:
Из-за которой он разумеется не стартует:
Не везде и не всегда найдутся нужные библы нужных версий.
Не хотите выкладывать исходники - не выкладывайте, это исключительно по желанию. Но пожалуйста хотя бы слинкуйте бинарник статически, а не динамически как сейчас. В данный момент у него вот такая борода зависимостей:
Код: Выделить всё
libatk-1.0.so.0
libblkid.so.1
libbrotlicommon.so.1
libbrotlidec.so.1
libbz2.so.1.0
libcairo.so.2
libc.so.6
libdatrie.so.1
libdl.so.2
libexpat.so.1
libffi.so.8
libfontconfig.so.1
libfreetype.so.6
libfribidi.so.0
libgdk_pixbuf-2.0.so.0
libgdk-x11-2.0.so.0 => not found
libgio-2.0.so.0
libglib-2.0.so.0
libgmodule-2.0.so.0
libgobject-2.0.so.0
libgraphite2.so.3
libgthread-2.0.so.0
libgtk-x11-2.0.so.0 => not found
libharfbuzz.so.0
libjpeg.so.8
liblzma.so.5
libmount.so.1
libm.so.6
libpango-1.0.so.0
libpcre.so.1
libpixman-1.so.0
libpng16.so.16
libpthread.so.0
libresolv.so.2
librt.so.1
libthai.so.0
libtiff.so.5
libX11.so.6
libXau.so.6
libxcb-render.so.0
libxcb-shm.so.0
libxcb.so.1
libXdmcp.so.6
libXext.so.6
libXrender.so.1
libz.so.1
libzstd.so.1
Код: Выделить всё
$ ./lavrprog
./lavrprog: error while loading shared libraries: libgdk-x11-2.0.so.0: cannot open shared object file: No such file or directory
Re: Avrdude для Linux
Создание статической сборки неимоверно увеличивает
размер бинарника (но в принципе возможно).
В результате проб выяснилось что в популярных
дистрах Debian, Devuan, Mint, Ubuntu, Runtu -
установки libsqlite3-dev достаточно.
Так-же устранена ошибка "type(Null) into type(String)"
После первого неудачного запуска в файле конфигурации
~/.config/lavrprog.conf сохранялись пустые поля,
которые и приводили к ошибке. Если такое произошло,
то после установки libsqlite3-dev следует удалить
lavrprog.conf запустить lavrprog и заново произвести настройку.
За новым бинарником на email (волжения мне недоступны).
размер бинарника (но в принципе возможно).
В результате проб выяснилось что в популярных
дистрах Debian, Devuan, Mint, Ubuntu, Runtu -
установки libsqlite3-dev достаточно.
Так-же устранена ошибка "type(Null) into type(String)"
После первого неудачного запуска в файле конфигурации
~/.config/lavrprog.conf сохранялись пустые поля,
которые и приводили к ошибке. Если такое произошло,
то после установки libsqlite3-dev следует удалить
lavrprog.conf запустить lavrprog и заново произвести настройку.
За новым бинарником на email (волжения мне недоступны).
Re: Avrdude для Linux
[uquote="0beron",url="/forum/viewtopic.php?p=4174306#p4174306"]Создание статической сборки неимоверно увеличивает размер бинарника[/uquote]
Да, это так, размер будет внушительный. Собственно, вариантов целых четыре:
1. Статическая линковка;
2. Прикладывать к бинарнику абсолютно все необходимые ему библы (рекурсивно по зависимостям, включая glibc) - что по размеру аналогично варианту 1, но менее удобно;
3. Опубликовать исходники чтобы каждый желающий мог их собрать под нужную ему платформу и версии библ;
4. Вообще ничего никуда не выкладывать - ни исходников, ни бинарников;
Да, это так, размер будет внушительный. Собственно, вариантов целых четыре:
1. Статическая линковка;
2. Прикладывать к бинарнику абсолютно все необходимые ему библы (рекурсивно по зависимостям, включая glibc) - что по размеру аналогично варианту 1, но менее удобно;
3. Опубликовать исходники чтобы каждый желающий мог их собрать под нужную ему платформу и версии библ;
4. Вообще ничего никуда не выкладывать - ни исходников, ни бинарников;
К сожалению это так не работает. Библы и их версии в разных дистрах разные. У меня например такой бородатой древности как GTK 2 вообще нет. Потому что весь актуальный софт давным-давно переехал на GTK 3 или Qt 5.0beron писал(а):в популярных дистрах Debian, Devuan, Mint, Ubuntu, Runtu - установки libsqlite3-dev достаточно
Re: Avrdude для Linux
"4. Вообще ничего никуда не выкладывать - ни исходников, ни бинарников;"
Почему нет? Нашлись-же люди, которым это пригодилось.
Только Большая просьба - давайте больше не будем об OpenSource и исходниках,
ведь было-же написано "не хочешь - не используй"
Почему нет? Нашлись-же люди, которым это пригодилось.
Только Большая просьба - давайте больше не будем об OpenSource и исходниках,
ведь было-же написано "не хочешь - не используй"
Re: Avrdude для Linux
[uquote="0beron",url="/forum/viewtopic.php?p=4174358#p4174358"]Нашлись-же люди, которым это пригодилось[/uquote]
И таких людей может стать намного больше если приложить ещё немного усилий, закончив оформление проекта в более портабельный вид - статической линковкой или с библами в комплекте.
И таких людей может стать намного больше если приложить ещё немного усилий, закончив оформление проекта в более портабельный вид - статической линковкой или с библами в комплекте.
- ДядяВован
- Мучитель микросхем
- Сообщения: 482
- Зарегистрирован: Вс окт 25, 2020 22:13:25
- Откуда: Смоленск
Re: Avrdude для Linux
Совсем не понимаю для чего это нужно...
Кто-то "шьёт" в день по 100 (сто) разных контроллеров?
Ну набрал один раз (для текущего проекта) нужные ключи в командной строке, прошил.
Надо ещё прошить, нажал в терминале стрелочку вверх несколько раз. И вот снова avrdude с нужными ключами запустился.
Если совсем красиво, то можно makefile сделать, чтобы и компилить и прошивать.
Кто-то "шьёт" в день по 100 (сто) разных контроллеров?
Ну набрал один раз (для текущего проекта) нужные ключи в командной строке, прошил.
Надо ещё прошить, нажал в терминале стрелочку вверх несколько раз. И вот снова avrdude с нужными ключами запустился.
Если совсем красиво, то можно makefile сделать, чтобы и компилить и прошивать.
Re: Avrdude для Linux
Пакет rpm для Rosa x 64 с Qt5: https://gitflic.ru/project/athosnm/avrp ... nch=master
Исходники: https://gitflic.ru/project/athosnm/avrp ... nch=master
Исходники: https://gitflic.ru/project/athosnm/avrp ... nch=master
Re: Avrdude для Linux
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
p.s. держитесь обоими руками, а то прорвет...
Re: Avrdude для Linux
[uquote="0beron",url="/forum/viewtopic.php?p=4542513#p4542513"]... LAVRProg ...[/uquote]
вопрос 2: команды/формат с парамерами (для avrdude) - прошит жестко в коде или есть какой-то интерфейс для "формирования" извне? (или, все зашито в базу данных?)
вопрос 3: возможно настроить "сохранение архива" (с сайта gitflic.ru) - что-бы исходники были в своем подкаталоге? (иначе - не айс, для ментейнеров)
по ходу запуска:
первый запуск - можно сказать, вполне правильное сообщение (хотя, сообразительные пользователи вполне разберуться и без этого :о):
в меню about - находится "инфа конфигурации", но без самомого "абоут-а"
интефейс - вполне даже нормальный, не вырвиглаз а то что надо, неброский, аскетический gui (думаю, работать можно)
дальше не тестировал, т.к. ни чего под рукой не было.
удачи
вопрос 1: какие именно данные?данные о чипах и программаторах находятся в файлах БД фотмат SQLite3
вопрос 2: команды/формат с парамерами (для avrdude) - прошит жестко в коде или есть какой-то интерфейс для "формирования" извне? (или, все зашито в базу данных?)
вопрос 3: возможно настроить "сохранение архива" (с сайта gitflic.ru) - что-бы исходники были в своем подкаталоге? (иначе - не айс, для ментейнеров)
по ходу запуска:
первый запуск - можно сказать, вполне правильное сообщение (хотя, сообразительные пользователи вполне разберуться и без этого :о):
Код: Выделить всё
It looks like this is your first time running or
configuring the program. Before using
it, perform the following configuration:
1. Specify (check) the path to "avrdude";
2. Specify (check) the path to "avrdude.conf";
3. Select the programmer;
4. Select or specify a port.
Код: Выделить всё
The configuration file "avrdude.conf" was not found.
Installation Options:
/etc/avrdude/avrdude.conf
/etc/avrdude.conf
дальше не тестировал, т.к. ни чего под рукой не было.
удачи
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
p.s. держитесь обоими руками, а то прорвет...
-
ppp
- Это не хвост, это антенна
- Сообщения: 1451
- Зарегистрирован: Ср мар 02, 2011 20:05:39
- Откуда: Карельский перешеек
Re: Avrdude для Linux
0beron, спасибо за публикацию.
Хотя мне сама по себе программка и не нужна (у меня и программатор другой, и шить приходится не только AVR), но программа тоже консольная. 35 разных опций, да ещё и многие с разными параметрами. Почитал Вашу тему и подумал: "А фигли я то мучаюсь, всякий раз man приходится открывать. Надо себе тоже подобный GUI смастерить". И теперь вот, благодаря Вашему пинку в правильном направлении, жизнь наладилась
.
Хотя мне сама по себе программка и не нужна (у меня и программатор другой, и шить приходится не только AVR), но программа тоже консольная. 35 разных опций, да ещё и многие с разными параметрами. Почитал Вашу тему и подумал: "А фигли я то мучаюсь, всякий раз man приходится открывать. Надо себе тоже подобный GUI смастерить". И теперь вот, благодаря Вашему пинку в правильном направлении, жизнь наладилась
-
ppp
- Это не хвост, это антенна
- Сообщения: 1451
- Зарегистрирован: Ср мар 02, 2011 20:05:39
- Откуда: Карельский перешеек
Re: Avrdude для Linux
Вдогонку...
В статье обратил внимание на фразу: "в планах переписать программу с использованием ini файла вместо SQLite3.".
Мысль хорошая. Редактировать базу можно будет в любом текстовом редакторе и никаких заморочек с SQLite. Вот только для древовидной структуры, мне кажется, формат XML больше подходит.
По крайней мере, программка, которой пользуюсь я со своим программатором, хранит всю информацию о чипах именно в XML-файле. Там в базе более 16 000 чипов. Размер XML-файла 17,6 Мб. Никаких ощутимых тормозов не наблюдается. В вашей базе всего 600 записей о 75 контроллерах. Я сконвертировал таблицу "atmel" из вашей базы в XML-файл (во вложенном файле). Естественно, структуру придумал по своему разумению и стараясь максимально сохранить вашу. Не факт, что придумал оптимальную. Размер получился всего 113кБ. Будет вообще летать
. А в Lazarus'е есть компоненты что для работы с INI-файлами, что с XML.

В статье обратил внимание на фразу: "в планах переписать программу с использованием ini файла вместо SQLite3.".
Мысль хорошая. Редактировать базу можно будет в любом текстовом редакторе и никаких заморочек с SQLite. Вот только для древовидной структуры, мне кажется, формат XML больше подходит.
По крайней мере, программка, которой пользуюсь я со своим программатором, хранит всю информацию о чипах именно в XML-файле. Там в базе более 16 000 чипов. Размер XML-файла 17,6 Мб. Никаких ощутимых тормозов не наблюдается. В вашей базе всего 600 записей о 75 контроллерах. Я сконвертировал таблицу "atmel" из вашей базы в XML-файл (во вложенном файле). Естественно, структуру придумал по своему разумению и стараясь максимально сохранить вашу. Не факт, что придумал оптимальную. Размер получился всего 113кБ. Будет вообще летать
- Вложения
-
- atmel.xml.zip
- Таблица "atmel" в формате XML
- (3.29 КБ) 94 скачивания
Re: Avrdude для Linux
[uquote="0beron",url="/forum/viewtopic.php?p=4167542#p4167542"]Здесь можно обсудить все недостатки или задать вопрос о программе lavrprog
http://radiokot.ru/artfiles/6670[/uquote]
уточнение по поводу
- соответственно, если использовался qt-интерфейс, то должна быть установлена библиотека-прослойка qt4pas/qt5pas/qt6pas, причем (*), в некоторых случаях "родная библиотека" из комплекта дистрибьютива линукса может не подойти (как было у меня), т.к. собирается в однопоточном режиме (по умолчанию) и нужно самостоятельно пересобирать в "мультипоток", либо добавить данную библиотеку в архив, далее варианты (либо пишем запускающий скрипт-обертку с добавлением LD_LIBRARY_PATH, либо копируем библиотеку в "системный lib-каталог")
(*) - если в системе установлен lazarus (в дефолтный PREFFIX=/usr), то, установленная библиотека собрана как "мультипоточная" (обычно)
http://radiokot.ru/artfiles/6670[/uquote]
уточнение по поводу
- должен быть установлен gui-toolkit (под который написана программа): qt4/qt5/qt6/gtk2Программа написана на Lazarus и не требует установки. Главное чтобы в вашем дистрибутиве была avrdude
- соответственно, если использовался qt-интерфейс, то должна быть установлена библиотека-прослойка qt4pas/qt5pas/qt6pas, причем (*), в некоторых случаях "родная библиотека" из комплекта дистрибьютива линукса может не подойти (как было у меня), т.к. собирается в однопоточном режиме (по умолчанию) и нужно самостоятельно пересобирать в "мультипоток", либо добавить данную библиотеку в архив, далее варианты (либо пишем запускающий скрипт-обертку с добавлением LD_LIBRARY_PATH, либо копируем библиотеку в "системный lib-каталог")
(*) - если в системе установлен lazarus (в дефолтный PREFFIX=/usr), то, установленная библиотека собрана как "мультипоточная" (обычно)
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
p.s. держитесь обоими руками, а то прорвет...