LINUX.ORG.RU

Linux и Arduino

 


1

2

ребята привет

вопрос один: можно ли писать под Arduino из терминала без всяких сред разработки? ну то есть есть Debian server и больше ничего. можно?


Ответ на: комментарий от anonymous

ну спасибо)))) если будет у Вас время, то напишите, что потребуется для того чтобы писать под ардуино прям из терминала Линукс без стороннего софта

linuxpc
() автор топика
Ответ на: комментарий от anonymous

то есть я также могу накидать код в nano и скопилить avrgcc ?

ну извините,что пристал,просто я иначе буду долго разбираться сам и не факт,что разберусь

linuxpc
() автор топика

Можно, разрешаю. Но лучше все таки avrc и с ассемблерными вставками. Ардуиновский софт ужасен.

Hartmann
()
Ответ на: комментарий от linuxpc

В состав arduino входят библиотеки для ардуины. Или названия портов и прочие константы из воздуха берутся?

В общем просто ставишь ардуину, что бы поставить всё что нужно и дальше компиляешь вручную через терминал.

anonymous
()
Ответ на: комментарий от anonymous

хорошо спасибо огромное

я только знакомлюсь с ардуино

так что все что Вы говорите очень важно для меня. потому что я не знаю ничего

linuxpc
() автор топика

Да, я абдурину использовал для опытов перед заливкой этого на основной контроллер (сдохло управление допотопным прибором, пришлось минимальными усилиями решать проблему).

Но зачем тебе? Аврки - это же говно мамонта! Если так хочешь убиваться по восьмибиткам, STM8 или нувотон возьми. Но если тебе что-то нужно более-менее нормальное делать и не искать геморрой, то пользуйся STM32 или другими армами!

anonymous
()
Ответ на: комментарий от linuxpc

я только знакомлюсь с ардуино

В этом случае выкинь дерьмо и не тыкай его даже длинной палкой!

Купи за стольник на алиэкспрессе макетку на STM32F030 или STM32F103 (советую все-таки начинать с нулевой серии, там RM тоньше). И вперед!

Но никаких калокубов!11

anonymous
()

Туева хуча cli софта для дуина. Прояви смекалку.

Deleted
()
Ответ на: комментарий от linuxpc

У меня в гитхабе (выше я ссылку давал) найдешь еще кучу всего под STM32F0 и немного под STM32F1. Также есть под STM8.

anonymous
()

можно ли писать под Arduino из терминала без всяких сред разработки

можно, на сайте ардуины есть инструкция

Arduino

не надо так
начинай с ассемблера (это проще, чем кажется), хорошие статьи для ознакомления:

в качестве разминки (после мигания светодиодом), можешь попробовать написать модуль для nokia5110 и кооперативную микро-РТОС (не забудь сравнить результат с решениями на С :))

STM32

Плохо подходит для задач управления, дорог, избыточен для домашних поделок.

anonymous
()
Ответ на: комментарий от anonymous

Эдик, мы знаем о твоей неразделенной любви к авр'кам.
А ведь все могло сложиться иначе, не испорти тебя gcc.

PS: когда выложишь прогноз для скорпионов на январь 2019?

anonymous
()

Все только попукрекали и никто, почти, по делу не сказал.

Учитесь, как надо.

Сначала всю задачу нужно разбить на две подзадачи:

1. Написание прошивки, компиляция, получение hex-файла прошивки

2. Прошивка МК средствами линукс.

Начнем с первой:

#apt install gcc-avr avr-libc
, собсна, компилятор С и реализация стандартной библиотеки для микроконтроллеров семейства AVR.

Теперь создай текстовый файл с минимальной программой на Си.

Например,

nano main.c

Хотя я рекомендую поразбираться с vim-ом

Содержимое может быть таким:

#include <avr/io.h>
#include <util/delay.h>

int main(void) 
{
	DDRC |= (1<<PC5); // настроим PC5 как выход
	
	PORTC |= (1<<PC5); // установим лог 1 на ножке
	
	while (1) {
		_delay_us(300000); // задержка
		PORTC &= (0<<PC5); // установим лог 0 на ножке
		
		_delay_us(300000); // задержка
		PORTC |= (1<<PC5); // установим лог 1 на ножке
	}
	
	return 0;
}

