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

 
 
> Как в Linux увеличить количество устройств /dev/mem
Oops
сообщение Dec 27 2010, 00:41
Сообщение #1


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

Группа: Участник
Сообщений: 129
Регистрация: 28-08-08
Из: г.Омск
Пользователь №: 39 870



Здравствуйте!!!

Возникла необходимость увеличить количество устройств /dev/mem для доступа к физическим адресам.
Используется Операционная Система Linux 2.6

Подскажите как это сделать?

Спасибо!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
faa
сообщение Dec 27 2010, 07:32
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394



Цитата(Oops @ Dec 27 2010, 06:41) *
Возникла необходимость увеличить количество устройств /dev/mem для доступа к физическим адресам.
Используется Операционная Система Linux 2.6

Стесняюсь спросить, а зачем? wink.gif
Одной программе достаточно одного такого девайса.
А у других программ будет у каждой свой экземпляр.
Посмотрите исходник devmem.c - все сразу станет ясно.

Или так
Код
if((fd = open("/dev/mem", O_RDWR | O_SYNC)) == -1) FATAL;
...
map_bram = mmap(NULL, MAP_RAM_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, RAM_ADDR);
map_regs = mmap(NULL, MAP_REG_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, REG_ADDR);
/* и т.д. */



Сообщение отредактировал faa - Dec 27 2010, 08:23
Go to the top of the page
 
+Quote Post
Oops
сообщение Jan 6 2011, 03:57
Сообщение #3


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

Группа: Участник
Сообщений: 129
Регистрация: 28-08-08
Из: г.Омск
Пользователь №: 39 870



Цитата(faa @ Dec 27 2010, 13:32) *
Стесняюсь спросить, а зачем? wink.gif
Одной программе достаточно одного такого девайса.
А у других программ будет у каждой свой экземпляр.
Посмотрите исходник devmem.c - все сразу станет ясно.

Или так
Код
if((fd = open("/dev/mem", O_RDWR | O_SYNC)) == -1) FATAL;
...
map_bram = mmap(NULL, MAP_RAM_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, RAM_ADDR);
map_regs = mmap(NULL, MAP_REG_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, REG_ADDR);
/* и т.д. */


В общем чтобы получить доступ к физическим адресам Девайса и работать с ним, я использовал устрйство /dev/mem.
Затем появился еще один нестандартный Девайс*, думал может можно будет создать еще одно устройство /dev/mem*
и используя его тоже организовать работу с этим Девайсом.

(опыта в разработке драйверов пока нету и времени мало чтобы освоить, проблема собственно в получении доступа к физическим адресам устройства )

Спасибо!!!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 18th August 2025 - 03:34
Рейтинг@Mail.ru


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