Микроконтроллеры STM32 - тонкости работы, отладочные платы

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Мурик »

КОМПЭЛ писал(а):Самое первое семейство STM32F1 появилось больше десяти лет назад и имело пиковую производительность 61 DMIPS при максимальной рабочей частоте 72 МГц.
Производитель МК с вами не согласен.
СпойлерИзображение
При частоте 72 МГц и производительности 1.25 DMIPS/МГц, производительность не 61, а 72 * 1.25 = 90 DMIPS.
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Reflector »

При частоте 72 МГц и производительности 1.25 DMIPS/МГц, производительность не 61, а 72 * 1.25 = 90 DMIPS.

1.25 DMIPS/MHz при 0WS, а для 72 MHz будет 2WS.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Мурик »

В STM32F4 производительность 210 DMIPS при 168 МГц и при этом латентность памяти не 0WS, а 5WS.
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Reflector »

В STM32F4 производительность 210 DMIPS при 168 МГц и при этом латентность памяти не 0WS, а 5WS.

У F4 есть ART Accelerator, а у F3, например, есть CCM RAM из которой можно выполнять код без задержек. Везде производительность будет считаться по-разному.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3780
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Ser60 »

Несколько слов по новому семейству STM32G0. Оно разработано как промежуточное между STM32F0 и STM32L0 с заимствованием архитектурных идей семейства L0 в плане снижения токопотребления. К отличительным особенностям семейства относятся эффективность, простота, и надёжность. Вот пара картинок с недавнего семинара по ним, отражающих лишь некоторые отличия от семейства F0:
Изображение Изображение
Контроллеры тактируются на частотах до 64 мгц с несколько упрощённым деревом тактирования, число циклов ожидания флеш равно 0 до частоты 24 мгц, 1 - до 48 мгц, и 2 - выше. Использование кэша несколько улучшает общую картину производительности, доводя её до 59 DMIPS и 142.88 CoreMark отметок. Семейство планируется к выпуску в корпусах от 8 до 100 пин. На сегодня доступны модели с минимальным числом выводов корпуса 28, но к концу года планируется выпустить модели с 8 и 20 выводами.
Изображение
Интересно отметить, что модели в 64-выводных корпусах и ниже имеют всего 2 вывода для подключения питания, что благоприятно сказывается на простоте изготовления PCB. Так, по сравнению с F071 модель G071 в 64-выводном корпусе имеет на 9 больше выводов GPIO. Выдержана совместимость по выводам с семейством F0. Также отмечу, что в моделях семейства имеются до 2-х таймеров, способных работать до удвоенной частоты тактирования ядра, т.е. до 128 мгц, до 12 каналов DMA, и быстрые 12-битные ADC с продуктивностью до 2.5 MSPS. Вот более полный обзор характеристик семейства:
Изображение
Из отладочных плат сегодня доступна плата формата Nucleo-64 а также Discovery, обе на основе STM32G071 в 64-выводном корпусе.
Изображение Изображение
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение oleg110592 »

модели в 64-выводных корпусах и ниже имеют всего 2 вывода для подключения питания

в мелких корпусах тоже
Изображение
почитать подробнее о G0 в журнале
https://www.compel.ru/lib/ne/2019/3/2-n ... -cortex-m0
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3780
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Ser60 »

Спасибо за ссылку, Олег. Знал-бы что есть такая публикация, не писал-бы сюда. Я вот тут ещё немного про STM32WB написал, может тоже зря :roll:
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение oleg110592 »

вовсе не зря - думаю малая часть участников форума бывает на семинарах ST и прочих. Вы Ser60 чаще по долгу службы посещаете микроконтроллерные семинары - информируйте пожалуйста, интересно (imho).
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Мурик »

КОМПЭЛ писал(а):Ознакомиться с особенностями микропроцессора STM32MP1
На сайте кое что непонятно.
внешняя DDR-память: до 1 Гбайт;
кэш инструкций: 32 кбайт;
кэш данных: 32 кбайт;
кэш второго уровня: 256 кбайт;
внешняя SDRAM-память: до 8 Гбайт;
Написано что "DDR-память: до 1 Гбайт" но при этом "SDRAM-память: до 8 Гбайт".
Только DDR-память это SDRAM память. https://ru.wikipedia.org/wiki/DDR_SDRAM
Аватара пользователя
smalcom
Встал на лапы
Сообщения: 128
Зарегистрирован: Пн фев 08, 2016 10:57:14

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение smalcom »

Наверное в Компэл ошиблись. Потому что на сайте ST такого нет.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Мурик »

КОМПЭЛ писал(а):Обладая набором инструментов информационной безопасности, микроконтроллеры STM32G0 производства STMicroelectronics способны обеспечить полную безопасность разрабатываемого устройства.
В сообщении не указано каким образом достигается безопасность устройства. Без этой информации мало что понятно.