Ну и пример Makefile-а тебе, для компилции

SOURCE = main.c
TARGET = main.hex
F_CPU  = 4000000
MCU    = atmega8

CSTANDARD = -std=gnu99
CDEFS     = -DF_CPU=$(F_CPU)UL

CFLAGS  = $(CDEFS)
CFLAGS += $(CSTANDARD)
CFLAGS += -O2
CFLAGS += -funsigned-char
CFLAGS += -funsigned-bitfields
CFLAGS += -fpack-struct
CFLAGS += -fshort-enums
CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes

ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS)


CC = avr-gcc

all: $(SOURCE)
	$(CC)  $(ALL_CFLAGS) $(SOURCE) -o $(TARGET)
	
program: $(TARGET)
	avrdude -p $(MCU) -c usbasp -U flash:w:$(TARGET)

pihter ★★★★★
()
Ответ на: комментарий от pihter

Петушок (в смысле «альфа птица»), зачем ты запостил свою портянку, когда она есть на сайте ардуино, да еще и объяснением?

anonymous
()
Ответ на: комментарий от linuxpc

AVR вполне себе норм для начинающего, а с ARM сиречь STM32 ты себе об одно только тактирование мозги напаришь. Так что покупай USBASp и пиши/шей под смою ардуину в удовольствие. Еще хорошо бы раздобыть даташит под твой микроконтроллер. Еще мне понравился плагин avr-eclipse.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от anonymous

Страдать разной фигней не запретишь, но...

1. Ничего нет лучше ардуины для начинающих на AVR. Это хороший годный штук для домашних задач (если куплен клон на али). Можно повозиться пару месяцев со средой, но лучше сразу make и gcc в зубы. Примеров кода полно, можно быстро задачи домашней автоматизации делать типа вкл-выкл чего-нибудь или даже простеньким станком плрулить. Много всяких аддонов, называемых «шилд».

2. Согласен с Эдиком на счет STM32 - они дешевле, мощнее, могут гораздо больше. Но свою ардуину на них никто не сделал. Были жалкие попытки, но увы. В итоге порог вхождения высоковат. В итоге чтобы быстро и на раз-два приходится брать ардуино-клоны с шилдами и за час-два по телефону готова автоматизация, а с stm32 плату залути сам, контроллер прошей и вези сам, надеясь что все заработает. Для сложных устройств это неизбежно, но если это можно сделать на ардуине, это нужно сделать на ардуине. Речь об одноразовых задачах, не о серийных. Если нужно серийно, но не массово, уже проще залутить на stm32 и иметь уже в загашнике готовые разводки нескольких модулей под типовые задачи.

slapin ★★★★★
()
Последнее исправление: slapin (всего исправлений: 1)
Ответ на: комментарий от pihter

лорчую этого комментатора.

для начинающего это всё, что нужно. какие там STM и ассемблеры, если чел контроллер первый раз в жизни увидел? начальных шагов с уже готовыми библиотеками для начала вполне достаточно. вообще сначала компилять, прошивать и отлаживать научиться - это уже шаг вперёд. ну а дальше как пойдёт. сам разберётся, куда двигаться.

Iron_Bug ★★★★★
()
Ответ на: комментарий от anonymous

Плохо подходит для задач управления, дорог, избыточен для домашних поделок.

бóльшего бреда я еще не слыхал! Т.е. тупой ногодрыг быдланской авркой по-твоему — лучше, чем разумное использование аппаратных средств? Ну-ну..

А насчет цены, посмотри на алиэкспрессе: девборда на STM32F103 стоит столько же, сколько «абдурина нано». Сравни теперь их возможности. А чтобы вообще себя доконать, посмотри, почем можно купить STM32F030 в 20-ногом корпусе! Еще интересней нувотоновские армы - там вообще буквально за 20 рублей можно полноценный кортекс-М3 получить с USB и прочим веселым фаршем.

И для домашних поделок STM32 — самая классная вещь! Я на STM8 кое-какие новые шняги делаю лишь если лень с нуля прошивку писать (а под STM8 я довольно-таки много уже чего понаписал) или если уже есть 5В и не хочется заморачиваться с 3.3В (а использование периферии элементарнейшее, почти на уровне ногодрыга).

