Перейти к содержанию
    

STM32F7+FreeRTOS+LVGL+HAL

Зравствуйте!

Скрестил FreeRTOS, графическую либу LVGL и HAL (его использует пока только LVGL) на  STM32f746 disco.

Заметил следующее:

1) Если не вызывать диспетчер задач и поместить функцию lv_event_handler в бесконечный цикл, не включать DCache и ICache, то производительность одна. Если включить последние 2, то ожидаемо производительность  возрастает в разы.

2) Если тотже цикл с вызвовом lv_event_handler поместить в таск и запустить диспетчер задач, то независимо от того включены ли кэши производительность низкая как при выключенных кэшах

Пробовал различные комбинации размещения кучи  LVGL и FreeRTOS : внутренняя память и внешняя. Драйвер дисплея (от LVGL) использует DMA с буфером во внешнем ОЗУ, работает на прерываниях. Дополнительно с помощью MPU отметил область буфера для  DMA как некэшируемую. Один фиг!

Еще пробовал разносить xPortSysTickHandler и Hal_IncTick на разные таймеры. Также пробовал lv_tick_inc помещать в отдельную задачу с задержкой. Вобщем, ничего не помогает -- тупо тормозит причем на простом GUI.

В чем может быть причина?

Правильно ли я понимаю, что причина может быть в том, что при переключении задач FreeRTOS инвалидирует кэш?

 

Изменено пользователем Mar_K

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17.05.2021 в 17:26, Mar_K сказал:

Правильно ли я понимаю, что причина может быть в том, что при переключении задач FreeRTOS инвалидирует кэш?

Зачем ей это??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...