Как так то? STM32F031C6T6

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Я что-то вообще все перестал понимать. 
STM32F031C6T6:

 

Ядро: ARM Cortex M0
Размер программной памяти: 32 kB 
Ширина шины данных: 32 bit 
Разрешение АЦП: 12 bit 
Максимальная тактовая частота: 48 MHz 
Количество входов/выходов: 39 I/O 
Размер ОЗУ данных: 4 kB

При всем при этом стоимость - чуть больше бакса с бесплатной доставкой с али ( https://aliexpress.ru/item/1005001691005148.html )

А мегу 328ю за 300р где-то там же купить можно. Бред какой-то.
Или они (стм32) сильно сложнее в понимании и написании кода? 

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Скорее всего за доллар идет бумажный почтовый пакет "оне механизмус" (С)

rkit
Offline
Зарегистрирован: 23.11.2016

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

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Так характеристики краше, цена ниже. Вот и в недоумении.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Rumata пишет:

Скорее всего за доллар идет бумажный почтовый пакет "оне механизмус" (С)

Скорее всего б/у, часто такое встречаю там. А вот 328е популярные, их и б/у как новые продают (

nik182
Offline
Зарегистрирован: 04.05.2015

У меня одна нана и один леонардо. На всякий случай. Остальное блак и блю пилы горстями. Ну и еспшки до кучи. Не вижу смысла в AVRах именно из за характeристик.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

При наличии привычки - больше пространство для маневра. Таймеров больше, DMA, вообще удобная периферия. Но 3 вольта. Иногда это и правда очень важно. В целом - значительно лучше 328-ого.

Сложнее только оттого, что опыта больше с 328-ым. Несколько под иным углом смотреть нужно. И "ногодрыг" почти невозможно использовать. Уклон скорее в периферию, нежели в собственно процессор. Если привыкнешь. то в AVR. особенно в таймерах, постоянно будешь чертыхаться от примитивности. ;)

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

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

а два гола назад, младшие серии стоили вообще копейки. 

b707
Offline
Зарегистрирован: 26.05.2017

Ну на самом деле для стм эти 32к флеша и 4к озу - это уровень примерно атмеги168, а не 328 :)
Из-за особенностей архитектуры сходный код занимает на стм32 в 2-3 раза больше места.
Но периферия богаче и писать проще, ассемблер практически не нужен.

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

wdrakula, а что не так с "ногодрыгом" в stm32?

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

b707 пишет:
Ну на самом деле для стм эти 32к флеша и 4к озу - это уровень примерно атмеги168, а не 328 :)
Из-за особенностей архитектуры сходный код занимает на стм32 в 2-3 раза больше места.
Но периферия богаче и писать проще, ассемблер практически не нужен.

Не соглашусь, пишите напрямую через управление регистрами по даташиту и размер кода будет не в разы больше avr

rkit
Offline
Зарегистрирован: 23.11.2016

BOOM пишет:

Так характеристики краше, цена ниже. Вот и в недоумении.

Попробуй еще раз прочитать, что написано.

ssss
Offline
Зарегистрирован: 01.07.2016

BOOM пишет:

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

Да всё норм...

Из-за ковида цены поднялись... теперь стали приходить в норму... даже в местном ларьке... Это его нормальная цена...

ssss
Offline
Зарегистрирован: 01.07.2016

wdrakula пишет:

И "ногодрыг" почти невозможно использовать.

Да можно... просто особого смысла нет...

ssss
Offline
Зарегистрирован: 01.07.2016

b707 пишет:
Из-за особенностей архитектуры сходный код занимает на стм32 в 2-3 раза больше места.

Дануна...

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

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ssss пишет:

wdrakula пишет:

И "ногодрыг" почти невозможно использовать.

Да можно... просто особого смысла нет...

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

rkit
Offline
Зарегистрирован: 23.11.2016

ssss пишет:

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

Инструкции и переменные 32 бита, против 16/8 бит. В каком-то особом случае можно оптимизировать что-то, но один и тот же код будет больше.

ssss
Offline
Зарегистрирован: 01.07.2016

wdrakula пишет:

Ну если в проекте много самостоятельной периферии с DMA и прерываниями, то никаких точных интервалов ты не выставишь в коде NOP-ами - шина занята будет.

Здесь просто другой подход...

Всё что с точностью до тика - на аппаратном уровне... таймера и ДМА... Где допускается +- - на прерывания... если уже таймеров и ДМА не хватает...

ssss
Offline
Зарегистрирован: 01.07.2016

rkit пишет:

Инструкции и переменные 32 бита, против 16/8 бит. В каком-то особом случае можно оптимизировать что-то, но один и тот же код будет больше.

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

На самых простых задачах в несколько строк... конечно Мега будет лидером...

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

rkit пишет:

ssss пишет:

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

