Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Raspbian отказывает в доступе.
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
muravei
Пытаюсь написать программку для проверки пинов Raspberry. Все скомпилировалось , но при запуске говорит , что не может открыть dev/mem .
Что делать?
A. Fig Lee
Цитата(muravei @ Sep 1 2015, 10:04) *
Пытаюсь написать программку для проверки пинов Raspberry. Все скомпилировалось , но при запуске говорит , что не может открыть dev/mem .
Что делать?


sudo?
ошибку то дает какуюто?
muravei
При запуске из среды Qt : exited with code 1
Если самостоятельно запускать , то ничего не происходит.

A. Fig Lee
Цитата(muravei @ Sep 1 2015, 12:17) *
При запуске из среды Qt : exited with code 1
Если самостоятельно запускать , то ничего не происходит.


Что значит "ничего не происходит"?
Откуда известно что ошибка при открытии /dev/mem?
Если функция вернула -1, errno должен быть установлен.

Qt запускается из под sudo?
Смотрите логи программы. В нормально написанной программе проверяются возвраты всех функций, ошибки логгируются
muravei
Цитата(A. Fig Lee @ Sep 1 2015, 20:03) *
Откуда известно что ошибка при открытии /dev/mem?

Кутэ говорит.

Цитата
Qt запускается из под sudo?

Нет. Я второй день в этом упражняюсь.
Запуск моей программки в терминале через sudo -работает.
Можно ли как -нибудь настроить Qt, чтобы без танцев с бубном sudo?
Эдди
SUID-бит на бинарник поставить. К /dev/mem доступ возможен (по понятным причинам) только руту.
Можно еще попробовать сменить права доступа к /dev/mem, но сомневаюсь, что это сработает.
A. Fig Lee
Или sudo su сначала и запускать Qt
muravei
Цитата(A. Fig Lee @ Sep 2 2015, 13:39) *
и запускать Qt

И фигвам. crying.gif
Его продукту также отлуп. Наверно, он не в той папке живет.
Tarbal
Цитата(muravei @ Sep 1 2015, 18:04) *
Пытаюсь написать программку для проверки пинов Raspberry. Все скомпилировалось , но при запуске говорит , что не может открыть dev/mem .
Что делать?


Извините за ответ не совсем по теме, но допускаю, что он может быть вам полезен если вы решаете практическую задачу, а не изучаете способ проверки пинов.
Дело в том, что в Линуксе есть встроенная в кернел поддержка доступа к пинам. Вы можете даже командой из шелла управлять или читать пины.

Еще есть библиотека для Распбиана, позволяющая делать еще и ШИМ кроме прочего. Я с год назад даже ее использовал, но она легко ищется в гугле. Я искал написав запрос по английски.

Вот вам инструкция:
https://www.kernel.org/doc/Documentation/gpio/sysfs.txt



А теперь по теме.
Посмотрите системные логи. Зачастую апликации докладывают там о своих проблемах. В Распбиане (Debian, Ubuntu) это: /var/log/syslog. В Красной Шляпе (Федора и ЦентОС) /var/log/messages
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.