|
Доступ к регистрам, доступ к регистрам устройства на линукс |
|
|
|
 |
Ответов
|
Apr 12 2017, 09:13
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458

|
Цитата(dxp @ Apr 8 2017, 05:01)  Вам правильно сказали: нельзя просто так из приложения лазить к регистрам напрямую - это прямое нарушение концепции безопасности ОС. Для работы с периферийными устройствами используются драйвера оных устройств. Найдите (или напишите) драйвер для своего устройства. Неправилно сказали Программный код пользовательского режима вполне может (с существенными ограничениями) обращаться к регистрам внешних устройств. См. прямо в системе man по: ioperm(2), iopl(2), inb(2), outb(2), capabilities(7) и т.д. (процессор i386 только). Кроме того, Linux предоставляет даже специальное символьное устройство /dev/port для прямых чтения и записи в порты внешних устройств (с правами root, естественно). Более того, во многих случаях в Linux всячески поощряется организация ввода/вывода именно из пространства пользователя, без написания модулей ядра (драйверов). Для того делаются специальные и достаточно сложные инструменты промежуточного слоя. Самые известные тому примеры: проект libusb и файловая система FUSE, на которых в последние годы реализуется стандартная поддержка тысяч разнообразных устройств от их производителей. P.S. Детали и примеры использования всего этого хозяйства можете посмотреть здесь: Практикум по Linux Kernel.
|
|
|
|
Сообщений в этой теме
vladimir_orl Доступ к регистрам Feb 6 2013, 11:35 kurtis Если у вас uclinux, то никакого виртуального адрес... Feb 6 2013, 15:51 vladimir_orl Спасибо. То есть если у меня регистр ADC_DATA нахо... Feb 7 2013, 04:09 kurtis Не уверен что можно, но я с uclinux не работал, та... Feb 7 2013, 10:50    Olej Цитата(dxp @ Apr 14 2017, 09:38) Не означ... Apr 14 2017, 08:03     dxp QUOTE (Olej @ Apr 14 2017, 15:03) Нет, не... Apr 15 2017, 00:57      Olej Цитата(dxp @ Apr 15 2017, 03:57) Хорошо, ... Apr 15 2017, 05:41       Lagman Цитата(Olej @ Apr 15 2017, 08:41) Но... Apr 15 2017, 10:09        Olej Цитата(Lagman @ Apr 15 2017, 13:09) А есл... Apr 15 2017, 11:56         Tarbal Цитата(Olej @ Apr 15 2017, 15:56) P.S. Ес... May 20 2017, 22:09   Tarbal Цитата(Olej @ Apr 12 2017, 13:13) Неправи... May 21 2017, 13:12    Olej Цитата(Tarbal @ May 21 2017, 16:12) Я сей... Jun 3 2017, 11:17     Tarbal Цитата(Olej @ Jun 3 2017, 15:17) Интересн... Jun 10 2017, 02:38 xor.kruger ЦитатаПосоветуйте учебник по ucLinux
Как такового ... Feb 10 2013, 12:23 TigerSHARC Цитата(vladimir_orl @ Feb 6 2013, 14:35) ... Apr 7 2017, 19:43 nill Цитата(Olej @ Apr 12 2017, 16:13) P.S. Де... Apr 13 2017, 06:21 Olej Цитата(nill @ Apr 13 2017, 09:21) Ссылка ... Apr 13 2017, 08:12 Tarbal Выложил:
https://github.com/stepanovr/linuxreg
По... Jun 10 2017, 03:49 HardJoker Цитата(Tarbal @ Jun 10 2017, 06:49) Вылож... Jun 20 2017, 20:48  Tarbal Цитата(HardJoker @ Jun 21 2017, 00:48) На... Jun 21 2017, 03:44   HardJoker Цитата(Tarbal @ Jun 21 2017, 06:44) Не оч... Jun 21 2017, 07:38    Tarbal Цитата(HardJoker @ Jun 21 2017, 11:38) Да... Jun 21 2017, 23:29 andrew_b Есть программка devregs: https://community.nxp.com... Jun 10 2017, 11:49 ltDrakon посматрите примерны на "малинке" ( я тож... Jun 10 2017, 12:01 Tarbal Цитата(ltDrakon @ Jun 10 2017, 16:01) пос... Jun 10 2017, 13:27  andrew_b Цитата(Tarbal @ Jun 10 2017, 16:27) Ну да... Jun 10 2017, 15:01   Tarbal Цитата(andrew_b @ Jun 10 2017, 19:01) Лег... Jun 10 2017, 15:53  Olej Цитата(Tarbal @ Jun 10 2017, 16:27) сдела... Jun 10 2017, 21:14   Tarbal Цитата(Olej @ Jun 11 2017, 01:14) Не знаю... Jun 10 2017, 22:39 ltDrakon Цитата(Tarbal @ Jun 10 2017, 16:27) Как р... Jun 10 2017, 22:54 Tarbal Цитата(ltDrakon @ Jun 11 2017, 02:54) там... Jun 10 2017, 23:02
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|