LINUX.ORG.RU

Вкатываюсь в embedded как хобби. Arduino vs STM32

 , , ,


3

2

Формальное образование по электронике есть, опыт программирования - миллиард лет.

Полный нуб в практическом смысле по embedded, начал тыкать палкой неделю назад.

Я набрал STM32 Black Pill, зарядил Rust Embedded, все работает, лампочки мигают, экраны hello world пишут, серво шевелятся. Буду робота собирать.

Прошла эра AVR говорят? Забить на эти все Ардуины и копать дальше в STM32? Вроде все устраивает, но просто хочу мнений узнать. Я так понимаю что всё «pills» - это китайский бомжпакет, но если уткнусь в проблемы, то вроде есть официальные борды от STM, код почти не прийдётся менять, поменял HAL и все. На спеки этих Atmega по той же цене больно смотреть по сравнению с STM32. Ржавый тоже официально с пол пинка поддерживает STM32, а avr там нужно тулчейны собирать как плебей или вообще валить на С.

Там ещё какие ESP, PIC на горизонте маячат, но я вообще не знаю стоит ли копать.

Это очередное «памагите какой дистрибутив установить чтобы пацаны в 10-Б зауважали», но вместо линукса - embedded. Дичкач

★★★★★

Последнее исправление: vertexua (всего исправлений: 8)

Прошла эра AVR говорят?

805x используются до сих пор (и это не какое-нибудь легаси), а тут целый авр.

Но gcc не умеет нормально собирать под авр, да (на выходе говно из постоянных пуш-пуш/поп-поп).

На спеки этих Atmega по той же цене больно смотреть по сравнению с STM32
а еще есть PIC

Они все под разные задачи.

Rust Embedded

Говно.

чтобы пацаны в 10-Б зауважали

Собирай на КТ315, чо.

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

Кто ж голый микроконтроллер куда-то паяет

Я паяю, например. Не умеешь паять - стм-дурина твой единственный выбор.

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

для этого есть Китай

точнее, pick&place машина под управлением китайцев

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

Да любой несерийный прототип требует ручной пайки. Пришёл текстолит из Китая - берешь паяльник и фигачишь.

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

не хуже 10мкм

А товарищ пиздобол знает насколько удлиняется 1м стальной пруток при нагреве его на 50 град.?

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

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

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

Кто ж голый микроконтроллер куда-то паяет, там можно вроде если припечет PCB заказать.

И пайку тоже заказать, и корпус, и вместо программирования на тяп-ляп смотать ардуинские блоки скотчем. И вообще к чему все эти сложности, если можно готовое устройство купить.

Единственный минус STM32 - это мелкие ножки, которые задолбаешься паять. AVR есть в корпусах для нубов

Второе преимущество - простота. Первая мигалка на AVR может занять строк 6. Ну 10 если добавить стек. На stm32 одно тактирование настраивать голову с непривычки вывихнуть можно. Так что в качестве первого контроллера AVR самое то. И запаять можно на любую картонку, и запитать хоть от USB, хоть от Li-ion, хоть от квадратной батарейки безо всяких стабилизаторов. Единственный минус - нужен программатор, через UART они не прошиваются.

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

Сделай себе вот такую [url=https://eddy-em.livejournal.com/319720.html]вундервафлю[/url], и можно будет баловаться с МК, вообще никуда не впаивая: тупо воткнул его в «колыбельку» — и работай. Потом можно монтажникам уже прошитые отдать, чтобы, спаяв, могли проверить базовый функционал.

А вообще, при помощи фоторезиста без всяких спецприспособлений (маски печатаю на лазерном принтере обычном офисном) 0.2/0.2 очень даже просто получается, вот с 0.1/0.1 могут быть косяки, это да. Но у LQFP48 не такой уж и мелкий шаг, там все ОК. Разве что без паяльной маски их дюже неудобно припаивать. Поэтому я уже давно не делаю более-менее сложных плат сам, а заказываю по 10-12 баксов за пяток у китайцев.

anonymous
()

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

А я думал, дебилы только в России в таком количестве встречаются. Обидно! Оказывается, во всем мире большинство народа не хочет работать и думать, а хочет, чтобы "оно само".

anonymous
()

Я набрал STM32 Black Pill, зарядил Rust Embedded, все работает, лампочки мигают, экраны hello world пишут, серво шевелятся. Буду робота собирать.

Всё правильно делаешь.

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

дебилы только в России

У тебя кругом одни дебилы. Пишешь на питоне - дебил и калокуб. Пишешь на с++ для мк - опять все не так. У тебя Эдуард серьезные проблемы, долбоеб ты сам.

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

Это я тебе как разработчик разработчику говорю. У тебе еще есть время, остановись.

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

может некулюторно говорит, но в глобальном плане он прав. акценты только неверно ставит. вот появится адекватная стандартная либа для си, да нормальная дока к этому колхозу, вот тогда эдик может с полным правом называть всех нехорошими словами

перечитал выше, прям фантастический расказ

а так эдик прав в части контроля над кодом. шелезячник он шелезячник и в это его сила. вебмакакам и абстракционистам непонять

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

Про С++ под МК я не возражаю, когда там все правильно делается, а не как в абдурине.

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

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

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

Нет, это лишь значит, что в мире слишком много долбоебов! Скажешь «калокуб» - бац, тебе в жбан минусы прилетели. Скажешь «абдурина» — аналогично…

В общем, 20 лет назад, пока интернет был лишь у гиков, было намного легче и спокойней. А сейчас слишком уж много дегенератов получили к нему доступ. Сидели бы в своих лужах и газифицировали их, так нет - в интернет повылезали!

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

а то, или ты думаешь что я залетный анонимус :)

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

