STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: STM32 новичку в ARM что к чему

Сообщение jcxz »

[uquote="bob1",url="/forum/viewtopic.php?p=4745220#p4745220"]Команда LDR R0,[R1, #+0]; лежит уже в конвейере. До нее и после команд чтения и записи нет. За сколько тактов должна обработаться? За 2 или 3? процессор STM32G431.[/uquote]Почему 2/3? LDR выполняется за 2 такта. Но за счёт спаривания, один такт может быть поглощён предыдущей командой.
Раз не с кем спариваться, то в вашем случае на CM4 должно быть 2 такта.

PS: Но вообще (раз пошла пьянка борьба за такты), то может пора уже на асм переползать? 8)
Какими бы ни были умными си-компиляторы, но до мозгов кожаных мешков им пока ещё далеко.
Хотя конечно - не про всех кожаных мешков речь... :wink:

Добавлено after 10 minutes 47 seconds:
[uquote="tonyk",url="/forum/viewtopic.php?p=4745253#p4745253"]А вот для выполнения расчётов выводил ядро на максимальные 12МГц (мегагерц). В МК на ARM очень гибкая система тактирования, позволяющая управлять частотой не только процессора, но и шин, и периферии. Если занимаетесь портативной техникой, то без этого никак не обойтись.[/uquote]Только не так просто это делать, когда работает много периферии (а не только одно ядро). Разве, что делителем перед ядром можно порулить. (не знаю - есть ли в STM32G431 такой делитель, но во многих МК есть); оставляя частоту шин = const.
Но вот только - каков будет эффект, если менять только частоту ядра, не меняя частот шин и прочего? заметный или ...?

И 2-й момент: Снижать потребление ядра можно 2-мя альтернативными путями: 1) понижением частоты; 2) оставляем частоту ядра прежней, но утилизируем неиспользуемые такты при помощи WFE или WFI.
Какой способ даст бОльший выигрыш в мкА? Вопрос... :dont_know:
А экономить при помощи WFE/WFI - проще. имхо.
Реклама
tonyk
Это не хвост, это антенна
Сообщения: 1309
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Re: STM32 новичку в ARM что к чему

Сообщение tonyk »

jcxz писал(а):каков будет эффект, если менять только частоту ядра, не меняя частот шин и прочего? заметный или ...?
Куб даёт оценку энергопотребления МК. Попробовать изменять частоты в проекте и посмотреть на оценку Куба.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение ARV »

Я, конечно, не сильно понимаю в ARM, но сдается мне, что DDS-синтез - самое то для DMA, а не для цикла.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Re: STM32 новичку в ARM что к чему

Сообщение Sergi »

Да, если подготовить в памяти массив и выводить с определенной скоростью. А так аккумулятор фазы требует сложения и сдвига. В прерывании проще поднять приоритет, хотя при наложении появится небольшой джиттер.
Реклама
Эиком - электронные компоненты и радиодетали
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: STM32 новичку в ARM что к чему

Сообщение jcxz »

[uquote="tonyk",url="/forum/viewtopic.php?p=4745328#p4745328"]Куб даёт оценку энергопотребления МК. Попробовать изменять частоты в проекте и посмотреть на оценку Куба.[/uquote]Кубами не пользуюсь.
Да и в любом случае - правильный путь оценки потребления: МУЛЬТИМЕТР. А не виртуальные попугаи.
Реклама
tonyk
Это не хвост, это антенна
Сообщения: 1309
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Re: STM32 новичку в ARM что к чему

Сообщение tonyk »

jcxz писал(а):Кубами не пользуюсь.
Я тоже не пользуюсь,но знаю, что там это есть.
jcxz писал(а):правильный путь оценки потребления: МУЛЬТИМЕТР. А не виртуальные попугаи.
Оценки или измерения? Мультиметром измеряют, а оценивают по данным потребления периферии, которые STM приводит в своей документации.
Реклама
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: STM32 новичку в ARM что к чему

