[kernel-br] Desenvolvimento de Drivers

Ricardo Ayres Severo severo.ricardo em gmail.com
Terça Maio 12 09:11:42 EDT 2009


Igor,

eu trabalho no desenvolvimento de sistemas embarcados e já desenvolvi
alguns drivers, mas nada muito complexo.

Para desenvolver o driver, nós precisamos saber como que o dispositivo
que está conectado ao processador funciona e qual pino do processador
corresponde a qual pino do dispositivo. A necessidade de se fazer um
driver é para poder acessar esses pinos do processador diretamente, o
que não é permitido na userland. O driver então trata os dados para
que uma aplicação userland possa utilizar o dispositivo sem se
preocupar com o funcionamento específico dele.

Todos os drivers que fiz até agora foram char devices, ou seja, a
interface do driver com o sistema se dá através de leituras e escritas
em um arquivo (um daqueles que ficam em /dev). A maioria dos drivers
são assim. Os outros dois tipos são network (sockets) e block devices
(HDs e coisas do tipo).
Um livro que recomendo é o Linux Device Drivers, que inclusive está
disponível de graça na internet.

Abraço.

2009/5/11 Igor Mol <igor em yrado.com>:
> Ainda matenho um pequeno projeto de kernel pessoal e nele aprendi acerca
> do desenvolvimento de drivers. Mas em sua maioria, utilizei muitos
> tutoriais para desenvolvê-los, e sei que na maioria das vezes não
> dispomos de tutoriais para criar drivers específicos em um sistema real.
>
> Normalmente como acontece o processo de criação de um drive real no
> Linux? É feita uma analise do mesmo através de uma documentação
> fornecida pelo próprio desenvolvedor, e a partir daí um estudo de como
> se comunica com a controladora (chip) do dispositivo? Existem exemplos
> reais disso?
>
> Curiosidade: tenho feito um trabalho sobre aplicação do Cálculo na
> engenharia, e então pensei no desenvolvimento do kernel. Há algum tipo
> de driver que é necessário o conhecimento de Cálculo para fazê-lo?
>
>
> _______________________________________________
> kernel-br mailing list
> kernel-br em kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernel-br
>



-- 
Ricardo Ayres Severo <severo.ricardo em gmail.com>



Mais detalhes sobre a lista de discussão kernel-br