КОМПЭЛ писал(а):Удачно объединив невысокую цену, энергоэффективность и расширенный арсенал встроенных аппаратных инструментов, отвечающих за безопасность, STM32G0 на базе ядра ARM Cortex-M0+ может стать основой системы, которая не только удовлетворит растущие запросы к производительности и экономии энергии, но и будет максимально защищенной без чрезмерных сложностей в разработке и сопровождении.
Опять же совершенно непонятно каким образом достигается безопасность.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3780
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Ser60 »

Не могу посмотреть видеозапись вебинара в режиме полного экрана. Нажатие на квадрат в правой нижней части окна говорит, что функция полного экрана на этом видео заблокирована. Это проблема моего компа или у всех так? Если последнее, может-ли КОМПЭЛ это исправить? Иначе трудно разобрать манипуляции лектора с кодом, даже если смотреть в формате HD 1080p.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3780
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Ser60 »

Отлично, спасибо! У меня как раз остался такой Кит после воркшопа ST этой осенью, хотел освежить.
kurator
Родился
Сообщения: 15
Зарегистрирован: Пт окт 29, 2010 15:26:32

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение kurator »

Я уже начал задумываться о бубне и веточке с тряпочками в решении проблемы.
Написал программу на ассемблере для STM32F103C8T6 с выводом на I2C2 в IAR. Программа с ожиданием признаков I2C2 работает без проблем. Когда перешел на прерывания от I2C2, программа при входе в прерывания стала выскакивать в HardFault_Handler. Перекомпилировал в Keil, переходил на I2C1, пробовал еще на двух экземплярах микросхем – тот же результат. При расследовании кой-что накопал:

HardFault_Handler
NOP
NOP
LDR R8,=CFSR
LDR R9,[R8] ;Чтение MMFSR
LDR R10,[R8,#4] ;Чтение HFSR
LDR R11,[R8,#8] ;Чтение DFSR
LDR R12,[R8,#20] ;Чтение AFSR
BKPT #2
B main_end
Изображение

HardFault_Handler
NOP
POP {R0-R7}
LDR R8,=CFSR
LDR R9,[R8] ;Чтение MMFSR
LDR R10,[R8,#4] ;Чтение HFSR
LDR R11,[R8,#8] ;Чтение DFSR
LDR R12,[R8,#20] ;Чтение AFSR
BKPT #2
B main_end
Изображение

POP {R0-R7}
POP {R0-R7}
LDR R8,=CFSR
LDR R9,[R8] ;Чтение MMFSR
LDR R10,[R8,#4] ;Чтение HFSR
LDR R11,[R8,#8] ;Чтение DFSR
LDR R12,[R8,#20] ;Чтение AFSR
BKPT #2
B main_end
Изображение

0x8000031 – адрес Reset_Handler
0x20000400 - начальный стек
0x800014a – адрес возврата из прерывания

HFSR = 40000000: FORCED - 1. Попытка выполнить команду SVC/BKPT из обработчика SVCall/Debug monitor или из обработчика другого исключения с таким же или более высоким приоритетом.
2. Отказ произошёл из-за того, что соответствующий обработчик запрещён или не может быть запущен по причине маскирования исключения или же выполнения
обработчика другого исключения с таким же или более высоким приоритетом.

Дальше я в тупике, может у кого есть идеи.
Последний раз редактировалось kurator Вт фев 04, 2020 08:36:58, всего редактировалось 1 раз.
Chettuser

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Chettuser »

Сниппетсами на CMSIS для G0/G4 серии никто не богат?
Что там наворочено в недрах HAL/LL разбираться уже не хочется. И так сижу сутки, пытаюсь помигать LD4 на Nucleo-G071RB используя CMSIS? застрял на GPIOA->MODER |= 0x400; - эта конструкция тупо не работает, MODER бит 11 в отладчике не меняется, светодиод не мигает. В функции LL_GPIO_SetPinMode(LED4_GPIO_PORT, LED4_PIN, LL_GPIO_MODE_OUTPUT); такого наворочено что туда уже и смотреть не могу!
Спасибо!
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение VladislavS »

застрял на GPIOA->MODER |= 0x400; - эта конструкция тупо не работает, MODER бит 11 в отладчике не меняется, светодиод не мигает.
Надо включить тактирование порта GPIOA.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение VladislavS »

Тогда посмотреть в RM начальное состояние MODER и наложить на него |= 0x400.
Chettuser

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Chettuser »

0xEBFFFFFF - это биты 13 и 14 портов отладчика. Накладывал - не работает.
Я не понимаю - почему не работает простая конструкция |=0x400; ?
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение VladislavS »

Как бы это помягче сказать то... Изучите что делает оператор "|=".
Ответить

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