LLLit: Изучение и практика программирования

Ошибка открытия файла устройства в системе Linux

Я работаю в системе на основе omap4. Он имеет 4 порта UART, поэтому ядро ​​​​делает:

/dev/ttyO0
/dev/ttyO1
/dev/ttyO2
/dev/ttyO3

Когда я открываю из пользовательского пространства:

fd = open("/dev/ttyO1",O_RDONLY)

он успешно открыт, и я могу читать и писать с ним.

Но когда я открываю:

fd = open("/dev/ttyO3",O_RDONLY)

Это не удалось.

Я все еще вижу узел /dev/ttyO3 в своей системе, почему я не могу его открыть? Есть идеи?

07.02.2013

  • Вы имели в виду О или 0? 07.02.2013
  • @IgnacioVazquez-Abrams его столица O 07.02.2013
  • Проверьте на опечатку. Это может быть цифра 0, а не заглавная буква О (или наоборот) 07.02.2013
  • Вы открываете устройство O_RDONLY и заявляете, что можете читать и писать??!! Вам необходимо распечатать номер ошибки после сбоя. 07.02.2013
  • Ваше предположение в корне ошибочно. Хотя они являются ссылкой на объекты ядра, узлы устройств не создаются ядром, вместо этого они должны создаваться из пользовательского пространства либо демоном, таким как udev, либо (в более простой системе) они может быть создан сценарием, использующим mknod либо во время выполнения, либо во время создания постоянного образа файловой системы. Разрешения для узлов устройств могут быть установлены при их создании или позже с помощью chmod, что вы и сделали. 05.02.2014
  • См. также: stackoverflow.com/q/27380822/1971003 26.10.2017

Ответы:


1

я дал разрешение на этот узел, и теперь я могу открыть этот узел

chmod 0606 /dev/ttyO3
07.02.2013
Новые материалы

CS373 Summer 2018: Миранда Фуленчек
CS373 Summer 2018: Миранда Фуленчек Неделя 1: 4 июня — 10 июня Что вы делали на прошлой неделе? Занятия начались на этой неделе, поэтому большую часть времени я потратил на..

Как развивается смешанно-целочисленное программирование, часть 7
Унифицированная техника раннего завершения для первично-двойственных алгоритмов в смешанно-целочисленном коническом программировании (arXiv) Автор : Ювэнь Чэнь , Кэтрин Нин , Поль Гулар..

Как научить модель Keras распознавать текст переменной длины
Я некоторое время играл с официальным примером Keras image_ocr.py и хочу поделиться своими выводами в этом посте. В официальном примере выполняется только обучение модели, но отсутствует..

Практическая пакетная нормализация
История начинается после использования инициализации He вместе с ELU (или любым вариантом ReLU) может значительно снизить опасность проблем с исчезающими/взрывающимися градиентами в начале..

Поэзия онлайн-кодирования: путешествие пикселей и страсти
В мире, наполненном инновациями, онлайн-обучение программированию становится холстом, на котором обретает форму полотно вашей мечты. Это больше, чем просто создание строк кода; это сродни..

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

Ограничение скорости в .NET Core 7 Web API
Что такое ограничение скорости? Ограничение скорости — это процесс, используемый для ограничения количества запросов, разрешенных для определенного ресурса в указанном временном окне. .NET..