ESP32 MMU/MPU

mhi

  • *****
  • 500
    • Zobrazit profil
ESP32 MMU/MPU
« kdy: 18. 10. 2021, 17:19:54 »
Potreboval bych na ESP32 SoC v zakladni verzi (LX6), pripadne -S2 (LX7) a -C3 (Risc-V) udelat detekci zapisu do nekolika stranek (pametovych rozsahu). Jsem obeznamen s tim, jak funguje ARM MPU, Tensilica/Cadence LX6/LX7 by mely mit neco podobneho. V datasheetu je to nejak popsane, ale moc moudry z toho nejsem. RISC-V by taky neco mel mit, ale opet me zkusenosti jsou nulove. A navic si nejsem jist jak je to u toho ESP, protoze na foru pisou ze "neni otestovano"...

Tusite tu nekdo jak se LX6/7 MMU(MPU) da pouzit na detekci toho zapisu? Predstava je, ze budu mit pro N stranek definovane radky v MPU, ktere povoli cteni, ale faultnou pri zapisu. Ve fault handleru pak udelam pres tyto data invalidate a povolim zapis.

A jeste navic ... potrebuju aby to u ESP32-WROVER chodilo nad externi PSRAM :). To uz jsem z datasheetu nevycetl vubec, jestli je takhle mozne.
« Poslední změna: 18. 10. 2021, 17:22:19 od mhi »


RDa

  • *****
  • 2 465
    • Zobrazit profil
    • E-mail
Re:ESP32 MMU/MPU
« Odpověď #1 kdy: 18. 10. 2021, 17:37:39 »
Ja ti nevim, ale do TRM jsi se dival?

https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf
na strane 600 to zacina..

V kratkosti: zvolit granularitu (prilis mala znamena managed jen spodni cast pameti), pak nastavit 16 bitu masky kdy to ma udelat catch, a pro jaky PID se to aktivuje (asi smesna snaha o privilege level). V handleru se bud zmeni PID (nebo to udela interrupt controller sam, takze bys tim "privilegovanym" procesem mel byt schopen delat pristupy bez double-faultu.

Ale nikde tam nepisou, co za preruseni to dela.. find na MPU nachazi   APP_MMU_IA_INT /  APP_MPU_IA_INT ... a ani jak udelat restart operace. Podle me to udela jen indikaci zakazaneho pristupu a tim to hasne.. neni to jako u x86 s restartem instrukce.

mhi

  • *****
  • 500
    • Zobrazit profil
Re:ESP32 MMU/MPU
« Odpověď #2 kdy: 18. 10. 2021, 18:33:57 »
Do "TRM" jsem koukal. Ja tam tech nejasnosti vidim celou radu, popravde jich je spis vic nez tech jasnych veci :).