Инструкции и переменные 32 бита, против 16/8 бит. В каком-то особом случае можно оптимизировать что-то, но один и тот же код будет больше.

Большая часть инструкций и там, и там - 16 разрядов, меньшая - и там, и там 32 разряда. Данные ВСЕГДА ровно столько, сколько попросишь (выравнивания на 4 байта в stm нет). Ну а по поводу одного и того же кода: сколько места занимает 32-разрядное деление на stm и сколько на avr?

Разница в периферии: с одной стороны ее разнообразие, а с другой - гибкость настройки. Вот за эту гибкость и приходится платить тем, что простейшая программа на avr занимает 300 байт, а на stm - в 50 раз больше. Т.е. очень много памяти расходуем на блок инициализации "железа".

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

andriano пишет:

...простейшая программа на avr занимает 300 байт...

Чего это так много ???

Logik
Offline
Зарегистрирован: 05.08.2014

Так в каждой новой версии ИДЕ подростает. ((( в младших было меньше 300, сейчас уже за 400 даже. Но не в том дело.

Реально тот же код в разы больше места в STM забирает. И в этом нет чудес. Код и железо все байт-ориентированное, а STM 32-разрядный. Нужно тебе с флагом в один бит, чего сделать, но скомпилируется это в 32-битные команды. Из-за разрядности и 4КБ ОЗУ - мизер. Это всего 1К 32-битных слов. Из них половина на стек уйдет. И 48МГц у STM, совсем не много, т.к. команды по много тактов, конвеер малопредсказуемый. В итоге, при обработке данных побайтово и/или побитово ресурсы расходуются намного менее рационально чем на AVR.  Ну а развитая периферия STM - оно хорошо если под задачу подходит. А если нет? Ищи другой. От того у них и зоопарк моделей такой. А те десятки ( а может уже и сотни? - не знаю, давно забил следить) моделей надо изучить и весьма подробно, т.к. у каждой масса "волчих ям", типа на максимальной частоте МК его АЦП может только на пониженной частоте работать, а для работы АЦП на полную нужно понизить частоту МК ))) И даже если найдешь таки кристалл подходящий под задачу - на остальные перебранные ты время потратил в пустую.

Потому и цена такая, что товар - не торт. 

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

Logik пишет:

Так в каждой новой версии ИДЕ подростает. ((( в младших было меньше 300, сейчас уже за 400 даже. Но не в том дело.

Реально тот же код ...

вот думал, кто же должен отметится чтобы тема в очередной холивар скатилась. :)

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Попрошу у Санты - антидепрессанты. :) 

Logik
Offline
Зарегистрирован: 05.08.2014

xDriver пишет:

Logik пишет:

Так в каждой новой версии ИДЕ подростает. ((( в младших было меньше 300, сейчас уже за 400 даже. Но не в том дело.

Реально тот же код ...

вот думал, кто же должен отметится чтобы тема в очередной холивар скатилась. :)

Славно что по сути вопроса не споришь. 

ssss
Offline
Зарегистрирован: 01.07.2016

Logik пишет:

Славно что по сути вопроса не споришь. 

А что зазря спорить... ведь просто херню несёшь...

Тебя послушать... у 32-ух разрядных и будущего нет... ))))))

ssss
Offline
Зарегистрирован: 01.07.2016

andriano пишет:

Вот за эту гибкость и приходится платить тем, что простейшая программа на avr занимает 300 байт, а на stm - в 50 раз больше.

Очень интересно... но мало верится...

Цитата:

Т.е. очень много памяти расходуем на блок инициализации "железа".

Фигня... Инициализируем то, что нужно... а не всё подряд... и один раз... к тому же...

Logik
Offline
Зарегистрирован: 05.08.2014

Сразу видно кому антидепрессанты Санта  в трусы засунул. Теперь мысли многоточиями излагает ;)

ssss
Offline
Зарегистрирован: 01.07.2016

Logik пишет:

Сразу видно

... что ты в школе плохо учился... )))

Мысль тут одна... не стесняйся так своего невежества... оно тебе к лицу... ))))

Ну не срослось у тебя с 32-х битками... ты не единственный... увы...

Кто хочет... тот освоит... Кто не хочет... или не может... или не нужно... ничего страшного... восьмибитки тоже МК... Не все и восьмибитки могут освоить...

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Я, после нашего местного татупеда, троеточие представляю как слова паразиты (если их много и не по делу). Это слова - «эээ», «нууу», «типа», «какбэ» и так далее. И вот читая такую «ахинею» мысль вложенную понять не возможно... (и эти «триточки» как раз в тему).

Logik
Offline
Зарегистрирован: 05.08.2014

так мысли там и нет. троеточия одни. Может он их вместо "бля" лепит? или вместо еще какого слова? Не вместо "stm" конечно. Вместо другого какого ругательного ;) Или просто после праздников рука дрожит. От тогда я его понимаю!