Thanks for you investigations - this does seem to be related to the difference between Flash and PSRAM cached lines. For example, if you clean the cache by address and only clean the PSRAM addresses, then your test works fine without the additional invalidateWe'll investigate further
Code:
void __no_inline_not_in_flash_func(flush)() { for (volatile uint8_t* cache = (volatile uint8_t*)0x18100000; cache < (volatile uint8_t*)(0x18100000 + 0x1000000); cache += 8) { *(cache + 3) = 0; }}Statistics: Posted by will-v-pi — Wed Oct 23, 2024 10:00 am