doctoralThesis
DevC: uma linguagem de suporte ao desenvolvimento concorrente de device drives e modelos de controladores de entrada e saída
Registro en:
Barbosa Lisboa, Edson; Natividade da Silva Barros, Edna. DevC: uma linguagem de suporte ao desenvolvimento concorrente de device drives e modelos de controladores de entrada e saída. 2009. Tese (Doutorado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2009.
Autor
LISBOA, Edson Barbosa
Institución
Resumen
Produtos eletrônicos modernos integram diversas funcionalidades, combinando
mobilidade, poder computacional, uma alta capacidade para comunicação e flexibilidade
de interfaceamento. No entanto, a integração dessas funcionalidades eleva a
complexidade do projeto.
O projeto de tais produtos inclui um sistema embarcado que, em geral,
implementa suas funcionalidades em uma solução integrada de hardware e software. Uma
plataforma de hardware baseada em processador permite a execução das funcionalidades
do software do sistema. Os seus principais componentes são: processadores, memória,
barramento e dispositivos periféricos. Modelos de simulação destes componentes podem
ser obtidos e conectados para compor um modelo de plataforma virtual. Este modelo
pode ser usado, ainda na fase inicial, para o desenvolvimento dos componentes de
software: código dependente da plataforma, device drivers, funcionalidades do sistema
operacional e aplicações do usuário.
Nesse contexto, os dispositivos periféricos e os respectivos device drivers têm um
papel importante, pois são responsáveis pelos diversos tipos de comunicação e
interfaceamento com o mundo exterior, requisitos obrigatórios na maioria dos sistemas
modernos. No entanto, o desenvolvimento de dispositivos periféricos não é uma tarefa
simples, ainda que seja um modelo de simulação. Por outro lado, o desenvolvimento do
driver depende da disponibilidade do modelo do dispositivo, além do tipo do processador
e do sistema operacional. Essas dependências, portanto, podem acarretar atraso no tempo
de desenvolvimento e afetar o custo do projeto. Assim, o desenvolvimento integrado e
concorrente do dispositivo e do driver facilita a depuração, contribuindo para a
eliminação de erro, além de reduzir o tempo total do projeto.
Esse trabalho propõe uma abordagem para dar suporte ao desenvolvimento
incremental e concorrente de device drivers e modelos de simulação do controlador de
dispositivos, considerando diferentes níveis de detalhes dos modelos, o tipo do
processador usado, bem como, a utilização de um sistema operacional. Para isso, uma
linguagem específica do domínio é proposta para descrever características dos controladores e do device driver e, a partir dessa descrição, possibilitar que o controlador
e os drivers sejam sintetizados.
Para validar a proposta, uma plataforma baseada no processador Sparc foi
desenvolvida e um porte do sistema operacional uclinux foi realizado. Alguns
dispositivos periféricos e seus respectivos device drivers foram sintetizados tais como,
UART, LCD display e dispositivos específicos para plataformas de computação
reconfigurável. Esses componentes foram integrados à plataforma base e simulados para
a validação dos componentes Conselho Nacional de Desenvolvimento Científico e Tecnológico