Saltar para o conteúdo
BigTree108

Serviços de desenvolvimento de software embebido

Serviços de desenvolvimento de software embebido para dispositivos com Linux embebido, Android e RTOS: board support packages e drivers, aplicações de dispositivo, software automóvel, equipamento de rede, dispositivos de áudio e vídeo, interfaces táteis e atualizações seguras para eletrónica de consumo, produtos industriais, automóveis, de telecomunicações, de energia e médicos, com engenheiros de software embebido dedicados para a sua equipa ou projetos entregues de ponta a ponta.

Software embebido que desenvolvemos

  • Plataformas Linux embebido

    Distribuições à medida construídas com o Yocto Project ou o Buildroot para placas NXP i.MX, Texas Instruments Sitara, Qualcomm, Rockchip, NVIDIA Jetson e Raspberry Pi Compute Module, reprodutíveis a partir de um checkout limpo na sua pipeline e mantidas numa versão com suporte de longo prazo.

  • Board support packages e drivers

    Device trees, configuração do U-Boot e drivers do kernel Linux para os seus sensores, ecrãs, câmaras e rádios, mantidos próximos do kernel mainline para que uma atualização do kernel seja um rebase e não uma reescrita, e a plataforma inteira portada para um novo processador quando um componente chega ao fim de vida.

  • Aplicações de dispositivo e middleware

    Os serviços que fazem o produto cumprir a sua função, em C, C++, Rust ou Python em Linux, ou em Zephyr, FreeRTOS, QNX ou VxWorks, com mensagens, registo e configuração desenhados antes da primeira funcionalidade.

  • Software embebido automóvel

    Aplicações Adaptive AUTOSAR, software de infotainment e de cockpit digital em Android Automotive OS, QNX ou Automotive Grade Linux, e unidades de telemática, desenvolvidos segundo a ISO 26262, a ISO/SAE 21434 e o Automotive SPICE quando o seu programa o exige.

  • Software para equipamento de rede

    Firmware para routers, gateways, firewalls e pontos de acesso em OpenWrt, prplOS ou RDK-B, processamento de pacotes com DPDK e eBPF, e drivers de rede Linux, com débito e latência medidos no equipamento de destino e não presumidos.

  • Software de áudio, vídeo e câmara

    Pipelines de câmara em V4L2 e libcamera, codificação por hardware e streaming com GStreamer sobre RTSP, WebRTC ou ONVIF, e áudio em ALSA e PipeWire, para câmaras IP, campainhas com vídeo, equipamento de conferência, colunas e set-top boxes.

  • Desenvolvimento de plataforma Android

    Builds AOSP, hardware abstraction layers e serviços de sistema para dispositivos que correm Android, como terminais de pagamento, quiosques, terminais portáteis robustos, TV boxes e sistemas de bordo, com o build e as chaves de assinatura sob o seu controlo.

  • Interfaces táteis e de ecrã

    Qt 6 e QML em Linux embebido, e LVGL, Slint ou TouchGFX em ecrãs de microcontroladores, desenhados no Figma e medidos quanto ao tempo de arranque e à taxa de fotogramas no painel real.

  • Segurança de dispositivos e atualizações over-the-air

    Secure boot desde a boot ROM até à aplicação, Arm TrustZone com OP-TEE para chaves e segredos, imagens A/B assinadas através de RAUC, SWUpdate ou Mender com reversão automática quando uma nova imagem falha a verificação de estado, e chaves de assinatura num cofre e não num portátil.

Contratar engenheiros de software embebido

  • engenheiros de software embebido dedicados

    Engenheiros de software embebido que integram a sua equipa a tempo inteiro, trabalham nas suas ferramentas e no seu processo, e reportam ao seu responsável. A sua empresa entrevista-os; nós assumimos o contrato ucraniano, o processamento salarial, a faturação e as férias.

  • Projetos de Desenvolvimento de software embebido

    Uma parcela definida de desenvolvimento de software embebido, com âmbito, plano fixo e um responsável identificado do nosso lado, que responde pelo resultado e reporta o progresso nos seus canais.

  • desenvolvimento de software embebido em regime contínuo

    Desenvolvimento de software embebido como serviço contínuo: as mesmas pessoas todos os meses, um backlog que a sua empresa prioriza e horas que pode consultar no nosso portal e na fatura.

A página da equipa dedicada explica como os especialistas integram a sua equipa, e a página de outsourcing aborda a entrega de projetos, as tomadas a cargo e a forma como cobramos.

Quem trabalha em desenvolvimento de software embebido para a sua empresa

  • Engenheiros de software embebido

    Aplicações Linux embebido e RTOS em C, C++ e Rust

  • Engenheiros de kernel Linux e BSP

    Drivers, device trees, bootloaders e camadas Yocto

  • Engenheiros de plataformas automóvel e Android

    Builds de dispositivos AUTOSAR, infotainment e AOSP

  • Designers de UI e UX

    Interfaces de dispositivo desenhadas no Figma

  • Engenheiros de QA

    Planos de teste, automação e execuções em placas reais

