Как включить второй канал SPI Raspberry Pi 3 на Android Things?

Я пытаюсь получить второй канал SPI spidev1.x, добавив приведенный ниже код в config.txt на Raspberry Pi 3.

dtparam=spi=on
dtoverlay=spi0-hw-cs
dtoverlay=spi1-1cs

Пока я получаю spidev0.x в папке /dev, но не spidev1.x. Приведенный выше код работает на Raspbian. Есть ли способ включить второй канал SPI для AT?


person ierturk    schedule 03.03.2017    source источник
comment
Просто для полной ясности, какую версию предварительной версии Android Things вы используете? Это делается с DP1 или DP2?   -  person devunwired    schedule 06.03.2017
comment
@Devunwired Это предварительная версия для разработчиков 2   -  person ierturk    schedule 07.03.2017


Ответы (1)


Здесь проблема делится на две части:

  1. Включение драйвера spidev в ядре.
  2. Доступ к SPI1 с помощью SpiDevice API, предоставляемых Peripheral I/O.

Поскольку вы не видите /dev/spidev1.x в ядре, налицо обе проблемы.

Что касается проблемы № 1, похоже, существует связь между использованием UART0 и SPI1, как указано в этом Сообщение на форуме RPi. В последней предварительной версии Android Things (DP2) UART0 в настоящее время используется совместно с консолью и направляется на контакты заголовка GPIO для использования приложениями. Возможно, вам придется отключить UART0, чтобы заставить SPI1 работать на уровне ядра.

Однако, что касается проблемы № 2, API-интерфейсы периферийного ввода-вывода в настоящее время не предоставляют SPI1 в Android Things DP2. Таким образом, даже если проблема с ядром будет решена, прямого доступа к порту из приложения не будет. Мы работаем над тем, чтобы включить дополнительные порты помимо тех, которые были предварительно определены во время сборки, но в настоящее время у нас нет решения.

person devunwired    schedule 06.03.2017
comment
Невозможно включить второй SPI, даже если интерфейсы Bluetooth и UART отключены. AT DP2 по-прежнему не отображает spidev1.x в папке /dev. - person ierturk; 07.03.2017