anonymous
()
Ответ на: комментарий от linuxpc

Ассемблер тебе не нужен. Точней, его, конечно, нужно знать (чтобы иметь возможность в некоторых случаях смотреть, что там тебе sdcc или gcc делает; особенно глаз да глаз нужен за sdcc), но писать на нем не надо. Есть «высокоуровневый ассемблер» — С. Вот на нем и пиши. Очень редко нужно будет что-то руками сделать, обычно компилятор и так нормально все делает.

anonymous
()
Ответ на: комментарий от slapin

но если это можно сделать на ардуине, это нужно сделать на ардуине

Вообще не согласный. Если можно сделать на меге — делай на меге.

pihter ★★★★★
()
Ответ на: комментарий от linuxpc

за Ассемблер отдельное спасибо..

За какой ассемблер? )

pihter ★★★★★
()
Ответ на: комментарий от slapin

Ничего нет лучше ардуины для начинающих на AVR

С этим - да, абдурина по сути — обычная девборда на авр (надо лишь бутлоадер ненужный стереть и фьюзы правильно настроить). Кстати, от нормальных МК это дерьмо отличается тем, что легко и просто можно «окирпичить» МК, неправильно настроив фьюзы. Но абдурина и выплыла лишь из-за того, что для нее полным-полно всяких говнолиб и «шилдов». Обезьяна, не умеющая читать, скачивает из интернета готовые «шилды», собирает это в кучу и у нее работает поделка, весело считывающая какую-нибудь фигню с датчика и отображающая на экранчике. Правда, обезьяна вообще не в курсе, как это происходит, но работает же!

Вот только из-за таких обезьян аврки до сих пор и используются.

В итоге порог вхождения высоковат.

То, что нужно немножко почитать, ты считаешь высоковатым порогом? Это же хорошо! По крайней мере, отсеивает полных быдланов, которые даже читать-то не умеют, а лезут в «погромирование микроконтроллеров».

залути

Не советую. Фоторезист надежней. ЛУТом получить дорожки 0.2/0.2мм — практически из области фантастики!

anonymous
()
Ответ на: комментарий от anonymous

мне как -то Ассемблер веселее,чем тот упрoщенный СИ на котором пишут под Ардуино

так мне видится

linuxpc
() автор топика
Ответ на: комментарий от linuxpc

упрoщенный СИ на котором пишут под Ардуино

Если что, под абдурино на крестах пишут. С там не используется.

А с приличными контроллерами ты на ассемблере пару лет элементарную вещь писать будешь...

anonymous
()
Ответ на: комментарий от anonymous

Не видел крестов на ардуино, только C.

slapin ★★★★★
()
Ответ на: комментарий от anonymous

Кстати, от нормальных МК это дерьмо отличается тем, что легко и просто можно «окирпичить» МК, неправильно настроив фьюзы

Он же там заменяемый (МК). Да и не в конец он окирпичивается. И стоит копейки.

Но абдурина и выплыла лишь из-за того, что для нее полным-полно всяких говнолиб и «шилдов». Обезьяна, не умеющая читать, скачивает из интернета готовые «шилды», собирает это в кучу и у нее работает поделка, весело считывающая какую-нибудь фигню с датчика и отображающая на экранчике. Правда, обезьяна вообще не в курсе, как это происходит, но работает же!

Вот это — золотые слова

pihter ★★★★★
()
Ответ на: комментарий от anonymous

Под стмки я одноразовое делаю лутится прекрасно. Можно лутить китайской toner transfer paper. Будет еще круче. Под несколько от 10 до 20 заказываю платы. Фоторезист штука дороговата и надо быстро расходовать. А у меня надо редко, быстро и внезапно, бывает в 3 часа ночи и в магазин даже не сбегать, только до аптеки.

slapin ★★★★★
()
Ответ на: комментарий от anonymous

Вот только из-за таких обезьян аврки до сих пор и используются.

А че с ними не так? Тебя в детстве покусали микроконтроллеры с надписью Atmel и теперь ты их боишься?

ИМХО, отличный инструмент. Простой, недорогой, понятный, надежный

Не советую. Фоторезист надежней. ЛУТом получить дорожки 0.2/0.2мм — практически из области фантастики!

