Avrdude для Linux

Обсуждаем контроллеры компании Atmel.
0beron
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс мар 06, 2016 17:45:49

Re: Avrdude для Linux

Сообщение 0beron »

Отвечаю сразу нескольким абонентам, обратившимся по e-mail:
Программа скомпилирована под Linux-X64bit, если есть необходимость
пишите - сделаю X32.
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: Avrdude для Linux

Сообщение COKPOWEHEU »

если есть необходимость пишите - сделаю
А потом понадобится под новый дистрибутив, а потом специфические баги. Так, глядишь, и интерес ее поддерживать пропадет, и останутся проприетарщики с бесполезным экзешником, который ни работать под современными системами не захочет, ни баги исправить невозможно.
Впрочем, в случае очередной оболочки вокруг avrdude это не страшно: их вокруг куча.
0beron
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс мар 06, 2016 17:45:49

Re: Avrdude для Linux

Сообщение 0beron »

COKPOWEHEU, Дурень - Выше уже писалось, что проверено под 3 дистрами,
сейчас их уже 7.
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: Avrdude для Linux

Сообщение COKPOWEHEU »

Да пожалуйста - пожалуйста, верьте, что вам будет вечно не лень свою мега-софтину поддерживать.
Мое дело предупредить, что таскать в рот всякую каку может быть опасно, и почему. Кто умный прислушается, остальные могут и дальше по торрентам и файлопомойкам шариться.
0beron
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс мар 06, 2016 17:45:49

Re: Avrdude для Linux

Сообщение 0beron »

COKPOWEHEU, Уймись уже. Для того чтобы код работал на
большинстве дистров, соблюдай правила:
1. Не используй непровереных чужих компонентов - пиши свой код
(что для тебя смерти подобно).
2. И используй в своей программе те элементы,
которые доступны в любой LinuxOS.
Lazarus, установленный по умолчанию позволяет это сделать.
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: Avrdude для Linux

Сообщение COKPOWEHEU »

Для того чтобы код работал на большинстве дистров...
...достаточно пользоваться распространенными (лучше даже кроссплатформенными) библиотеками, а не завязываться на всякую экзотику.
Ну и, естественно, открыть исходный код, чтобы если проблемы все-таки возникнут (а рано или поздно они возникнут), их было возможно решить.
Есть, конечно, костыльные варианты вроде snap. И, кстати, вашей прориетарщине оно может и лучше подойдет. По крайней мере, можно будет вкорячить туда все библиотеки, которых в системе может не быть.
Lazarus, установленный по умолчанию позволяет это сделать.
То есть то, что по умолчанию он не устанавливается, вас не смущает? То, что в разных дистрибутивах бывают разные соглашения по хранению файлов и тому подобному тоже.
В принципе, я уже говорил, что вам бы не помешало сначала ознакомиться с сообществом и его особенностями. Но, видимо, желание похвастаться своим хелло-ворлдом сильнее.
0beron
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс мар 06, 2016 17:45:49

Re: Avrdude для Linux

Сообщение 0beron »

Правду говорил Martian развели срач,
вместо нормального обсуждения - рассуждаем
о тонкостях OpenSource - которые как шли так и ехали.
Надоел твой флуд, а мне в почте информации от адекватных людей хватает.
Lazarus нужен только программистам - зачем-же его подсовывать всем?
Аватара пользователя
sunjob
Вымогатель припоя
Сообщения: 611
Зарегистрирован: Ср дек 08, 2010 19:03:17

по поводу лазаря

Сообщение sunjob »

Lazarus делает достаточно "мобильные" бинарники! (т.е. обычно ни чего более не требуется для работы, если статически собрать приложение, то и sqlite-пакет не нужен будет)
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
vimusov
Родился
Сообщения: 14
Зарегистрирован: Вс ноя 14, 2021 13:35:43
Откуда: Екатеринбург

Re: Avrdude для Linux

Сообщение vimusov »

