Цитата(aaarrr @ Sep 11 2018, 23:09)

Предполагается, что "переменную" (тогда уж страницу с оной, да не суть), пишет исключительно вредитель?
Почему? Может и прикладная задача писать. В чём проблема?
Да и это может быть не только переменная, но и константы/код. Кстати - MMU позволяет вообще закрыть область с константами/кодом от записи не только при отладке, но и при штатной работе программы, увеличив надёжность работы устройства. И делает этого много гибче чем MPU в Cortex-M. Это ещё один плюс к MMU-кешированию.
Кроме того ещё один вариант использования MMU: отображение на адресное пространство МК внешнего устройства хранения (например - SPI-флешки). Т.е. - виртуализация такого устройства. Например есть код, который работает с некоторой большой областью памяти читая в произвольные моменты времени данные из произвольных смещений в этой области. Без MMU придётся такой код наполнить во всех местах чтения вызовами функций чтения SPI-флешь, а с MMU можно сделать отображение адресного пространства SPI-флешь на адресное пространство МК, назначив некоторое число блоков реальной ОЗУ для кеша страниц. При кеш-промахах (доступах к страницам, которые не помещены в кеш) - делать подкачку из SPI-флешь автоматом по fault-у от MMU. Также если нужна запись в такую память, то при записи, опять-же по fault-ам - метить модифицированные сектора и, по некоторому таймауту, в процедуре обслуживания этой памяти, сбрасывать содержимое секторов в SPI-флешь. При этом прикладной код будет простой, как будто он просто работает с линейной областью памяти, находящейся в адресном пространстве МК.