реклама на сайте
подробности

 
 
> Linux + gcc
Макс_Мат
сообщение Jan 15 2008, 13:18
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 76
Регистрация: 21-03-07
Пользователь №: 26 378



Добрый день, у меня такой вопрос: мне нужно под линухом обратиться к ячейке ОЗУ, в которой развернуто ядро и файловая система, по произвольному адресу. Прокатит ли такое в gcc?
int* adr = 0x8000a4;
*(adr) = 0x1A;

нутром чую, что нет, а как быть?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Макс_Мат
сообщение Jan 15 2008, 14:52
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 76
Регистрация: 21-03-07
Пользователь №: 26 378



Спасибо по поводу /dev/mem. Поправте, если не прав: монтируем например /dev/mem0 в каталог например /mnt/ozu , далее в программе открываем его как файл и чтение/запись нужного адреса, т.е. такое прокатит?

Еще вопросик, а прокатит ассемблерная вставка? ось никаких финтов не выдаст?
Go to the top of the page
 
+Quote Post
vshemm
сообщение Jan 15 2008, 15:14
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 167
Регистрация: 15-08-07
Пользователь №: 29 803



Цитата(Макс_Мат @ Jan 15 2008, 17:52) *
Спасибо по поводу /dev/mem. Поправте, если не прав: монтируем например /dev/mem0 в каталог например /mnt/ozu , далее в программе открываем его как файл и чтение/запись нужного адреса, т.е. такое прокатит?

Еще вопросик, а прокатит ассемблерная вставка? ось никаких финтов не выдаст?

Нет, открываем: fd = open("/dev/mem", O_RDWR, 0);
Перемещаемся куда нужно: lseek(fd, offset, SEEK_SET);
Читаем: read(fd, buffer, 0x1000);

Только учтите, это физическая память, придется делать трансляцию адресов. Из юзерспейса придется извращаться - вручную парсить каталог страниц, адрес которого находится в CR3 (на х86 архитектуре), доступа к которому тоже нет smile.gif
Действительно, проще написать драйвер smile.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st August 2025 - 11:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.0133 секунд с 7
ELECTRONIX ©2004-2016