А они не всегда такие нужны. Большие дороги надежнее и проще, поэтому всегда, когда есть возможность, нужно использовать большие. А с ЛУТом возни меньше и цена.

pihter ★★★★★
()
Ответ на: комментарий от linuxpc

Ассемблер веселее,чем тот упрoщенный СИ на котором пишут под Ардуино

GCC-AVR — компилятор самого настоящего Си, никакого не упрощенного

pihter ★★★★★
()
Ответ на: комментарий от pihter

отличный инструмент

Как кирпич: хочешь — дом построй, хочешь — по башке кому-нибудь дай. Все, сферы применения закончились...

Большие дороги надежнее и проще

Вот только если к 0603 ты еще как-то приляпаешь дорожку 0.5/0.5мм, то при шаге ног в 0.4мм хрен у тебя так получится!

с ЛУТом возни меньше и цена

Цена одинаковая. Фоторезист в итоге даже дешевле получается, если плат штук по пять с одного фотошаблона делать (один лист термотрансферной бумаги стоит около 10 рублей, фотобумага примерно столько же, но хуже воспроизводимость)! Но сделать ЛУТом двухслойку — тот еще гемор! Я последний раз когда ЛУТил, делал так: сначала утюжу одну сторону (если слишком мелких деталей нет, то с 1-2 попыток получается нормально). Заклеиваю вторую скотчем и травлю. Далее отдираю скотч от второй, сверлю штуки 4 переходных отверстия недалеко от углов и при помощи сверел 0.6мм центрую шаблон второй стороны. Катаю. Здесь получается хуже, попытки со 2-3 если получилось, то здорово! Далее первая сторона залепляется скотчем и плата дотравливается. Потом как обычно - сверление, лужение, скобление и т.п.

anonymous
()
Ответ на: комментарий от anonymous

Платы разные бывают. Тут могут быть заморочки. Мне раз пришлось изголяться несколько дней пока смог модборду на бга насадить, пришлось к друзьям с фрезером стучаться, на заказать плату времени не было. Больше за такое не берусь, но опыт, его же не пропьешь теперь...

slapin ★★★★★
()

Праздники - кайф!

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

anonymous
()
Ответ на: комментарий от slapin

БГА для самоделок? но КАК??? Там же надо под платой переходные делать. Без металлизации это невозможно. Ты в домашних условиях делал металлизацию? Да и маска нужна, иначе уплывет чип. Фигасе...

Мне в самоделках QFN хватило, но эту заразу хоть паяльником можно зафиксировать, прежде чем феном припаивать окончательно (без маски елозит, зараза, и коротит).

anonymous
()
Ответ на: комментарий от anonymous

Фоторезист чувствителен к качеству фотошаблона. Если не на чем распечатать нормальный шаблон, то затея с фоторезистом провалится.

quantum-troll ★★★★★
()
Ответ на: комментарий от quantum-troll

Использую отдельный картридж для шаблонов. Для освещения сделал вот такой светильник из двух с лишним сотен голубых светодиодов (похоже, у них «лишней» полосой идет фиолетовый на нужные 405нм); за 15 секунд фоторезист засвечивается! (раньше пользовался «черной лампой», приходилось по 40 минут экспонировать — там УФ и фиолетового почти нет).

anonymous
()
Ответ на: комментарий от pihter

могу и я примеры показать: вот такое и вот такое я делал еще ЛУТом. А вот — фоторезист (если бы был качественный, то с первой попытки вполне нормальный результат можно было бы получить, но на али купить качественный - та еще лотерея; жду сейчас очередные два метра, по метру у разных продаванов взял, авось, хоть один будет нормальный).

anonymous
()
Ответ на: комментарий от anonymous

Ну, значит у меня руки совсем из жопы растут. Я и фоторезистом умудряюсь 4 часа на плату убить...

ЛУТом (фотобумага Lomond 150 гр/м2) получается за час из которых 40 мин травится потому что я люблю прошлогоднее хлорное железо.

Получается быстро, качественно, бесхлопотно, дешево. рекомендую

pihter ★★★★★
()
Ответ на: комментарий от pihter

Да не получается ЛУТом за час!

Я же говорю: если первая сторона с 1-2 попыток выходит (а это - около 10 минут как минимум), то на вторую приходится 2-3 (а то и все 5) сделать! Да и развлечения со скотчем...

