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

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

Сообщение 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 - проще. имхо.
Реклама
Это не хвост, это антенна
Сообщения: 1337
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Сообщение tonyk »

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

Сообщение ARV »

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

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

Сообщение Sergi »

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

Сообщение jcxz »

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

Сообщение tonyk »

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

Сообщение jcxz »

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

Сообщение tonyk »

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

Сообщение jcxz »

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

Сообщение a5021 »

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

Изображение

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

Сообщение linux_rulezz »

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

Сообщение a5021 »

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

Сообщение JackSmith »

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

Сообщение linux_rulezz »

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

Сообщение veso74 »

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

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

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

Сообщение 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!
Контактная информация:
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 343
Зарегистрирован: Ср мар 09, 2016 08:07:41

Сообщение 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.
Мучитель микросхем
Сообщения: 439
Зарегистрирован: Ср сен 02, 2015 07:47:20

Сообщение HardWareMan »

JackSmith, у "аналогов" ещё же флэшка часто внешняя по отношению к кристаллу. Прямо бутерброд QSPI снаружи прилеплен. А на кристалле есть небольшой буфер ОЗУ, куда помещаются вектора и небольшие ISR. Там тайминги выполнения часто сильно разнятся, хотя частоты заявлены такие же или быстрее. На электрониксе вроде есть тема конкретного сравнения "аналогов" на практике с верификацией годности. А вот статья на хабре.
Изображение
Вложения
8ee7bdf38e9defa1cc8d94cd642117cf.jpg
(49.82 КБ) 343 скачивания
Встал на лапы
Аватара пользователя
Сообщения: 103
Зарегистрирован: Вт фев 28, 2017 08:13:31
Откуда: Свердловская обл.

Сообщение 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»