Saltar para o conteúdo
BigTree108

Serviços de desenvolvimento de firmware

Serviços de desenvolvimento de firmware para microcontroladores: firmware bare-metal e RTOS em C, C++ e Rust, drivers, stacks Bluetooth e sem fios, bootloaders e atualizações em campo, firmware de ECU automóvel, controlo de motores e gestão de baterias, e design de baixo consumo para wearables, sensores, contadores, eletrodomésticos, veículos e dispositivos médicos, com engenheiros de firmware dedicados para a sua equipa ou projetos entregues de ponta a ponta.

Firmware que desenvolvemos

  • Firmware para microcontroladores

    Firmware bare-metal, Zephyr, FreeRTOS ou Eclipse ThreadX para componentes STM32, Nordic nRF52, nRF53 e nRF54, ESP32, NXP, Renesas, Infineon, Microchip e Silicon Labs, usando o SDK do fabricante quando poupa tempo e encapsulando-o quando prenderia o produto a um só chip.

  • Drivers de periféricos e sensores

    Drivers I2C, I3C, SPI, UART, CAN, ADC e DMA para sensores, ecrãs, motores e rádios, cada um testado contra um dispositivo simulado ou gravado antes de encontrar o dispositivo real.

  • Firmware de protocolos sem fios

    Stacks Bluetooth Low Energy e LE Audio, Wi-Fi, Thread, Matter, Zigbee e LoRaWAN configurados e estendidos no chip, e modems celulares controlados por comandos AT ou LwM2M, prontos para a qualificação da Bluetooth SIG e para a certificação Matter.

  • Bootloaders e atualizações em campo

    MCUboot ou um bootloader à medida com imagens assinadas, duas partições e reversão, para que uma atualização interrompida por uma bateria descarregada deixe o dispositivo na sua última versão funcional.

  • Firmware de baixo consumo e wearables

    Pulseiras desportivas, adesivos de saúde, auriculares e sensores que funcionam durante meses com uma bateria pequena: modos de suspensão, fontes de despertar e ciclos de trabalho do rádio ajustados face ao traçado de um power profiler, para que a autonomia impressa na caixa seja uma medição e não uma estimativa.

  • Firmware de controlo de motores, energia e baterias

    Controlo orientado ao campo para motores BLDC e de passo, gestão de baterias com equilíbrio de células e estimativa do estado de carga, e firmware de controlo para carregadores, inversores solares e armazenamento de energia, com as malhas de controlo afinadas em simulação antes de acionarem hardware real.

  • Firmware de ECU automóvel

    Software base e componentes de aplicação Classic AUTOSAR em controladores Infineon AURIX, NXP S32K e Renesas RH850, comunicação CAN FD, LIN e Ethernet automóvel, e diagnóstico UDS, escritos segundo a MISRA C e o nível de segurança ISO 26262 que o seu item exige.

  • Áudio, DSP e machine learning no dispositivo

    Processamento de sinal de áudio e de sensores com CMSIS-DSP ou em núcleos Cadence Tensilica e Analog Devices SHARC, e modelos de deteção de palavras-chave, gestos e anomalias a correr no microcontrolador através do LiteRT for Microcontrollers ou do Edge Impulse.

  • Firmware crítico para a segurança e tolerante a falhas

    Firmware para dispositivos médicos, eletrodomésticos e funções de segurança industrial escrito segundo a MISRA C e as regras da IEC 62304, IEC 60730 ou IEC 61508, com watchdogs, tratadores de falhas que guardam um registo do crash após o reinício e cobertura de código medida ao nível que a norma exige.

Contratar engenheiros de firmware

  • engenheiros de firmware dedicados

    Engenheiros de firmware 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 firmware

    Uma parcela definida de desenvolvimento de firmware, 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 firmware em regime contínuo

    Desenvolvimento de firmware 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 firmware para a sua empresa

  • Engenheiros de firmware

    C, C++ e Rust em microcontroladores

  • Engenheiros de firmware automóvel

    Classic AUTOSAR, CAN e diagnóstico UDS

  • Engenheiros de hardware

    Esquemas e bring-up da placa em que o firmware corre

  • Engenheiros de QA embebido

    Testes hardware-in-the-loop e fixtures

  • Engenheiros mobile

    Aplicações companheiras em iOS, .NET MAUI e React Native

Como escrevemos firmware

A maior parte do firmware pode ser testada sem a placa, por isso escrevemo-lo assim: o acesso ao hardware fica atrás de interfaces finas, a lógica acima delas corre como testes unitários na máquina de build com Unity, Ceedling ou GoogleTest, e o Renode corre a imagem inteira em hardware emulado na pipeline. A análise estática verifica as regras MISRA C ou CERT C quando o seu produto o exige, os avisos do compilador são erros e cada imagem de lançamento é construída a partir de um commit etiquetado pela pipeline e assinada aí.

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 firmware

O trabalho de firmware pode começar antes de o nosso hardware estar pronto?

Sim. O trabalho começa no kit de desenvolvimento do microcontrolador escolhido e no Renode, com drivers escritos a partir das fichas técnicas dos componentes do seu esquema, para que as primeiras placas de protótipo arranquem com firmware que já existe, em vez de começar do zero.

C, C++ ou Rust para o nosso firmware?

C quando o SDK do fabricante, o código existente ou as suas evidências de certificação estão em C. C++ para firmware maior que beneficia de tipos e templates sem alocação em heap. Rust, com Embassy e embedded-hal, para firmware novo em que a segurança de memória importa e o microcontrolador é bem suportado; o Rust já é a linguagem do nosso próprio software de desktop. Recomendamos uma por produto antes de ser escrita a primeira linha.

Em que setores trabalham os engenheiros de firmware?

Eletrónica de consumo e wearables, em pulseiras desportivas, auriculares, eletrodomésticos e sensores de casa inteligente; equipamento industrial e de energia, em acionamentos de motores, sistemas de gestão de baterias, contadores e carregadores; automóvel, em ECUs de carroçaria, conforto e powertrain e em controladores de bicicletas e trotinetes elétricas; dispositivos médicos e de saúde, em monitores de glicose, bombas de perfusão e aparelhos auditivos; produtos de segurança, em sensores de alarme, fechaduras inteligentes e leitores de acesso; e telecomunicações, em modems e módulos de rádio.

Em quanto tempo podem começar engenheiros de firmware?

Quando o engenheiro de firmware 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 firmware 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.

Precisa de firmware escrito ou corrigido?

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