А как мне с долбоебами разговаривать иначе?

Ты еще скажи вендовозов не называть анально огороженными дебилами!..

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

Единственный минус - нужен программатор, через UART они не прошиваются

Что значит эта фраза? Для STM вроде тоже нужен какой-нибудь ST-LINK/V2, это разве не программатор?

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

реалтайм не значит, что надо отвечать в течении наносек. Ты должен ответить не позднее скажем 50 мкс. Для механики этого за глаза хватает. Ядро в линуксе можно отдать в экслюзивное использование процессу.

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

Нет, для многих STM32 вообще ничего не нужно: их можно прошить через USB-DFU.

А еще у всех есть бутлоадер через USART1, т.е. тебе достаточно переходничка USB-UART, который у всех и так есть — и можно прошивать.

Я вот уже забыл, когда последний раз пользовался st-link’ом. Обычно прошиваю через DFU или USART1.

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

Ты должен ответить не позднее скажем 50 мкс. Для механики этого за глаза хватает.

Ну, не скажи: получил ты сообщение о «козе». Тут 50мкс, там 50мкс... Пока то да се, прошло несколько миллисекунд и зона «козы» превратилась в лужу расплавленного металла, поджигающую все горючее…

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

прошло несколько миллисекунд и зона «козы» превратилась в лужу расплавленного металла, поджигающую все горючее…

А предохранитель срабатывает за секунду. И все их используют. Тебя ничего не смущает?

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

А что, если взрослеешь, должен начать потакать всем этим придуркам?

Нет конечно, ты же личность. Придешь из школы, мамке скажи, что она анально огороженная дибилка.

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

Единственный минус - нужен программатор, через UART они не прошиваются

Что значит эта фраза? Для STM вроде тоже нужен какой-нибудь ST-LINK/V2, это разве не программатор?

stm умеют программироваться через UART. Собственно, я их поначалу именно так и программировал, пока клон st-link'а не сделал (а его прошивал тоже по UART'у). Ну а переходник на UART понадобится в любом случае: нужно же как-то смотреть отладочный вывод, что с AVR, что с ARM.

Не знаю, может, некоторые и через USB умеют. Аналог gd32vf103 на ядре RISCV умеет, но он не ST-шный.

COKPOWEHEU
()

Однозначно stm32 (или другие 32-битные, riscv вон ещё завезли)

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

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

Сделай себе вот такую вундервафлю, и можно будет баловаться с МК, вообще никуда не впаивая:

На Пинборду ДиХалт'овскую похоже, разве что ненужных модулей поменьше.

Я предпочитаю платы поменьше: https://habr.com/ru/post/456280/

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

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

У моей особенность в том, что паять МК не нужно. Я ее изначально сделал для того, чтобы можно было не только с новыми типами МК без девборд баловаться (с теми же F303, например), но и чтобы купленные на али проверять.

А в основном, последнее время я девборды только для отладки «общения» с новыми типами датчиков использую. Сами же устройства разрабатываю уже на готовой плате из Китая. Правда, подорожали их услуги: если раньше за 10 платок в пределах 1дм² отдавал 1000р, сейчас уже всего-то 5 плат столько стоят.

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

Почитал комменты твоей публикации на БХ и охренел: за всякие калокубы ратуют в основном те, кто зарабатывает разработкой под МК деньги! Я просто в ужасе: получается, что основная доля «промышленных» устройств разработана в духе «тяп-ляп — и в продакшн!», используя калокубы и говнокод…

anonymous
()

Ты на rust собрался писать под МК? Невеселое у тебя будет хобби.

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

