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

 
 
 
Reply to this topicStart new topic
> Доступ к памяти в Linux
vladimir_orl
сообщение Feb 13 2013, 07:13
Сообщение #1


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

Группа: Участник
Сообщений: 191
Регистрация: 18-09-12
Из: Орёл
Пользователь №: 73 591



Здравствуйте. Вопрос наверное поднимался уже.
Подскажите, как в Linux (на ARM926, наверное monta vista) получить прямой доступ к регистрам и памяти.
Через /proc/iomem всё видно, а при прямом обращении через указатели или memcpy() запрещает доступ.


Желательно на чистом Си, без использования специальных библиотек и с минимумом системных вызовов.
Кто-нибудь сталкивался?

Go to the top of the page
 
+Quote Post
Idle
сообщение Feb 13 2013, 07:47
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 351
Регистрация: 5-04-05
Пользователь №: 3 874



ftp://ftp.buici.com/pub/arm/devmem/devmem2.c
http://stackoverflow.com/questions/8040616...-mmap-wont-work
Go to the top of the page
 
+Quote Post
SAURIS GmbH
сообщение Feb 13 2013, 07:48
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 531
Регистрация: 16-12-09
Пользователь №: 54 291



без помощи со стороны ядра (драйвера ядра, например /dev/mem) - никак. Юзерский процесс не должен иметь доступа куда попало по его желанию. А с помощью ядра - легко. Как пример, работа с видеобуферами в режиме mmap в v4l2, или тот же /dev/mem

Сообщение отредактировал SAURIS GmbH - Feb 13 2013, 07:52


--------------------
Sauris GmbH technical support (web site: http://www.sauris.de)
XDS100, XDS510 JTAG Emulators for TI DSP & ARM, Flash/EEPROM programming JTAG tools, System-on-Module products.
Go to the top of the page
 
+Quote Post
vladimir_orl
сообщение Feb 13 2013, 08:11
Сообщение #4


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

Группа: Участник
Сообщений: 191
Регистрация: 18-09-12
Из: Орёл
Пользователь №: 73 591



Спасибо большое.
Мне надо переконфигурировать устройство, отображаемое в память (изменить настройки регистров хардварного I2C). Драйвера как такогого у него я не нашёл,
вот хотел напрямую обратиться.

Регистры настроек, как я понял, отображаются напрямую в память.

Слышал, есть ещё mmap_device_io(), но что-то компилер на нём ошибку выдаёт.
Думаю, может, библиотеки надо дополнительно установить.
Go to the top of the page
 
+Quote Post
SAURIS GmbH
сообщение Feb 13 2013, 08:19
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 531
Регистрация: 16-12-09
Пользователь №: 54 291



Цитата(vladimir_orl @ Feb 13 2013, 12:11) *
(изменить настройки регистров хардварного I2C). Драйвера как такогого у него я не нашёл, вот хотел напрямую обратиться.

Обязан быть. в drivers/i2c/busses - корректно патчить там, а не из юзер-спейса лезть в регистры. Тем более, что он имеет полное право все Ваши юзерские настройки переписать с нуля на свои в любой удобный ему момент

Сообщение отредактировал SAURIS GmbH - Feb 13 2013, 08:25


--------------------
Sauris GmbH technical support (web site: http://www.sauris.de)
XDS100, XDS510 JTAG Emulators for TI DSP & ARM, Flash/EEPROM programming JTAG tools, System-on-Module products.
Go to the top of the page
 
+Quote Post
vladimir_orl
сообщение Feb 13 2013, 08:28
Сообщение #6


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

Группа: Участник
Сообщений: 191
Регистрация: 18-09-12
Из: Орёл
Пользователь №: 73 591



Но это тогда менять настройки для всех и постоянно, а здесь подправил частоту в процессе, поработал, поставил обратно.
Да и такого навроде i2cbus->set_freq(int freq) я не нашёл.

Ну и может мне на будущее прямой доступ пригодится, если свой драйвер написать надо будет.
Go to the top of the page
 
+Quote Post
SAURIS GmbH
сообщение Feb 13 2013, 08:57
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 531
Регистрация: 16-12-09
Пользователь №: 54 291



Цитата(vladimir_orl @ Feb 13 2013, 12:28) *
Да и такого навроде i2cbus->set_freq(int freq) я не нашёл.


ну вот тут конкретно я не скажу, я же не знаю, какой именно у Вас там драйвер. К примеру, скорость шины для драйверов для OMAP передается при регистрации драйвера шины в системе. Ну в общем нет ничего сложного сделать эту фичу - зато будет корректно. К примеру, тот же драйвер шины ОМАПа инициализирует скорость перед каждой пересылкой, так что Ваш путь с ним бы был просто потерянным временем на попытку сходить в обход простого пути.


--------------------
Sauris GmbH technical support (web site: http://www.sauris.de)
XDS100, XDS510 JTAG Emulators for TI DSP & ARM, Flash/EEPROM programming JTAG tools, System-on-Module products.
Go to the top of the page
 
+Quote Post
vladimir_orl
сообщение Feb 13 2013, 09:19
Сообщение #8


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

Группа: Участник
Сообщений: 191
Регистрация: 18-09-12
Из: Орёл
Пользователь №: 73 591



Спасибо большое. Тему можно считать закрытой.
Go to the top of the page
 
+Quote Post

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

 


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


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