[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
Не везде и не всегда найдутся нужные библы нужных версий.
0beron
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс мар 06, 2016 17:45:49

Re: Avrdude для Linux

Сообщение 0beron »

Создание статической сборки неимоверно увеличивает
размер бинарника (но в принципе возможно).
В результате проб выяснилось что в популярных
дистрах Debian, Devuan, Mint, Ubuntu, Runtu -
установки libsqlite3-dev достаточно.
Так-же устранена ошибка "type(Null) into type(String)"
После первого неудачного запуска в файле конфигурации
~/.config/lavrprog.conf сохранялись пустые поля,
которые и приводили к ошибке. Если такое произошло,
то после установки libsqlite3-dev следует удалить
lavrprog.conf запустить lavrprog и заново произвести настройку.
За новым бинарником на email (волжения мне недоступны).
vimusov
Родился
Сообщения: 14
Зарегистрирован: Вс ноя 14, 2021 13:35:43
Откуда: Екатеринбург

Re: Avrdude для Linux

Сообщение vimusov »

[uquote="0beron",url="/forum/viewtopic.php?p=4174306#p4174306"]Создание статической сборки неимоверно увеличивает размер бинарника[/uquote]
Да, это так, размер будет внушительный. Собственно, вариантов целых четыре:
1. Статическая линковка;
2. Прикладывать к бинарнику абсолютно все необходимые ему библы (рекурсивно по зависимостям, включая glibc) - что по размеру аналогично варианту 1, но менее удобно;
3. Опубликовать исходники чтобы каждый желающий мог их собрать под нужную ему платформу и версии библ;
4. Вообще ничего никуда не выкладывать - ни исходников, ни бинарников;
0beron писал(а):в популярных дистрах Debian, Devuan, Mint, Ubuntu, Runtu - установки libsqlite3-dev достаточно
К сожалению это так не работает. Библы и их версии в разных дистрах разные. У меня например такой бородатой древности как GTK 2 вообще нет. Потому что весь актуальный софт давным-давно переехал на GTK 3 или Qt 5.
0beron
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс мар 06, 2016 17:45:49

Re: Avrdude для Linux

Сообщение 0beron »

"4. Вообще ничего никуда не выкладывать - ни исходников, ни бинарников;"
Почему нет? Нашлись-же люди, которым это пригодилось.
Только Большая просьба - давайте больше не будем об OpenSource и исходниках,
ведь было-же написано "не хочешь - не используй"
vimusov
Родился
Сообщения: 14
Зарегистрирован: Вс ноя 14, 2021 13:35:43
Откуда: Екатеринбург

Re: Avrdude для Linux

Сообщение vimusov »

[uquote="0beron",url="/forum/viewtopic.php?p=4174358#p4174358"]Нашлись-же люди, которым это пригодилось[/uquote]
И таких людей может стать намного больше если приложить ещё немного усилий, закончив оформление проекта в более портабельный вид - статической линковкой или с библами в комплекте.
Аватара пользователя
ДядяВован
Мучитель микросхем
Сообщения: 482
Зарегистрирован: Вс окт 25, 2020 22:13:25
Откуда: Смоленск

Re: Avrdude для Linux

Сообщение ДядяВован »

Совсем не понимаю для чего это нужно...
Кто-то "шьёт" в день по 100 (сто) разных контроллеров?
Ну набрал один раз (для текущего проекта) нужные ключи в командной строке, прошил.
Надо ещё прошить, нажал в терминале стрелочку вверх несколько раз. И вот снова avrdude с нужными ключами запустился.
Если совсем красиво, то можно makefile сделать, чтобы и компилить и прошивать.
0beron
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс мар 06, 2016 17:45:49

Re: Avrdude для Linux

Сообщение 0beron »

Аватара пользователя
sunjob
Вымогатель припоя
Сообщения: 611
Зарегистрирован: Ср дек 08, 2010 19:03:17

Re: Avrdude для Linux

Сообщение sunjob »

наверное, лучше url-адреса указать так:
url
url_rpm
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
Аватара пользователя
sunjob
Вымогатель припоя
Сообщения: 611
Зарегистрирован: Ср дек 08, 2010 19:03:17

Re: Avrdude для Linux

Сообщение sunjob »

[uquote="0beron",url="/forum/viewtopic.php?p=4542513#p4542513"]... LAVRProg ...[/uquote]
данные о чипах и программаторах находятся в файлах БД фотмат SQLite3
вопрос 1: какие именно данные?
вопрос 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.
в меню about - находится "инфа конфигурации", но без самомого "абоут-а"

Код: Выделить всё

The configuration file "avrdude.conf" was not found.
Installation Options:
/etc/avrdude/avrdude.conf
/etc/avrdude.conf
интефейс - вполне даже нормальный, не вырвиглаз а то что надо, неброский, аскетический gui (думаю, работать можно)
дальше не тестировал, т.к. ни чего под рукой не было.

удачи
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
ppp
Это не хвост, это антенна
Сообщения: 1451
Зарегистрирован: Ср мар 02, 2011 20:05:39
Откуда: Карельский перешеек

Re: Avrdude для Linux

Сообщение ppp »

0beron, спасибо за публикацию.
Хотя мне сама по себе программка и не нужна (у меня и программатор другой, и шить приходится не только AVR), но программа тоже консольная. 35 разных опций, да ещё и многие с разными параметрами. Почитал Вашу тему и подумал: "А фигли я то мучаюсь, всякий раз man приходится открывать. Надо себе тоже подобный GUI смастерить". И теперь вот, благодаря Вашему пинку в правильном направлении, жизнь наладилась :).
СпойлерИзображение
ppp
Это не хвост, это антенна
Сообщения: 1451
Зарегистрирован: Ср мар 02, 2011 20:05:39
Откуда: Карельский перешеек