Почитал комменты твоей публикации на БХ и охренел: за всякие калокубы ратуют в основном те, кто зарабатывает разработкой под МК деньги! Я просто в ужасе: получается, что основная доля «промышленных» устройств разработана в духе «тяп-ляп — и в продакшн!», используя калокубы и говнокод…

Тоже мне новость. Они еще и на безопасность с надежностью давным-давно болт положили. В фоновом режиме слушают происходящее у юзера и гоняют на свои сервера. Мало того что само по себе подслушивание, так еще и без интернета (или если сервер упал) все превращается в тыкву.

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

Эдик ни дня не проработал в промышленности, но знает как все сделать правильно.

Угу, зато маркетологи прекрасно знают.

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

Бизнес знает, поэтому у них есть промышленность и рынки сбыта, а Эдя надрачивает крутилки на телескопе.

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

Наебизнес, ты хотел сказать? Дитя копроэкономики…

anonymous
()

Ух, жесть, сколько ж дегенератов на реддите! Когда говоришь ему, что M$ "office" - вообще никчемное говно, да и даже LO - говно, по сравнению с латехом, начинают нести всякий бред типа "это же головой думать надо, а у нас головы нет"…

anonymous
()

перформанс: пик это чуть быстрее z80. атмега это в раза 4ре быстрее z80. cortex m4 это 386, только без мму.

корпус: пики с атмегами доступны в пидипах, проще самоделки самоделать, кортексы м в пидипах не встречал.

даташиты и вообще: в атмегах и пиках просто ставишь флажки и всё. в кортексах можно день потратить на правильный конфиг spi с дма, (в атмегах дма нема). имея fmc можно добавить статической памяти аж до 8Мб и больше, экранчики всякие. многие модели имеют встроеные usb otg и ethernet phy.

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

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

И много там на расте пишут в промышленности под МК? Даже не 3.5, а 1.5 анонимуса в лучшем случае. Ну и десяток упоротых хоббистов, которые эту поделку суют в любое блюдо.

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

Да он не про ржавого, а про то, что «в промышленности» главный принцип не «сделаем это аккуратно, оптимально, 100 раз проверим и лишь потом в продакшн», а «фигакс-фигакс — и в продакшн»! Сгенерить код калокубом, набодяжить среди него стыренного из интернета спагетти-кода и радоваться, что оно падает только один раз в сутки.

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

Ну да, там такая помойка, потому что считается, что лучше один раз вовремя, чем два раза правильно.

anonymous
()

Господа, поясните за stm32 и wifi.

Через какой модуль делать?

Вот есть такое https://www.ebay.ie/itm/NodeMCU-V3-4-ESP8266-ESP-12-E-Lua-CH340-WiFI-WLan-IoT-Arduino-Lolin-Mini-Micro-/294504565475

Но я так понимаю это вообще отдельный микроконтроллер, отдельная ОС. Оно подключаемо к STM32? Или это самостоятельный модуль и он рассчитан на то что он будет главным микроконтроллером?

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

Да, можешь AT-командами работать.

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

Но я так понимаю это вообще отдельный микроконтроллер, отдельная ОС.

В ESP-12E стоит FlashlessMCU ESP8266 с архитектурой Xtensa.

Программы и файлы хранятся во внешней последовательной FLASH-памяти.

Насколько я помню, первый мегабайт flash мапится в адресное пространство контроллера. Именно там и лежит прошивка.

Туда можно поставить misropython или NodeMCU, но, не рекомендую. Лучше уж использовать Arduino/PlatformIO и С++ соответственно.

Оно подключаемо к STM32?

Я использую для этого software serial на стороне ESP (да, можно использовать Arduino, когда это целесообразно) и UART на стороне STM32. Гоняю JSON-ы туда-сюда.

В adafruit делают похожим образом. Только на стороне нормального микроконтроллера - circuit python.

Или это самостоятельный модуль и он рассчитан на то что он будет главным микроконтроллером?

Можно и как самостоятельный, но там очень мало портов ввода-вывода. Если и использовать, как самостоятельный контроллер, то только для чего-то ОЧЕНЬ ПРОСТОГО.

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

shkolnick-kun ★★★★★
()
Последнее исправление: shkolnick-kun (всего исправлений: 3)
Ответ на: комментарий от Qui-Gon

При всех недостатках AVR, у него есть огромный плюс - очень просто заставить его работать.

У того же black pill на stm32f401, я полня потратил просто пытаясь завести i2c, который почему-то упорно не хотел работать

cvs-255 ★★★★★
()

Хочешь много геморроя на ровном месте - собирай что-нибудь на stm32 с подключением периферии по I2C.

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

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