ESP32-C3 Cache "preload", "invalidate", "lock"?
Posted: Mon Oct 17, 2022 8:00 pm
Hello!
Section 3.3.3.3 Cache Operations of the ESP32-C3 tech. ref. states the "ESP32-C3 cache support the following operations: Invalidate [...} Preload [...] Lock/Unlock". However, I can find no information anywhere on how the cache can be controlled in this way.
gcc 8.4 doesn't seem to know how, either: at least just compiles to nothing.
I would like to know how I can trigger a prefetch into cache on the C3 - it might be quite beneficial to, e.g., prefetch a lookup table from flash into cache before actually accessing it.
Is there any information/documentation available about those cache operations? Are they available via RISC-V "hint" instructions or via some other means/peripheral/register?
Kind regards,
MicroController
Section 3.3.3.3 Cache Operations of the ESP32-C3 tech. ref. states the "ESP32-C3 cache support the following operations: Invalidate [...} Preload [...] Lock/Unlock". However, I can find no information anywhere on how the cache can be controlled in this way.
gcc 8.4 doesn't seem to know how, either: at least
Code: Select all
__builtin_prefetch(...)
I would like to know how I can trigger a prefetch into cache on the C3 - it might be quite beneficial to, e.g., prefetch a lookup table from flash into cache before actually accessing it.
Is there any information/documentation available about those cache operations? Are they available via RISC-V "hint" instructions or via some other means/peripheral/register?
Kind regards,
MicroController