Abordagem teórica e prática da aplicação de Linux em sistemas embarcados: Um tutorial para a configuração da BeagleBone Black
Repositório dos códigos-fonte usados no meu TCC de Engenharia de Computação
- Resumo
- Descrição geral
- Trabalho de conclusão de curso
- Considerações
- Comentários e sugestões
- Autor
- Licença
Com o advento da tecnologia, visível e ubíqua, veio, também, a necessidade de produção de mais dispositivos IoT, que nada mais são que sistemas embarcados, muitos deles, microprocessados. Juntamente com isso, nasce a oportunidade de mais vagas para profissionais de engenharia da computação. Porém, é notável que muitos acadêmicos da área desconhecem o passo a passo de construção de um sistema embarcado microprocessado, assim como o conceito de Linux embarcado. Este trabalho tem como objetivo desenvolver uma documentação que contenha o desenvolvimento de um sistema embarcado microprocessado em Linux, usando como base a placa de desenvolvimento BeagleBone Black. O processo será descrito na forma de relatório, utilizando pesquisa bibliográfica e prática com o ambiente de desenvolvimento Texas Instruments.
Durante o tempo em que estagiei na Eletronorte, tive a oportunidade de aprender sobre a área de Linux embarcado na prática, a partir de um projeto que estava em desenvolvimento na época. Esse projeto era um sistema embarcado microprocessado para aquisição de dados e monitoramento preditivo.
No entanto, na mesma medida em que eu ia aprendendo sobre (e me apaixonando pela) área de Linux embarcado, também conheci os problemas que a envolvem; não só ela, mas também a indústria brasileira como um todo.
Devido a dificuldade natural da área, é demorado adquirir prática e domínio da mesma, já que são necessários vários requisitos, desde eletrônica até conhecimento do kernel Linux. Por conta disso, é vital que materiais relacionados fosse abundantemente encontrados, especialmente na nossa língua, porém, não é o que ocorre.
Durante a minha pesquisa (que durou 2 anos), constatei que existem pouquíssimos materiais relacionados à Linux embarcado - mesmo em inglês. E, quando encontrados, geralmente os mesmos estavam desatualizados e não organizados de forma sistemática. Além disso, não havia um foco ao desenvolvimento de produtos práticos, isto é, não haviam exemplos de projetos finais ou demonstrações de como aquele conhecimento era usado, de fato, no mercado.
Por conta disso, escolhi, como meu trabalho de conclusão de curso, escrever uma documentação sobre o processo, passo a passo, de configuração de um sistema embarcado baseado em Linux, desde a preparação do ambiente de desenvolvimento, passando pela configuração do kernel, até o desenvolvimento de aplicações embarcadas. Tudo isso foi descrito com base na minha experiência no projeto da Eletronorte, sobre o qual também consta um resumo no trabalho, de forma a exemplificar os conceitos trabalhados.
Como este trabalho foi feito visando a criação de uma nova referência bibliográfica na área, era necessário que ele fosse posto ao acesso público, tanto o documento PDF em si quanto os seus códigos-fonte. Portanto, este repositório contém esses respectivos itens.
Em síntese, esse trabalho consiste na prática da configuração de um sistema embarcado baseado em Linux usando uma placa de desenvolvimento como exemplo: a BeagleBone Black, open hardware, com vasto suporte, SDK gratuito e muito popular.
Os códigos deste repositório são os usados durante o trabalho, porém, para que façam sentido, é necessário acompanhar o mesmo, que se encontra aqui. Caso o link esteja quebrado, favor avisar.
Esse trabalho é fruto de dois anos dedicados a área de sistemas embarcados. É um grande compilado de conhecimento, e tem muito de mim nele. Foi feito com toda boa intenção de ajudar a todos aqueles que queiram ingressar na área e precisam de uma referência bibliográfica em português. Portanto, eu espero que você, que veio aqui, realmente aproveite a leitura e que esse material lhe seja útil. Se isso acontecer, eu me sentirei realizado.
Eu dei o meu melhor no desenvolvimento deste trabalho para que nada saísse errado; não só na gramática, mas principalmente no conteúdo. Apesar disso, erros podem acontecer. Se você, que é mais experiente na área, encontrou algum erro ou gostaria de dar uma sugestão, eu de bom grado aceitarei, Até porque, eu sempre estarei aprendendo 😉.
Feito com ❤️ por Felipe Garcia 👋🏽
MIT