Определение загруженности ядра STM32
Определение загруженности ядра STM32
Доброе утро. У меня возник вопрос, как же собственно оценить загруженность ядра STM32. Вот я к примеру подключил TFT дисплей через LTDC + DMA2D + SDRAM. По идеи, процессорное время не тратится при использовании DMA2D. мне бы хотелось узнать, как определить сколько процентов мощности уходит на данную связку
- Реклама
-
DanilinS
- Родился
- Сообщения: 14
- Зарегистрирован: Сб июн 27, 2015 20:32:23
- Откуда: Дзержинск Нижегородской обл.
Re: Определение загруженности ядра STM32
Это сложно. В общем виде - 100%. Т.е. твоя программа использует 100% процессорного времени. А уж на что она использует ...
Re: Определение загруженности ядра STM32
Нет, ну с использованием DMA2D ядро в момент вывода изображения на экран должно быть свободно. Занята только Шина!
- B@R5uk
- Собутыльник Кота
- Сообщения: 2896
- Зарегистрирован: Сб ноя 13, 2010 12:53:25
- Откуда: приходит весна?
Re: Определение загруженности ядра STM32
А чем занято ядро, когда оно ничем не занято? Можете показать этот участок кода?
Re: Определение загруженности ядра STM32
В данный момент я просто один раз агружаю картинку в SDRAM и все. после этого вижу ее на экране TFT без контроллера и видео памяти. и мне интересно сколько процентов тратиться на этот процесс
- Реклама
-
DanilinS
- Родился
- Сообщения: 14
- Зарегистрирован: Сб июн 27, 2015 20:32:23
- Откуда: Дзержинск Нижегородской обл.
Re: Определение загруженности ядра STM32
Смотри. У тебя есть инициализация периферии и основной цикл while(1){ ... }.
Если ты сразу настроил выдачу картинки из памяти на экран через DMA - в цикле крутится пустышки.
Так что загрузка процессора - 100%. Правда полезной работы он не совершает. Тупо крутится в пустом цикле.
Ресурсов процессора (вычислительного ядра) на DMA не тратится. Тратится полоса пропускания шин.
Если конечно на кристалле не крутится ОС реального времени.
Если ты сразу настроил выдачу картинки из памяти на экран через DMA - в цикле крутится пустышки.
Так что загрузка процессора - 100%. Правда полезной работы он не совершает. Тупо крутится в пустом цикле.
Ресурсов процессора (вычислительного ядра) на DMA не тратится. Тратится полоса пропускания шин.
Если конечно на кристалле не крутится ОС реального времени.
- КРАМ
- Друг Кота
- Сообщения: 25300
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Определение загруженности ядра STM32
А пустой цикл не загружает ядро?DanilinS писал(а):Если конечно на кристалле не крутится ОС реального времени.
Контроллер не может простаивать иначе, чем в слипе или иных подобных режимах.
Не путайте загрузку и свободные вычислительные ресурсы. Вы можете заменить пустой цикл на полезный для Вас код, но вычислить эти ресурсы может только тот, кто написал этот код. Потому что только он знает ВРЕМЕННУЮ ДИАГРАММУ кода.
ЗЫ. На ДМА ресурсы ядра таки тратятся. ДМА нужно запустить, а в определенных конфигурациях ПЕРЕзапускать циклически.
-
DanilinS
- Родился
- Сообщения: 14
- Зарегистрирован: Сб июн 27, 2015 20:32:23
- Откуда: Дзержинск Нижегородской обл.
Re: Определение загруженности ядра STM32
В общем случае - да. Просто автор топика дал очень размытый вопрос.
- Cat
- Электрический кот
- Сообщения: 1087
- Зарегистрирован: Вт май 05, 2009 10:43:42
- Откуда: Россия
- Контактная информация:
Re: Определение загруженности ядра STM32
А код я вам нипакажу, он секретный-секретный, коммерческий-коммерческий.
Пора открывать ветку для нострадамусов и скидывать подобные темы туда, дабы спокойно там погадать на магическом шаре.
Если по теме, то вот вам такой же развернутый как и вопрос, ответ: CCSTEP
Если по теме, то вот вам такой же развернутый как и вопрос, ответ: CCSTEP
Боевой ватник.
- Neekeetos
- Держит паяльник хвостом
- Сообщения: 993
- Зарегистрирован: Пн сен 18, 2006 11:16:05
- Откуда: Тула
- Контактная информация:
Re: Определение загруженности ядра STM32
Берешь, учишься использовать DWT в частности счетчик тактов ядра. Далее запускаешь без дма то, что ты там обычно считаешь, и запоминаешь сколько тактов уходит на это, затем включаешь дма и запускаешь тоже самое. Разница в тактах выполнения и будет та доля тактов которую отжирает дма. Но это все сильно зависит от алгоритма, что дма точно делает так это ест полосу памяти , если память используется активно, то у процессора образуются циклы ожидания на ее (памяти) шине и программа начинает тормозить.ImScout писал(а):По идеи, процессорное время не тратится при использовании DMA2D. мне бы хотелось узнать, как определить сколько процентов мощности уходит на данную связку
Информация по RLC mini находится >тут<


