Visão Inicial de Drives de Dispositivos com Linux Embarcado

Muitos dos trabalhos realizados pelo grupo VisioRob envolvem o uso de placas que permitam rodar o sistema Linux nelas (Embedded Linux). A exemplo pode-se citar placas como as Raspberry Pi, Orange Pi, BeagleBone Black e outras placas equivalentes.

De fato exitem várias vantagens de utilizarmos Linux Embarcado em nossos projetos. As que mais interessam ao grupo VisioRob é a modularidade deste sistema operacional e a existência de código fonte aberto.

Porque o Linux é um sistema de código aberto isso nos permite encontrar códigos que outros grupos, na maioria mais experientes que o nosso, já desenvolveram. Assim, podemos nos inspirar e utilizarmos esses códigos como exemplo na criação dos nossos drive.

Já a modularidade do sistema é a capacidade que o Linux nos fornece de alterar ou adicionar novas funções (módulos) ao sistema. No Linux a adição de novos módulos pode ser realizar em tempo de execução. Dada essa modularidade do Linux os drives de dispositivos também são chamados de módulos (Kernel modules).

Alterações em tempo de execução são alterações que podem ser realizadas sem a necessidade de reiniciar o sistema.


Mais o quê são os drives de dispositivos? E o que eles fazem?

Os drives de dispositivos podem ser entendidos como:

Caixas pretas distintas que fazem com que uma determinada peça de um hardware responda seguindo uma programação bem definida.

CORBET, J. et al. Linux Device Drivers. 3. ed. Sebastopol: O’reilly, 2005. 616 p.

O termo caixas pretas indicam que o usuário não precisa saber como é o funcionamento interno do drive. Ele apenas precisa enviar a solicitação ao drive que será executada a tarefa solicitada. Por fim, pode-se entender a função dos drives como sendo uma programação que irá indicar para o sistema operacional de como ele deve interagir com o hardware.

Só para ilustrar, o grupo VisioRob está desenvolvendo um robô autônomo que será utilizado em estudos futuros, projeto Ciclopes. Uma vez que todo o hardware do robô está sendo desenvolvido por nós não existe uma distribuição Linux que irá conseguir controlar o robô Ciclopes (acionar as rodas, luzes e direção). Assim, o grupo VisioRob precisará desenvolver o drives que serão utilizados nesse projeto.

Assim, para os Makers interessados em conhecer um pouco mais sobre drives de dispositivos para Linux embarcado, iremos lançar uma sequência de post de como programá-los e, para isso, iremos utilizar, como exemplos, os drives que estão sendo desenvolvidos para o projeto Ciclopes.

Seja o primeiro a comentar

Faça um comentário

Seu e-mail não será publicado.


*