Nossa vida atualmente é controlada por sistemas que aprendem cada vez mais com nossos hábitos, nos sugerem ações baseadas em nossos comportamentos. Ao aprender com nossas ações, podem até mesmo alimentar bases de dados comportamentais
Desde os primeiros softwares embarcados, criados na década de 1960, esses sistemas vêm reduzindo drasticamente de preço. Também cresceu exponencialmente o poder de processamento dos dispositivos que executam sistemas embarcados, tornando-os mais poderosos e cada vez menores em tamanho, os chamados microcontroladores.
Com o custo dos microcontroladores menor do que um dólar americano, tornou-se viável substituir componentes analógicos caros, como potenciômetros e capacitores, por eletrônica digital controlada por pequenos microcontroladores. No final da década de 1980, os sistemas embarcados já eram a norma ao invés da exceção em dispositivos eletrônicos. Hoje podemos utilizá-los em nossas geladeiras, relógios, carros e até mesmo em centrais computadorizadas para residências.
Grande parte dos microcontroladores atualmente disponíveis no mercado pode ser conectada a dispositivos analógicos, permitindo o uso de diversos tipos de sensores, para os mais variados fins. Isso permite a criação de dispositivos simples e que podem ser utilizados em conjunto com outros aparelhos de forma combinada. Um exemplo são sensores que monitoram temperatura, umidade, aceleração (no caso de um velocímetro, por exemplo), campos magnéticos, e assim por diante, executando determinadas ações em caso de mudanças, como ligar o ar condicionado, acender as luzes ou diminuir sua intensidade, ou até mesmo disparar o airbag de um veículo em caso de colisão.
Para aplicações em que um chip personalizado é essencial, existe ainda a opção de usar chips programáveis, chamados de FPGAs (Field-Programmable Gate Arrays). Esses chips ou microcontroladores são programáveis e podem ser configurados para simular o comportamento de qualquer circuito. Um único FPGA pode simular um processador simples e também outros circuitos auxiliares, como um controlador de vídeo, interface serial, e assim por diante. Os modelos recentes incluem, inclusive, uma pequena quantidade de memória RAM, de forma que você pode ter um sistema completo usando apenas um chip FPGA previamente programado, um chip de memória EPROM (ou memória flash) com o software, a placa de circuito com as trilhas e os conectores e uma bateria ou outra fonte de energia.
Você atualmente está acostumado a utilizar produtos que contêm software embarcado. O caixa eletrônico é um dos melhores exemplos. Outros são os terminais de atendimento, robôs holográficos (como os que atendem a clientes em grandes lojas na China), seu computador de bordo automotivo, seu GPS (atualmente os GPS mais modernos aprendem até mesmo com os hábitos do usuário, evitando determinadas vias ou traçando trajetos diferenciados com base no clima e trânsito).
Sistemas embarcados geralmente utilizam sistemas operacionais especiais executados em tempo real, que, além de consumirem menos memória e processamento, são mais estáveis e confiáveis. A onda do momento, os Drones, possuem sistemas embarcados de processamento muito rápido, criados especificamente para essa finalidade. Assim também é com os novíssimos equipamentos médicos (que em alguns casos realizam até mesmo cirurgias de forma automática, com mínima intervenção do cirurgião), os novos relógios inteligentes lançados por várias gigantes de tecnologia e até mesmo com os tênis de uma famosa marca de fitness, que monitoram a forma como o usuário pisa no chão, contam seus passos, calorias e outras medições, enviando tudo isso para um aplicativo em seu celular.
Aprenda e foque na inovação
Para quem quer estudar e investir nesse mercado que, convenhamos, será a base de todo o futuro da tecnologia, há uma infinidade de locais por onde você pode começar. O site fpga4fun.com é uma boa referência e de onde podemos aprender o básico sobre a criação e comportamentos de dispositivos que receberão software embarcado. Outro bom site dedicado ao assunto é o fpga.ch, que disponibiliza softwares, layouts de placas e até mesmo projetos prontos para estudo.
No Brasil, temos o promissor projeto fpgaparatodos.com.br, que explica de forma clara e objetiva o funcionamento dos microcontroladores para dispositivos pequenos e que potencialmente receberão software embarcado em um futuro próximo.
Para quem quer comprar software embarcado já pronto para chipsets específicos, um bom local é o embeddedsoftwarestore.com.
Quem deseja desenvolver para arquitetura ARM ainda pode contar com ambientes de desenvolvimento e ferramentas dedicadas da Keil, que facilitam o desenvolvimento e já possuem integração com componentes e placas de prototipagem, o que agiliza muito o desenvolvimento e os testes de software embarcado.
Carreira
Os profissionais que desejam iniciar ou mesmo mudar de planos e trabalhar com software embarcado devem ficar felizes em saber que esse mercado está imensamente aquecido. Vagas para engenheiro de software embarcado, tanto em território brasileiro quanto estrangeiro, surgem todos os dias, com as mais variadas designações e pré-requisitos, lembrando ainda que o retorno financeiro dessas posições aumenta exponencialmente a cada mês.
O engenheiro de software embarcado precisa ter, além dos conhecimentos de desenvolvimento de software, lógica e outros, conhecimentos sobre o funcionamento de microcontroladores, chips e processadores. Também é necessário conhecer a fundo as arquiteturas com as quais irá trabalhar para que consiga desenvolver software de qualidade, que seja processado rapidamente e não seja muito custoso para o processador.
Quanto às linguagens de programação utilizadas para desenvolvimento de software embarcado, no topo da lista ainda está o C. No entanto, como para cada necessidade existe uma linguagem perfeita, recomendo consultar os inúmeros artigos sobre linguagens de desenvolvimento neste site – lá, é possível encontrar artigos sobre linguagens para vários dispositivos, métricas de desenvolvimento, artigos sobre segurança e outros assuntos relacionados.
Conforme o futuro vai se aproximando, os dispositivos ficam menores e mais inteligentes, e temos de nos adaptar ao mercado e investir em tecnologias que, embora já existam há muito tempo, farão cada vez mais parte do nosso amanhã.
***
Artigo publicado na Revista iMasters. Você pode assinar a Revista e receber as edições impressas em casa, saiba mais.