다만 이 글에서 사용한 ESP32-S3에서는, 범용 CPU나 일부 MCU에서 제공하는 것처럼 메모리 영역별 cacheable / non-cacheable 속성을 MPU나 유사한 메커니즘으로 설정하는 방식이 제공되지 않습니다.
ESP32-S3의 경우, 외부 메모리(Flash/PSRAM)는 캐시/MMU를 경유해 접근하도록 설계되어 있으며 (TRM 4.3.3 External Memory), 접근 권한 제어는 PMS(Permission Management System)를 통해 이루어지지만 (TRM Chapter 15), 이 장치는 접근 보호를 위한 것으로 캐시 경유 여부나 접근 경로 자체를 변경하는 역할은 하지 않습니다.
일부 하이엔드 MCU에서는 말씀하신 것처럼 MPU를 통해 접근 권한뿐 아니라 캐시 관련 속성까지 영역 단위로 설정할 수 있습니다. 다음의 ST 자료가 좋은 참고 자료일 것입니다: https://community.st.com/t5/stm32-mcus/…
다만 이 글에서 사용한 ESP32-S3에서는, 범용 CPU나 일부 MCU에서 제공하는 것처럼 메모리 영역별 cacheable / non-cacheable 속성을 MPU나 유사한 메커니즘으로 설정하는 방식이 제공되지 않습니다.
ESP32-S3의 경우, 외부 메모리(Flash/PSRAM)는 캐시/MMU를 경유해 접근하도록 설계되어 있으며 (TRM 4.3.3 External Memory), 접근 권한 제어는 PMS(Permission Management System)를 통해 이루어지지만 (TRM Chapter 15), 이 장치는 접근 보호를 위한 것으로 캐시 경유 여부나 접근 경로 자체를 변경하는 역할은 하지 않습니다.
TRM(Technical Reference Manual) 링크: https://documentation.espressif.com/esp32-s3_technical_reference_manua….