Como trabalhamos em software embebido

O build é reprodutível a partir de um checkout limpo dentro de um contentor, pelo que a imagem que a sua pipeline produz é a imagem que é entregue. Os avisos do compilador são erros, a análise estática corre em cada alteração, os testes unitários correm na máquina de build e em hardware emulado no QEMU ou no Renode, e a mesma bateria de testes corre em placas reais antes de cada lançamento. Os kernels e as bibliotecas mantêm-se em versões com manutenção, e cada build produz uma lista de materiais de software (SBOM), para que um aviso de segurança possa ser associado às imagens que afeta.

O hardware chega ao engenheiro de uma de duas formas: os kits de desenvolvimento e as placas de protótipo são-lhe enviados, ou o engenheiro trabalha num rack no seu laboratório através de comutação remota de alimentação, uma sonda de depuração e uma consola série pela sua VPN. Em qualquer dos casos, o build corre na sua pipeline e o código vive nos seus repositórios.

Outros serviços de sistemas embebidos e hardware

Visão geral de Sistemas embebidos e hardware

Perguntas sobre desenvolvimento de software embebido

Linux embebido ou um sistema operativo de tempo real?

Linux embebido quando o dispositivo precisa de uma interface rica, de rede, de um sistema de ficheiros ou de software escrito para servidores, e tem um processador com unidade de gestão de memória e dezenas de megabytes de RAM ou mais. Zephyr ou FreeRTOS num microcontrolador quando o dispositivo funciona a bateria, tem de responder em microssegundos ou tem de custar poucos euros a produzir. Muitos produtos usam ambos, Linux no processador de aplicações e um RTOS num microcontrolador ao lado, e propomos a divisão antes de o hardware estar fixado.

Em que setores trabalham os engenheiros de software embebido?

Eletrónica de consumo e casa inteligente, em câmaras, colunas, televisores e eletrodomésticos; automação industrial e energia, em controladores, painéis de operador, inversores e carregadores de VE; automóvel, em infotainment, cockpits digitais e unidades de telemática; telecomunicações e redes, em routers, gateways, firewalls e pontos de acesso; sistemas de segurança, em centrais de alarme, controlo de acessos e gravadores de vídeo; e dispositivos médicos, em monitores de doentes e equipamento de diagnóstico.

Podem assumir o nosso código embebido existente?

Sim. Uma assunção começa com uma revisão só de leitura: se a imagem compila a partir de um checkout limpo, a que kernel e bibliotecas está fixada, como as atualizações são assinadas e entregues, e que vulnerabilidades conhecidas afetam o que já está no terreno, documentado como uma lista de riscos por ordem de impacto.

Trabalham em produtos médicos, automóveis e outros produtos regulados?

Sim. Para dispositivos médicos, veículos e funções de segurança industrial, trabalhamos dentro do seu sistema de gestão da qualidade e do seu processo de segurança: os seus procedimentos, controlos de design, ficheiro de riscos e safety case, com a rastreabilidade que a IEC 62304 e a ISO 14971, a ISO 26262 e o Automotive SPICE, ou a IEC 61508 exigem mantida à medida que o trabalho decorre, e não reconstruída antes de uma auditoria. A certificação e o dossiê regulamentar ficam consigo, como fabricante.

Em quanto tempo podem começar engenheiros de software embebido?

Quando o engenheiro de software embebido adequado está disponível, o arranque depende apenas da sua entrevista, do NDA e da cedência de propriedade intelectual. Caso contrário, fazemos uma pesquisa, que normalmente produz perfis de candidatos em duas a três semanas, e ninguém começa antes de a sua empresa dar o seu acordo.

Como contratamos engenheiros de software embebido através da BigTree108?

Diga-nos qual é o trabalho, a senioridade e o horário de que precisa. Propomos uma ou duas pessoas com os respetivos perfis, a sua empresa entrevista-as como entrevistaria uma contratação própria, e assina um único contrato com a BIG TREE 108 LLC e recebe uma fatura por mês.

A quem pertence o trabalho que produzem?

A sua empresa. Cada especialista tem um contrato assinado com a BigTree108 que atribui à empresa todo o trabalho produzido, e o nosso contrato com a sua empresa atribui-lho. O código, os designs e os documentos são entregues nos seus próprios repositórios e ferramentas, e não mantidos onde só nós os podemos alterar.

Está a desenvolver um dispositivo embebido?

Diga-nos o processador, o sistema operativo e o que o dispositivo tem de fazer. Receberá resposta no prazo de um dia útil: um plano para o software, perfis de candidatos ou uma revisão do código existente.