STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Аватара пользователя
Chipmaster
Сообщения: 267
Зарегистрирован: 15 окт 2019, 05:18
Позывной: R9WBZ
Город: Уфа
Благодарил (а): 121 раз
Поблагодарили: 67 раз
Контактная информация:

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение Chipmaster » 22 окт 2019, 13:36

AZM.SU писал(а):
22 окт 2019, 12:46
zeta, микроконтроллеры штуки универсальные, то, что у вас в сознании связь "мигать светодиодом = бесполезица или ёлочная звёздочка" это ваше личное. В мире есть огромный парк оборудования, которые суть есть мигалки, например, лазерные маркираторы.
Но тема не о мигалках. Вообще. Я про мигалки и не говорил. Я говорил про бегущие огни. То есть про выдачу логических сигналов на несколько ног обработанных некими операциями над битами в 8-ми битных данных.
Если бы вы более точно обрисовали ваше ТЗ, людям было бы проще что то вам советовать. А то вы какими то недомолвками что то пытаетесь выяснить - ходите вокруг да около... Конкретизируйте задачу и вопрос - проще будет найти решение. :)

Александр UB6HMV
Сообщения: 38
Зарегистрирован: 15 окт 2019, 09:04
Откуда: Ессентуки
Позывной: UB6HMV
Город: Ессентуки
Благодарил (а): 40 раз
Поблагодарили: 11 раз

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение Александр UB6HMV » 24 окт 2019, 10:11

Ардуино прекрасно подходит для простых задач и для таких чайников, как я, не имеющих много времени на изучение нормальных полноценных языков программирования, которые без каждодневной практики забудутся. За один вечер на ардуинке, при помощи справочника, раз в месяц можно написать нужный алгоритм под свои задумки. Ну и что с того, что код не оптимальный, память загружена под завязку, контроллер с ума сходит от кучи лишних циклов, дэлаев и пр. Главное, что устройство работает, цель достигнута, моральное удовлетворение от процесса получено :D . Это же хобби))))) О коммерции ведь не думаешь))))


ud3sbl
Сообщения: 4
Зарегистрирован: 17 окт 2020, 23:13
Позывной: ud3sbl
Город: Рязань
Поблагодарили: 2 раза

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение ud3sbl » 17 окт 2020, 23:47

А дайте я подниму тему и добавлю 5 копеек.
Последние несколько лет выбираю stm32 (как самый доступный и на любой вкус) или любой другой ARM Cortex-M процессор. С AVR имеется более, чем 10-летний опыт, поэтому могу немного сравнить. И скорость работы, те самые хваленые 72МГц у f103 - ну да, они есть, но все это ничто. Если для задачки хватает нескольких килогерц, то сравнивать скорости бессмысленно. Другое дело, что за те же деньги можно получить богатейшую периферию: CAN, несколько UART, DMA, кучи таймеров. Все то же самое, что есть в самых навороченных AVR, только по цене 328й меги. Больше памяти, больше флеш. Но и это не главное, самое главное — это возможность нормально отлаживать свои программы. У меня есть опыт debugWire у AVR, у которого скорость окирпичивания процов измеряется в десятках за вечер, JTAG хорош, но много проводов и доступен только у многоножек, да и у него есть проблемы с совместимостью.
А вот у ARM есть стандартный SWDIO, который работает по 2(!) проводам, может как прошивать, так и отлаживать процессоры, а совместимый программатор ST-Link на китайском рынке стоит чуть больше нуля. Не намного больше.
А еще добавляется универсальный подход, единый для всех Cortex-M контроллеров: сегодня у вас stm32, завтра NRF5x, потом захотите чипы от TI — регистры периферии поменяются, но подход, среда разработки, компилятор и прошиватор будут привычные, а это уже половина успеха.

Для тех кто пробовал ARM и сломался по дороге, совет такой: не стоит пугаться обилия файлов и кода в самом пустом проекте. В avr (если вы пишете на С/С++) и тем паче в arduino - такого кода не меньше, он просто спрятан глубоко в недрах тулчейна. Конечно хорошо считать, что ваша программа стартует с main(), с другой стороны — вот попробуйте быстренько раскидать код по нестандартным адресам, сразу же получите обратную сторону медали.
И это я не говорю про по-настоящему взрослые процессоры, у которых есть отражение QSPI в память контроллера или поддержка DSI-дисплеев и графический ускоритель на борту, и несколько вычислительных ядер.

Аватара пользователя
2Qay
Сообщения: 59
Зарегистрирован: 14 окт 2019, 12:58
Откуда: Татарстан
Позывной: ----
Город: Казань
Благодарил (а): 19 раз
Поблагодарили: 11 раз

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение 2Qay » 18 окт 2020, 18:27

ud3sbl, тоже радует наличие большого количества периферии по цене шавермы

UA3170309
Сообщения: 45
Зарегистрирован: 05 фев 2021, 10:31
Позывной: RX3AKO
Город: Москва
Имя: Алексей
Благодарил (а): 30 раз
Поблагодарили: 14 раз

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение UA3170309 » 10 фев 2021, 11:28

Вот тут чувак проверяет производительность ATMEGA328 на простейшем коде, но один раз - из-под Arduino, второй - в чистом коде из-под Atmel Studio. Разница в скорости выполнения скомпилированного кода - едва не на порядок. И сравнивает с STM32
https://youtu.be/pFUNNeIgSgY

Аватара пользователя
R9OFG
Сообщения: 1178
Зарегистрирован: 03 ноя 2019, 22:30
Позывной: R9OFG, ex R0AEK
Город: Новосибирск
Имя: Саша
Благодарил (а): 181 раз
Поблагодарили: 274 раза
Контактная информация:

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение R9OFG » 10 фев 2021, 11:44

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

alexander12
Сообщения: 19
Зарегистрирован: 18 ноя 2021, 12:25
Поблагодарили: 1 раз

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение alexander12 » 19 ноя 2021, 14:45

R0AEK писал(а):
10 фев 2021, 11:44
Самый быстрый код на асме, тут к гадалке не ходи, но увы асма для многих тяжела в понимании, обычный СИ проще, ардуинка еще проще, но тяжелее для производительности.
ASM для понимания прост, сложно на нем придумать реализацию с преимуществом по сравнению с -Os и -O2.

Ответить

Вернуться в «Микроконтроллеры и программирование»