gcc эффективная байт-копия ARM Cortex M4 - PullRequest
0 голосов
/ 03 февраля 2019

Есть ли встроенная функция gcc memcopy, которая специально оптимизирована для архитектуры ARM Cortex M4?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Для больших блоков * стоит посмотреть варианты DMA, широко доступные для микроконтроллеров Cortex-M4.Он эффективен в том смысле, что во время процесса процессор будет свободен.

К сожалению, компилятор GCC Arm Embedded не имеет встроенной поддержки DMA, он будет полагаться на код вашего поставщика полупроводников.

* Поскольку настройка контроллера DMA занимает некоторое время, он может быть неэффективен для небольших блоков.

0 голосов
/ 03 февраля 2019

Да - memcpy.Компиляторы и стандартные библиотеки обычно имеют хорошо оптимизированные версии memcpy для каждой целевой платформы.Это не означает, что вы не можете превзойти скорость memcpy в определенных ситуациях, зная природу данных и их выравнивание, но в целом вы должны доверять авторам стандартной библиотеки, которые сделали хорошую работу.См. этот вопрос и ответы на него.

...