Одновременно обе стороны делать пробовал. Не получается: у одной стороны всегда вылезают косяки, которые маркером не подмажешь... Да и сложней сделать «конверт» из термотрансферной бумаги: тонер так и норовит отвалиться + совмещение на просвет не сделать, приходится прокалывать отверстия, от чего точность страдает.

anonymous
()
Ответ на: комментарий от anonymous

Вот если бы были у меня какие-нибудь примитивнейшие схемки, которые на одной стороне можно развести, то баловался бы ЛУТом...

anonymous
()
Ответ на: комментарий от anonymous

Как кирпич: хочешь — дом построй, хочешь — по башке кому-нибудь дай. Все, сферы применения закончились...

Растолкуй нормально. Я реально не понимаю че тебе не нравится.

Какая альтернатива? STM32? А есть под сабж инструментарий? свободный? мож я просто от жизни отстал

Вот только если к 0603 ты еще как-то приляпаешь дорожку 0.5/0.5мм, то при шаге ног в 0.4мм хрен у тебя так получится!

Написал же — по возможности использовать большие. по возможности

Цена одинаковая. Фоторезист в итоге даже дешевле получается

Пруфы. Пачку фотобумаги я купил за 200 руб уже не помню когда, а она еще и на половину не прохудилась. Тонер бесплатный, хлорное железо - 2 банки в год, по 100 руб. Фольгированный текстолит я взял за 500 руб на каком-то складе материалов полтора на полтора метра. Уже кончается. Ну припой, спиртоканифоль и электричество для паяльника я не считал

То, что я описал, не просто дешево — бесплатно. Я вчера пропил больше, чем за всю жизнь на ЛУТ потратил

Но сделать ЛУТом двухслойку — тот еще гемор!

Я почитал воттаких страшилок и даже пробовать не стал. Заказать в китае, если сложная плата

pihter ★★★★★
()
Ответ на: комментарий от anonymous

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

Я тоже так делал, бывало. И ощущения те же. И этаж и мозг.

// а вообще — жениться тебе пора, как говорит мой наставник

pihter ★★★★★
()

Ардуинка медленная, приходится писать на си и ассемблере, чтобы что-то прилично работало. Поверь смесь си, ассемблера и процессинга введёт тебя в уныние и отчаярие. Проще писать на Си изначально, хотя признаю что наличие овердохера либ даёт этой платформе хоть какую-то жизнь.

AUX ★★★
()
Последнее исправление: AUX (всего исправлений: 3)
Ответ на: комментарий от pihter

Я реально не понимаю че тебе не нравится.

Отсутствие нормальной периферии: таймеров (чем их больше, тем лучше), всяких хитрых интерфейсов, той же USB, объема флеша, быстродействия, DMA и т.п.!!!

А есть под сабж инструментарий? свободный? мож я просто от жизни отстал

Ты сильно отстал. Вот тебе мое на гитхабе. Я не пользуюсь проприетарщиной (кроме «компас-3D», потому что свободных 3D-чертилок еще нет, фрикад совсем не годится). Компиляция при помощи gcc, прошиваю stm32flash. Отладка через uart или usb + осциллограф или логанализатор + мигающие светодиодики и мультиметр.

Пачку фотобумаги я купил за 200 руб уже не помню когда, а она еще и на половину не прохудилась

Сейчас такой дешевой не найдешь уже. Листик примерно как термотрансферная стоит - около червонца.

Я вчера пропил больше, чем за всю жизнь на ЛУТ потратил

бывает ☺

Заказать в китае, если сложная плата

Выкидывать косарь и получать 10 печатных плат ради одной? Кроме того, почтой оно 2 месяца идти будет. Лучше я один день потеряю, но таки сделаю прототип сам. А когда будет понятно, что допиливать нечего и все нормально работает, можно и у китайцев или в «резоните» заказать (смотря куда плата: домой для себя, либо же на работу для прибора какого-нибудь).

anonymous
()
Ответ на: комментарий от pihter

жениться тебе пора

Если что, я в 2007 году женился. А в 2013 дочка родилась ☺

ЖЖшку мою почитай (а еще я есть во фконтактиге и на мордокниге).

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.