Тестирование драйверов ядра Linux

Я новичок в ядре Linux и во всем остальном, есть ли способ проверить точки входа драйверов ядра Linux из командной строки? скажем для светодиодов-lp5523?

я видел, что в его документе говорится, что мы можем запустить образец светодиода шаблоны, запустив эхо-команды, запустив

cd /sys/class/leds/lp5523:channel2/device   echo "load" > engine3_mode echo "9d80400004ff05ff437f0000" > engine3_load   echo "111111111" > engine3_leds   echo "run" > engine3_mode

Но я не могу найти этот каталог /sys/class/leds/lp5523:channel2/device на своем ПК с Ubuntu x86-64. Может ли кто-нибудь помочь мне в этом. Заранее спасибо..


person zappy    schedule 03.10.2015    source источник


Ответы (1)


Этот файл не будет создан, пока вы не подключите LP5523. Я сомневаюсь, что это так на вашем ПК, так как это чип i2c.

В противном случае вы нашли правильную документацию. Обычно вы можете найти два разных интерфейса для драйверов: либо файлы устройств (обычно находящиеся в /dev), которые используют обычные системные вызовы (open, read, write, ioctl), либо интерфейс sysfs (находящийся в /sys), тогда документация найдено в Documentation/ABI/.

Лучший способ узнать, какой интерфейс использует драйвер, — это прочитать исходный код этого драйвера.

person Alexandre Belloni    schedule 03.10.2015
comment
Спасибо.... позвольте задать вам еще одно сомнение... Как я могу идентифицировать файл устройства, открытый lp5523.ko в каталоге /dev? Можете ли вы объяснить на примере.. извините, если я прошу слишком много.. - person zappy; 04.10.2015
comment
Файл устройства не открывается драйвером. Пользовательское пространство делает это. Затем старший и младший используются для связывания этого файла с драйвером и вызова соответствующей функции. Однако подсистема светодиодов не использует файлы устройств, а только интерфейс sysfs. Вы можете прочитать free-electrons.com/doc/training /linux-kernel/ начиная со слайда 197. - person Alexandre Belloni; 05.10.2015