Raspbian, SPI-TFT-Display: как отключить fbtft во время выполнения и восстановить / включить /dev/spidev0.0 - PullRequest
1 голос
/ 06 ноября 2019

Я хотел бы, чтобы при запуске fbtft отображался заставочный экран, а затем, после завершения загрузки, запускайте программу, которая напрямую общается с дисплеем через /dev/spidev0.0

Когда я включаю fbtft(modprobe fbtft_device и modprobe flexfb) устройство /dev/spidev0.0 исчезает, поэтому пользовательская программа не может общаться с дисплеем. Как я могу отключить fbtft и включить spidev во время выполнения? Я пытался

modprobe -r flexfb
modprobe -r spidev
modprobe -r spi_bcm2835
modprobe spidev
modprobe spi_bcm2835

без успеха. Нет ошибок, и fbtft, кажется, отключен (нет упоминания в lsmod), но все еще нет /dev/spidev0.0, только /dev/spidev0.1

Чего мне не хватает?

Большое спасибо!

1 Ответ

0 голосов
/ 13 ноября 2019

По словам разработчика fbtft, модуль fbtft_device не восстанавливает устройство spidev при выгрузке. Чтобы восстановить его во время выполнения, можно создать наложение дерева устройств, которое добавляет устройство spidev, и загрузить его с помощью команды dtoverlay.

Поскольку у меня нет опыта работы с деревом устройств, я придерживался другой идеи. разработчика fbftft (спасибо за подсказку): я создал initramfs с моей собственной программой-заставкой (использующей spidev), вообще избегая fbtft.

См. fbftft Issue 548

...