Определение загруженности ядра STM32

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
ImScout
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Вт июн 23, 2015 18:05:12

Определение загруженности ядра STM32

Сообщение ImScout »

Доброе утро. У меня возник вопрос, как же собственно оценить загруженность ядра STM32. Вот я к примеру подключил TFT дисплей через LTDC + DMA2D + SDRAM. По идеи, процессорное время не тратится при использовании DMA2D. мне бы хотелось узнать, как определить сколько процентов мощности уходит на данную связку
Реклама
DanilinS
Родился
Сообщения: 14
Зарегистрирован: Сб июн 27, 2015 20:32:23
Откуда: Дзержинск Нижегородской обл.

Re: Определение загруженности ядра STM32

Сообщение DanilinS »

Это сложно. В общем виде - 100%. Т.е. твоя программа использует 100% процессорного времени. А уж на что она использует ...
Реклама
ImScout
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Вт июн 23, 2015 18:05:12

Re: Определение загруженности ядра STM32

Сообщение ImScout »

Нет, ну с использованием DMA2D ядро в момент вывода изображения на экран должно быть свободно. Занята только Шина!
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Определение загруженности ядра STM32

Сообщение B@R5uk »

А чем занято ядро, когда оно ничем не занято? Можете показать этот участок кода?
Реклама
Эиком - электронные компоненты и радиодетали
ImScout
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Вт июн 23, 2015 18:05:12

Re: Определение загруженности ядра STM32

Сообщение ImScout »

В данный момент я просто один раз агружаю картинку в SDRAM и все. после этого вижу ее на экране TFT без контроллера и видео памяти. и мне интересно сколько процентов тратиться на этот процесс
Реклама
DanilinS
Родился
Сообщения: 14
Зарегистрирован: Сб июн 27, 2015 20:32:23
Откуда: Дзержинск Нижегородской обл.

Re: Определение загруженности ядра STM32

Сообщение DanilinS »

Смотри. У тебя есть инициализация периферии и основной цикл while(1){ ... }.
Если ты сразу настроил выдачу картинки из памяти на экран через DMA - в цикле крутится пустышки.
Так что загрузка процессора - 100%. Правда полезной работы он не совершает. Тупо крутится в пустом цикле.

Ресурсов процессора (вычислительного ядра) на DMA не тратится. Тратится полоса пропускания шин.

Если конечно на кристалле не крутится ОС реального времени.
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25295
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Определение загруженности ядра STM32

Сообщение КРАМ »

DanilinS писал(а):Если конечно на кристалле не крутится ОС реального времени.
А пустой цикл не загружает ядро?
:))) :))) :)))
Контроллер не может простаивать иначе, чем в слипе или иных подобных режимах.
Не путайте загрузку и свободные вычислительные ресурсы. Вы можете заменить пустой цикл на полезный для Вас код, но вычислить эти ресурсы может только тот, кто написал этот код. Потому что только он знает ВРЕМЕННУЮ ДИАГРАММУ кода.
ЗЫ. На ДМА ресурсы ядра таки тратятся. ДМА нужно запустить, а в определенных конфигурациях ПЕРЕзапускать циклически.
DanilinS
Родился
Сообщения: 14
Зарегистрирован: Сб июн 27, 2015 20:32:23
Откуда: Дзержинск Нижегородской обл.

Re: Определение загруженности ядра STM32

Сообщение DanilinS »

В общем случае - да. Просто автор топика дал очень размытый вопрос.
Аватара пользователя
Cat
Электрический кот
Сообщения: 1087
Зарегистрирован: Вт май 05, 2009 10:43:42
Откуда: Россия
Контактная информация:

Re: Определение загруженности ядра STM32

Сообщение Cat »

А код я вам нипакажу, он секретный-секретный, коммерческий-коммерческий. :)) Пора открывать ветку для нострадамусов и скидывать подобные темы туда, дабы спокойно там погадать на магическом шаре.

Если по теме, то вот вам такой же развернутый как и вопрос, ответ: CCSTEP
Боевой ватник.
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Re: Определение загруженности ядра STM32

Сообщение Neekeetos »

ImScout писал(а):По идеи, процессорное время не тратится при использовании DMA2D. мне бы хотелось узнать, как определить сколько процентов мощности уходит на данную связку
Берешь, учишься использовать DWT в частности счетчик тактов ядра. Далее запускаешь без дма то, что ты там обычно считаешь, и запоминаешь сколько тактов уходит на это, затем включаешь дма и запускаешь тоже самое. Разница в тактах выполнения и будет та доля тактов которую отжирает дма. Но это все сильно зависит от алгоритма, что дма точно делает так это ест полосу памяти , если память используется активно, то у процессора образуются циклы ожидания на ее (памяти) шине и программа начинает тормозить.
Информация по RLC mini находится >тут<
Ответить

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