Memory region Used Size Region Size %age Used
SDRAM: 0 GB 32 MB 0.00%
FLASH: 1084268 B 4 MB 25.85%
RAM: 147200 B 640 KB 22.46%
ITCM: 0 GB 32 KB 0.00%
DTCM: 345984 B 352 KB 95.99%
OCRAM: 0 GB 128 KB 0.00%
OCRAM2: 0 GB 512 KB 0.00%
IDT_LIST: 0 GB 32 KB 0.00%
Конфигурация следующая: FlexRam(512k) - 16 блоков по 32K:
1) 1 блок ITCM(это обязательно - т.к. пустой блок делать нельзя) - 32K
2) 11 блоков DTCM - 352K (enet rx,tx буфера, kheap (150k), i2s буфер rx,tx) - заполение памяти 96%
3) 4 блока OCRAM - 128K
под RAM выделена область OCRAM2(512k - 0x20200000) + OCRAM(128k - 0x20280000). Т.к. адресное пространство OCRAM2 и OCRAM идёт друг за другом, до данные две области я объединил в одну
RAM с размером 512K+128K=640K. Код занимает 143,75K(147200). Под malloc stdlib(динамическое выделение объектов) остаётся 640K - 143,75K = 496,25K
Из предыдущего теста видно, что по памяти самый требовательный кодек - это Speex(max. allocated: 444616).
Вариант запуска проекта только из внутренней памяти на imxrt1064. под malloc используется OCRAM, под kheap - DTCM
Такой вариант запуска будет работать быстро?