sergvks 0 30 июня, 2021 Опубликовано 30 июня, 2021 · Жалоба Такой вопрос - зачем во всех примерах из sdk разрешается кеширование TCM ? /* Region 5 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(5, 0x00000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_128KB); /* Region 6 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(6, 0x20000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_128KB); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 30 июня, 2021 Опубликовано 30 июня, 2021 · Жалоба Разве TCM кешируется? Камень-то какой? Вообще, в примерах все что угодно могут писать, на то они и примеры. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergvks 0 1 июля, 2021 Опубликовано 1 июля, 2021 · Жалоба Во всех примерах на imxrt10хх так, конкретно этот код для mimxrt1052 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 1 июля, 2021 Опубликовано 1 июля, 2021 · Жалоба Фигню значит пишут в примерах. i.MX RT1050, судя по описанию, имеет контроллер памяти, который может распределять внутреннее ОЗУ как I-TCM, D-TCM, On-chip RAM. Вот в режиме TCM память работает на частоте ядра. Если же память настроена как пользовательская SRAM, то она, естественно, "проброшена" через кэш (2.1.1. FlexRAM memory bank configuration) Цитата NOTE All TCM interfaces run at the same frequency as the Arm® Cortex®-M7 core and are synchronous to each other. The OCRAM controller is connected through the 64-bit AXI bus to one slave port of the interconnect bus fabric (NIC). This slave port frequency is limited. For example, on RT 1050, if the Arm Cortex-M7 core runs at 528 MHz, then the AXI bus connected to the OCRAM controller is limited to 132 MHz. Expect performance degradation in the data access to the OCRAM in comparison to the xTCM memories. The L1 CACHE memory can help with that. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergvks 0 1 июля, 2021 Опубликовано 1 июля, 2021 · Жалоба По этим адресам находится ITCM и DTCM, у OCRAM другой адрес. Так вот не совсем понятно - достаточно ли того что память распределена по адресам ITCM и DTCM чтобы она работала как TCM или для этого нужно ещё что-то проинициализировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 1 июля, 2021 Опубликовано 1 июля, 2021 · Жалоба Думаю вполне достаточно. 52 минуты назад, sergvks сказал: По этим адресам находится ITCM и DTCM, у OCRAM другой адрес. Так вот не совсем понятно - достаточно ли того что память распределена... Только не "распределена по адресам ITCM/DTCM", а настроена как ITCM/DTCM, т.к. судя по описанию, почти любой кусок из 512кБ SRAM можно обозвать ITCM/DTCM/OCRAM, записав нужные регистры FlexRAM-контроллера памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergvks 0 1 июля, 2021 Опубликовано 1 июля, 2021 · Жалоба Если смотреть TCMCR,ВTCMCR и IOMUXC_GPR_GPR16 то биты Enable для TCM установлены, FlexRAM-контроллер тоже проинициализирован и если включен код настройки кеша из первого поста эти области памяти кешируются (видно при работе с DMA). Весь вопрос в чём тайный смысл кешировать то что и так работает на максимальной скорости. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 1 июля, 2021 Опубликовано 1 июля, 2021 · Жалоба 3 минуты назад, sergvks сказал: ...эти области памяти кешируются (видно при работе с DMA). Это Вы как определили то? Цитата Весь вопрос в чём тайный смысл кешировать то что и так работает на максимальной скорости. Вот именно, что его нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 1 июля, 2021 Опубликовано 1 июля, 2021 · Жалоба Из еще одного документа Цитата The i.MXRT series implement a CPU core platform described in Figure 1. The L1 I/D-Cache is embedded in the core platform. The data cache is 4-way set-associative and instruction cache is 2-way set-associative with cache line size of 32 bytes. It connects with the SIM_M7 bus fabric master port by AXI bus. The subsystem of internal/external memory like OCRAM (FlexRAM banks configured as OCRAM), FlexSPI (Serial NOR, NAND Flash and Hyper Flash/RAM etc.) and SEMC (SDRAM, Overview Using the i.MXRT L1 Cache, Application Note, Rev. 1, 12/2017 NXP Semiconductors 3 PNOR Flash, NAND Flash etc.) are connected to the bus fabric slave port. CPU core access the subsystem through this bus fabric by L1 cache. Since the access to the subsystem of those memory can take multiple cycles (especially on the external memory interfaces with multiple wait states), the L1 cache is designed to speed up the read/write operation to the memory. This brings a big performance boost.The I/DTCM (FlexRAM banks configured as TCM) is accessed directly by CPU core, bypass the L1 cache. Therefore, put the critical code and data into the TCM is recommended, like the vector table. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergvks 0 1 июля, 2021 Опубликовано 1 июля, 2021 · Жалоба 3 hours ago, Arlleex said: Это Вы как определили то? Прошу прощения, мой косяк - не туда глядел, реально не кеширует эти области. Спасибо за подсказки! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergvks 0 2 июля, 2021 Опубликовано 2 июля, 2021 · Жалоба Ещё одна деталь - в своих доках они рекомендуют размещать буферы dma в некешируемой части OCRAM, но в usb-шных примерах кладут их в DTCM. Если все буферы dma разместить в DTCM, чем это грозит ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 2 июля, 2021 Опубликовано 2 июля, 2021 · Жалоба Медленной, относительно доступа CPU, работой. Да и время доступа CPU будет недетерминированным. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться