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
Desenvolvimento de software embebido
Serviços de desenvolvimento de software embebido: Linux embebido, Android e RTOS, drivers, BSP, software automóvel, de rede, de áudio e de vídeo e atualizações seguras, com engenheiros de software embebido dedicados ou entrega de projetos.
Desenvolvimento FPGA
Serviços de desenvolvimento FPGA: design RTL em SystemVerilog e VHDL, verificação de FPGA e ASIC, SoC FPGA, vídeo, redes, aquisição de dados e aceleração, com engenheiros FPGA dedicados ou entrega de projetos.
Design de hardware e PCB
Serviços de design de hardware e PCB: esquemas, layout multicamada e HDI, design de alta velocidade, RF, analógico e de potência, preparação para EMC e ficheiros de produção, com engenheiros de hardware dedicados ou entrega de projetos.
Desenvolvimento IoT
Serviços de desenvolvimento IoT: conectividade, provisionamento, plataformas cloud no Azure ou na AWS, atualizações de frotas, IoT industrial, localização de ativos, carregamento de veículos elétricos, dashboards e aplicações, com programadores IoT dedicados ou entrega de projetos.
Testes de sistemas embebidos e de hardware
Serviços de testes de sistemas embebidos e de hardware: testes de dispositivos, bancadas hardware-in-the-loop, automatização de firmware, testes de ECU automóveis, de conectividade e de segurança, com engenheiros de QA embebido dedicados ou entrega de projetos.
Software de robótica
Serviços de desenvolvimento de software de robótica em ROS 2: perceção, navegação, planeamento de movimento, controlo de robôs, células industriais, veículos autónomos e software de frotas, com engenheiros de robótica dedicados ou entrega de projetos.
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.