driver SPI para o Debian

2

Este é o Linux:

PRETTY_NAME="Debian GNU/Linux 8 (jessie)"

NAME="Debian GNU/Linux"

VERSION_ID="8"

VERSION="8 (jessie)"

ID=debian

A versão do Kernel é:

4.1.15-gcfb25fd

E esta é a plataforma de hardware: link

Portanto, estou familiarizado com a interface SPI (desenvolvi drivers SPI para microcomputadores).

Descobri o pacote nodeJs para SPI, mas ele requer SPIDEV no diretório / dev /, que está faltando na lista de dispositivos.

Após algumas pesquisas, descobri que posso reconstruir o Kernel com nova configuração para que o SPIDEVx possa aparecer na lista de dispositivos. Mas isso parece uma abordagem mais trabalhosa. Eu tenho que instalar tudo de novo.

É possível escrever um programa em C para utilizar a interface SPI no sistema operacional instalado / Descobri que há spidev.h arquivo em /ust/include/linux/spi/ , mas contém apenas typedefs e macros , sem declarações de função.

O que você me aconselharia? Qual seria a abordagem menos dolorosa?

    
por Rikotech 08.08.2018 / 10:59

1 resposta

1

Resumidamente: Você precisará de nós de dispositivos em / dev para que o aplicativo de usuário use o SPI. Não importa se você usa o NodeJS ou um programa em C para acessar esses dispositivos. E sim, /usr/include/linux/spi/ incluirá apenas os typedefs para usar o nó do dispositivo. Isso também será usado pelo pacote NodeJS ou por qualquer outro pacote de usuário.

Os nós de dispositivos em / dev são os drivers do kernel que fazem o acesso ao hardware. Se o seu kernel atual não está configurado para eles, você precisa configurá-lo. No melhor dos casos, basta alterar a árvore de dispositivos . Você pode ter que compilar módulos adicionais (o que pode ser feito, por exemplo, com o DKMS no Debian). Você também pode ter que compilar o kernel completo. Qual desses se aplica depende da sua configuração atual do kernel, sobre a qual você não nos contou nada.

Qualquer caso, você nunca precisará "instalar tudo novamente". Mesmo se você precisar compilar o kernel inteiro, basta instalar o novo kernel e reinicializar.

    
por 08.08.2018 / 11:18