Насколько я понимаю, после загрузки ПК / встроенной системы ОС будет занимать всю область ОЗУ, ОЗУ будет выглядеть следующим образом:
Это означает, что во время работы программы, которую я пишу, все переменные, динамическая память, выделенная в стеках, кучах и т. Д., Останутся внутри региона. Если я использую Firefox, Paint, Gedit и т. Д., Они также будут работать в этом регионе. (Это понимание правильно?)
Однако я бы хотел уменьшить область ОС. Ниже приведена иллюстрация того, как я хочу разделить оперативную память:
Причина, по которой я хочу это сделать, заключается в том, что я хочу сохранить некоторые данные, полученные извне через драйвер, в Custom Region
в фиксированном физическом месте, и тогда я смогу получить к нему доступ напрямую из пространства пользователя, не используя copy_to_user()
.
Я думаю, что это можно сделать, настроив u-boot, но у меня нет опыта работы с u-boot, может кто-нибудь дать мне несколько указаний, с чего начать, например: мне нужно изменить источник u -boot, или изменения environment variables
u-boot будет достаточно?
Или есть какой-нибудь альтернативный способ сделать это?
Любая помощь очень ценится. Спасибо!
p / s: я использую процессор TI ARM и загружаюсь с SD-карты, я не уверен, имеет ли это значение.