|
Доступ к регистрам, доступ к регистрам устройства на линукс |
|
|
|
 |
Ответов
|
Jun 10 2017, 12:01
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 17-03-17
Пользователь №: 95 867

|
посматрите примерны на "малинке" ( я тоже такие писал ), они как раз на прямую работают с переферийными регистрами - да, nmap или подобное - оно делает копию адресного пространства и вы с ним работает ( но, только от root ). - этого обычно вполне достаточно ..
ограничения тут будут некоторые, на пример по скорости и прерывания будут отвлекать - тут уже да, надо переходить на уровень драйвера.
|
|
|
|
|
Jun 10 2017, 13:27
|
Профессионал
    
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439

|
Цитата(ltDrakon @ Jun 10 2017, 16:01)  посматрите примерны на "малинке" ( я тоже такие писал ), они как раз на прямую работают с переферийными регистрами - да, nmap или подобное - оно делает копию адресного пространства и вы с ним работает ( но, только от root ). - этого обычно вполне достаточно ..
ограничения тут будут некоторые, на пример по скорости и прерывания будут отвлекать - тут уже да, надо переходить на уровень драйвера. Как раз для малинки и делал  В документе даны неверные адреса GPIO. Потерял время на бодание. Моя апликация находит правильные адреса и показывает их. Попробуйте на малнке. Да и не всегда есть время писать. Цитата(andrew_b @ Jun 10 2017, 15:49)  Ну да. Совершенно аналогично. Как я ранее и описал метод доступа. Правда ограничено для использования только на Frescale imx6X и imx53. И наверное только какой-то специальный Линукс. Я не очень внимателен, но не встречал такого файла (псевдо файла) /etc/devregs.dat. Думаю, что это какой-то специальный случай. Цитата(Olej @ Jun 3 2017, 15:17)  Интересно бы  Пользуясь случаем хочу выразить вам благодарность от читателя. Во многих документах по open source описание понятно только тем кто "посвящен". Вот например библия по драйверам Линукс. Три автора Corbet, Rubini и Kroah-Hartman. Будучи уже не худшим разработчиком встроеных апликаций реального времени я долго не мог охватить всего описанниго. Упускаются какие-то "и так понятные любому" мелочи. Ваши книги понятны и новичкам. При том что все понятно изложен материал о совсем непростых вещах. Правда неплохо детали установки, компиляции и разных свойств ядра описаны в Linux Kernel in a Nutshell автор (тот же из драйверов) Greg Kroah-Hartman. Но она не о драйверах и модулях. Но это скорее исключение. Кстати мне очень понравился ваш (я больше нигде его не встречал) прием с установкой модуля, который всегда возврашает ошибку. При этом можно распечатать значения любых переменых из ядра. Не хочу, чтобы мой искренний пассаж выглядел как подхалимаж. Долго думал писать или не писать именно по этой причине. На самом деле я очень ценю критику моей работы и если что-то сделано криво (а такого уверен немало), то буду признателен за замечания. Я предлагаю администрации форума (модератору) сделать прикрепленную тему, где olej выложит ссылки на свежие версии своих книг. Если он конечно не против.
|
|
|
|
|
Jun 10 2017, 15:01
|
Профессионал
    
Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757

|
Цитата(Tarbal @ Jun 10 2017, 16:27)  Ну да. Совершенно аналогично. Как я ранее и описал метод доступа. Правда ограничено для использования только на Frescale imx6X и imx53. Легко портируется на другой ARM. Например, мы её используем и для ls1020. Цитата И наверное только какой-то специальный Линукс. Линукс обычный. Цитата Я не очень внимателен, но не встречал такого файла (псевдо файла) /etc/devregs.dat. Думаю, что это какой-то специальный случай. У многих программ есть конфигурационные файлы. /etc/devregs.dat -- это конфигурационный файл программы devregs. Но она может работать и без него. Просто devregs.dat удобен для описания регистров, чтобы можно было использовать не "голые" адреса, а символические имена, и даже отдельные поля.
|
|
|
|
|
Jun 10 2017, 15:53
|
Профессионал
    
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439

|
Цитата(andrew_b @ Jun 10 2017, 19:01)  Легко портируется на другой ARM. Например, мы её используем и для ls1020. Линукс обычный. У многих программ есть конфигурационные файлы. /etc/devregs.dat -- это конфигурационный файл программы devregs. Но она может работать и без него. Просто devregs.dat удобен для описания регистров, чтобы можно было использовать не "голые" адреса, а символические имена, и даже отдельные поля. Я подумал, что /etc/devregs.dat это псевдо файл, хотя мог бы и сообразить по месту положения, что конфигурационный. Торможу. Псевдо файлы в /proc и /sys. А кто заполняет или откуда брать такой конфигурационный файл для, скажем, Sitara процессора? Попробуйте мою апликацию. Она не лезет в произвольные места, а только в регистрированные. Ну и их имена дает в меню. Хоть и примитивный, но оконный интерфейс. Позволяет легко понять, что делать. Можно листать читаемую память. За критические отзывы буду признателен. Там еще не отлажен механизм восстановления после изменения размера окна терминала в процессе работы. Плюс к другим недостаткам.
|
|
|
|
Сообщений в этой теме
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 vladimir_orl Здравствуйте. Пакета ltrace там нет. Попробую собр... Feb 8 2013, 04:39 dxp QUOTE (vladimir_orl @ Feb 8 2013, 11:39) ... Apr 8 2017, 02:01  Olej Цитата(dxp @ Apr 8 2017, 05:01) Вам прави... Apr 12 2017, 09:13   dxp QUOTE (Olej @ Apr 12 2017, 16:13) Неправи... Apr 14 2017, 06:38    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  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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|