Перейти к содержанию
    

Микросхемы SDRAM с шиной 32 бита

А вот вынос переменной в регион с защитой от записи (через MMU) и fault-ом при попытке записи - может очень помочь.

Предполагается, что "переменную" (тогда уж страницу с оной, да не суть), пишет исключительно вредитель?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

MMU хорош тем, что:

 

1) позволяет настроить кеширование, буферирование.... (cachable, bufferable), политику кеша (write throw, write back)

2) сделать виртуальное адресное пространство (полезно к примеру для склейки разных диапазонов адресов в один непрервыный)

 

Ну и в целях защиты его использовать пока не приходилось, потому что bare metal и standalone. От кого защищаться?

 

Раскурить аллвиннер вполне норм, примерно месяца полтора факультативной работы потребовалось, единственный трабл - это их УСБ! Это какой-то цирк с конями...

Написал в личку

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Предполагается, что "переменную" (тогда уж страницу с оной, да не суть), пишет исключительно вредитель?

Почему? Может и прикладная задача писать. В чём проблема?

Да и это может быть не только переменная, но и константы/код. Кстати - MMU позволяет вообще закрыть область с константами/кодом от записи не только при отладке, но и при штатной работе программы, увеличив надёжность работы устройства. И делает этого много гибче чем MPU в Cortex-M. Это ещё один плюс к MMU-кешированию.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему? Может и прикладная задача писать. В чём проблема?

И чем прикладная задача будет отличаться от вредителя?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...