Сообщение jcxz »

[uquote="tonyk",url="/forum/viewtopic.php?p=4745427#p4745427"]а оценивают по данным потребления периферии которые STM приводит в своей документации.[/uquote]Реальная программа, с функцией энергосбережения, включает периферию только на необходимое время. Получается = включение/выключение тактирования может изменяться по весьма непредсказуемому закону. И довольно часто. И так - различной периферии. С наложением по времени включений/выключений разной периферии.
Как оценить потребление "по документации" в таких условиях?
tonyk
Это не хвост, это антенна
Сообщения: 1309
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Re: STM32 новичку в ARM что к чему

Сообщение tonyk »

jcxz писал(а):Как оценить потребление "по документации" в таких условиях?
Документация даёт оценку сверху потреблению МК. При случайном характере мощности потребления даже амперметр вам не даст ответа. Ответ даст только испытания в условиях, максимально приближенных к условиям эксплуатации.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: STM32 новичку в ARM что к чему

Сообщение jcxz »

[uquote="tonyk",url="/forum/viewtopic.php?p=4745688#p4745688"]При случайном характере мощности потребления даже амперметр вам не даст ответа.[/uquote]Почему не даст? Конденсатор большой ёмкости и включаемся в цепь между источником и конденсатором (до нагрузки).
Либо - амперметр, измеряющий с большой частотой сэмплирования (с накоплением/усреднением).
А лучше: 1-е + 2-е.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

Пересадил на копеешную отладку STM32F030F6P6 более резвый чип Artery AT32F421F8P7:

Изображение

по ногам совместим, по коду почти совместим, по деньгам примерно то же самое. жира кратно больше. делаем жизнь разнообразнее.
Вложения
devb21.jpg
(112.2 КБ) 499 скачиваний
Аватара пользователя
linux_rulezz
Вымогатель припоя
Сообщения: 608
Зарегистрирован: Пн сен 15, 2025 08:43:23
Откуда: Маленький СССР посреди шариатской республики

Re: STM32 новичку в ARM что к чему

Сообщение linux_rulezz »

[uquote="a5021",url="/forum/viewtopic.php?p=4747373#p4747373"]Artery AT32F421F8P7[/uquote]
Странно китайцы с названиями заморачиваются. Получается, "421" у них - тоже Cortex-M0?
Windows must die!
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

не, там 120мгц Cortex-M4, но они почти добились совместимости.
Аватара пользователя
JackSmith
Потрогал лапой паяльник
Сообщения: 332
Зарегистрирован: Ср мар 09, 2016 08:07:41

Re: STM32 новичку в ARM что к чему

Сообщение JackSmith »

Здесь https://gcmatrix.com/articles/mikrokont ... echnology/ есть таблицы совместимости микроконтроллеров Artery с аналогами. В частности для 421-й серии:
Изображение
Аватара пользователя
linux_rulezz
Вымогатель припоя
Сообщения: 608
Зарегистрирован: Пн сен 15, 2025 08:43:23
Откуда: Маленький СССР посреди шариатской республики

Re: STM32 новичку в ARM что к чему

Сообщение linux_rulezz »

JackSmith, прямо-таки полные аналоги? Т.е. код один-в-один (за исключением, понятное дело, настроек тактирования) можно перенести?
Просто была у меня как-то "синяя таблетка" с CS32 вместо STM32. st-flash не распознал ее ID и послал лесом. Ну, я просто сдул феном эту дрянь, выбросил в мусорку, а вместо нее STM32F103C4T6 припаял.
Windows must die!
veso74
Поставщик валерьянки для Кота
Сообщения: 1906
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение veso74 »

APM32, GD32 есть в Keil. То-то изменено, то-то изменено (имена регистров и функций) и то-то отсутствует, но в приложениях ведут себя нормально. При выборе подходящей MK с DAP-Link, SEGGER обычно программируются из программы. APM32 напр. 100% совместим код (после компиляции), работает в обоих направлениях APM32 -> STM32 и STM32 -> APM32 (входы, выходы, таймеры, прерывания и т. д.). AT32 тоже есть. Спасибо за идею, попробуем.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Аlex »

