ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
1077103 Топик полностью
LightElf (14.02.2021 14:57, просмотров: 467) ответил Kceния на Речь сейчас о другом - совместимы ли одновременно транзакции, когда DMA обращается к ОЗУ напрямую, а CPU обращается к кешу? Формально это возможно, т.к. кеш находится в другом месте, но сомнительно по причине того, что "адресный коммутатор" у них один и тот же. Или нет?
У STM32F4 (я их лучше всего знаю) ОЗУ разбито на несколько блоков. Например у F407 таких блоков три: CCM, SRAM1, SRAM2. CCM доступен только процессору, потому туда хорошо помещать стеки и всякие переменные. SRAM1 и SRAM2 доступны и процессору и всем DMA-способным устройствам (DMA, Ethernet, USB). Если обращения нескольких из этих устройств одновременно попадают в один блок - то осуществляется арбитраж. Подробного описания арбитража не видел, но скорее всего round robin. 

Обращения в разные блоки SRAM друг другу вроде бы не мешают.

Не надо делать мне как лучше, оставьте просто хорошо