-
- Это полный барьер памяти типа SC, его бездумное использование
вызовет просадку производительности. Корректное решение - выделить
через MPU отдельный некешируемый регион под буферы DMA. - evgeniy1294(17.02.2021 10:46)
- Не всегда это удобно, да еще потом эти буфера могут еще по
программе гулять и обрабатываться. А просадки я не заметил, выводил
на пины в контрольных точках и значимых изменений длительностей не
заметил. - Andreas(17.02.2021 11:12)
- При работе с GUI и сетью будет заметно - evgeniy1294(17.02.2021 11:15)
- SCB_InvalidateDCache_by_Addr на 16кб заняло 10мкс на 480МГц,
сначала показалось меньше. Но я читаю СД карту, а там задержки по
150..300мкс до начала чтения блока. И деваться мне некуда, оська с
только динамическим распределением памяти и чтобы использовать
заданный регион, надо ОЧЕНЬ много переписывать и некрасиво логику
работы менять. - Andreas(17.02.2021 11:45)
- Понятно, что нужно изходить из особенностей окружения, и переписывать уж точно ничего не надо. Работет - не трогай. - evgeniy1294(17.02.2021 11:49)
- С другой стороны, пишут что при двойной буферизации изображения с инвалидацией работает быстрее - evgeniy1294(17.02.2021 11:23, ссылка, ссылка)
- SCB_InvalidateDCache_by_Addr на 16кб заняло 10мкс на 480МГц,
сначала показалось меньше. Но я читаю СД карту, а там задержки по
150..300мкс до начала чтения блока. И деваться мне некуда, оська с
только динамическим распределением памяти и чтобы использовать
заданный регион, надо ОЧЕНЬ много переписывать и некрасиво логику
работы менять. - Andreas(17.02.2021 11:45)
- При работе с GUI и сетью будет заметно - evgeniy1294(17.02.2021 11:15)
- Не всегда это удобно, да еще потом эти буфера могут еще по
программе гулять и обрабатываться. А просадки я не заметил, выводил
на пины в контрольных точках и значимых изменений длительностей не
заметил. - Andreas(17.02.2021 11:12)
- Я таких и команд не знаю :), на CubeMX пока тренируюсь. - Kceния(14.02.2021 18:46)
- Хоть не на кошках ) Это из стандартного CMSIS core_cm7.h - Andreas(14.02.2021 18:56, ссылка)
- Вот не надо Ксении такое давать. Результатом будет перманентно сброшенный кэш и куча тем "ваш stm32 тормозит". - evgeniy1294(17.02.2021 10:53)
- Хоть не на кошках ) Это из стандартного CMSIS core_cm7.h - Andreas(14.02.2021 18:56, ссылка)
- Это полный барьер памяти типа SC, его бездумное использование
вызовет просадку производительности. Корректное решение - выделить
через MPU отдельный некешируемый регион под буферы DMA. - evgeniy1294(17.02.2021 10:46)