a5021 писал(а):AT32F421F8P7
Он даже в ЧипеДрипе всего 65 р. стоит :shock:
Ему бы USB на борт - было бы вообще кошерно 8)
Аватара пользователя
linux_rulezz
Вымогатель припоя
Сообщения: 608
Зарегистрирован: Пн сен 15, 2025 08:43:23
Откуда: Маленький СССР посреди шариатской республики

Re: STM32 новичку в ARM что к чему

Сообщение linux_rulezz »

[uquote="Аlex",url="/forum/viewtopic.php?p=4747487#p4747487"]Ему бы USB на борт - было бы вообще кошерно 8)[/uquote]
Я вот долго искал дешевые МК с CAN на борту. Оказывается, дешевле 40-рублевых STM32F103C6T6 (как ни странно, C4T6 - дороже!) нет. Но вот там проблема: USB и CAN одновременно не работают, поэтому туда, где они вместе нужны, приходится или F0x2 брать, или вообще F303…
Windows must die!
Аватара пользователя
JackSmith
Потрогал лапой паяльник
Сообщения: 332
Зарегистрирован: Ср мар 09, 2016 08:07:41

Re: STM32 новичку в ARM что к чему

Сообщение JackSmith »

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4747420#p4747420"]JackSmith, прямо-таки полные аналоги? Т.е. код один-в-один (за исключением, понятное дело, настроек тактирования) можно перенести?[/uquote]
нет конечно. ядра разные, флеш другой. про аналоги могу только сказать про stm32f103 и at32f403/at32f403A. там да, можно прошить пример с UART и настроеной системй тактирования от stm32f103 в at32f403(a) и это будет работать. но когда я взял пример с софтовым SPI, диаграмы на логическом анализаторе были разные. в at32f403А GPIO подключены к AHB, а регистры остались как на stm32f103.
Аватара пользователя
HardWareMan
Мучитель микросхем
Сообщения: 431
Зарегистрирован: Ср сен 02, 2015 07:47:20

Re: STM32 новичку в ARM что к чему

Сообщение HardWareMan »

JackSmith, у "аналогов" ещё же флэшка часто внешняя по отношению к кристаллу. Прямо бутерброд QSPI снаружи прилеплен. А на кристалле есть небольшой буфер ОЗУ, куда помещаются вектора и небольшие ISR. Там тайминги выполнения часто сильно разнятся, хотя частоты заявлены такие же или быстрее. На электрониксе вроде есть тема конкретного сравнения "аналогов" на практике с верификацией годности. А вот статья на хабре.
Изображение
Вложения
8ee7bdf38e9defa1cc8d94cd642117cf.jpg
(49.82 КБ) 335 скачиваний
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 22 апреля 2026 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.
/!\ Обновлений для STM32PowerMon и STM32PowerMon-UCPD временно не будет.
Аватара пользователя
Zikon
Встал на лапы
Сообщения: 92
Зарегистрирован: Вт фев 28, 2017 08:13:31
Откуда: Свердловская обл.

Re: STM32 новичку в ARM что к чему

Сообщение Zikon »

[uquote="Аlex",url="/forum/viewtopic.php?p=4747487#p4747487"]
a5021 писал(а):AT32F421F8P7
Он даже в ЧипеДрипе всего 65 р. стоит :shock:
Ему бы USB на борт - было бы вообще кошерно 8)[/uquote]

с USB и CAN

AT32F425F8P7 !!!! pin2pin
(только 96 МГц )

Есть ещё N32G430F8S7 только с CAN без USB тоже pin2pin
(но 128 МГц и Cortex-M4F ) FPU !!!
Последний раз редактировалось Zikon Пн сен 22, 2025 12:42:35, всего редактировалось 2 раза.
Ответить

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