Re: Avrdude для Linux

Сообщение ppp »

Вдогонку...

В статье обратил внимание на фразу: "в планах переписать программу с использованием ini файла вместо SQLite3.".

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

По крайней мере, программка, которой пользуюсь я со своим программатором, хранит всю информацию о чипах именно в XML-файле. Там в базе более 16 000 чипов. Размер XML-файла 17,6 Мб. Никаких ощутимых тормозов не наблюдается. В вашей базе всего 600 записей о 75 контроллерах. Я сконвертировал таблицу "atmel" из вашей базы в XML-файл (во вложенном файле). Естественно, структуру придумал по своему разумению и стараясь максимально сохранить вашу. Не факт, что придумал оптимальную. Размер получился всего 113кБ. Будет вообще летать :). А в Lazarus'е есть компоненты что для работы с INI-файлами, что с XML.

Изображение
Вложения
atmel.xml.zip
Таблица "atmel" в формате XML
(3.29 КБ) 94 скачивания
Аватара пользователя
sunjob
Вымогатель припоя
Сообщения: 611
Зарегистрирован: Ср дек 08, 2010 19:03:17

Re: Avrdude для Linux

Сообщение sunjob »

[uquote="0beron",url="/forum/viewtopic.php?p=4167542#p4167542"]Здесь можно обсудить все недостатки или задать вопрос о программе lavrprog
http://radiokot.ru/artfiles/6670[/uquote]
уточнение по поводу
Программа написана на Lazarus и не требует установки. Главное чтобы в вашем дистрибутиве была avrdude
- должен быть установлен gui-toolkit (под который написана программа): qt4/qt5/qt6/gtk2
- соответственно, если использовался qt-интерфейс, то должна быть установлена библиотека-прослойка qt4pas/qt5pas/qt6pas, причем (*), в некоторых случаях "родная библиотека" из комплекта дистрибьютива линукса может не подойти (как было у меня), т.к. собирается в однопоточном режиме (по умолчанию) и нужно самостоятельно пересобирать в "мультипоток", либо добавить данную библиотеку в архив, далее варианты (либо пишем запускающий скрипт-обертку с добавлением LD_LIBRARY_PATH, либо копируем библиотеку в "системный lib-каталог")

(*) - если в системе установлен lazarus (в дефолтный PREFFIX=/usr), то, установленная библиотека собрана как "мультипоточная" (обычно)
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
Ответить

Вернуться в «AVR»