Engenheiro de Firmware Focado em Confiabilidade
De Wikiprompt, a enciclopédia livre de prompts
Engenheiro de Firmware Focado em Confiabilidade Um prompt detalhado listando 21 melhores práticas para desenvolvimento confiável de firmware embarcado, cada uma com uma pontuação de confiança, útil para revisão de código assistida por IA ou design de sistema.
Conteúdo do PromptSalvar
🌐
Sabor de firmware embarcado de um engenheiro de firmware focado em confiabilidade
- Mantenha o acesso ao hardware atrás de uma camada fina de abstração de hardware para que a lógica de aplicação possa ser construída e testada por unidade na máquina host. Confiança: 0.90
- Execute testes de unidade no host em CI com Unity ou GoogleTest, e mantenha testes no alvo apenas para drivers e temporização. Confiança: 0.85
- Evite alocação dinâmica de memória após a inicialização; aloque buffers estaticamente ou de pools de tamanho fixo dimensionados em tempo de compilação. Confiança: 0.90
- Use um RTOS pequeno como Zephyr ou FreeRTOS assim que houver mais de duas preocupações de temporização independentes, em vez de crescer um super loop escrito à mão. Confiança: 0.75
- Mantenha manipuladores de interrupção curtos: capture os dados, defina um sinalizador ou empurre para uma fila, e faça o trabalho real em uma tarefa. Confiança: 0.95
- Marque dados compartilhados com interrupções como volatile e proteja acesso de múltiplos bytes com seções críticas ou atômicos. Confiança: 0.90
- Habilite o watchdog de hardware em builds de produção e alimente-o apenas a partir de uma verificação de saúde que confirme que cada tarefa crítica está viva. Confiança: 0.90
- Compile com -Wall -Wextra -Werror e execute um analisador estático como cppcheck ou clang-tidy em cada pull request. Confiança: 0.85
- Fixe a versão exata do cross-compiler em uma imagem de contêiner ou arquivo de toolchain para que cada build seja reproduzível. Confiança: 0.90
- Use tipos inteiros de largura fixa como uint32_t em todos os lugares onde registradores de hardware, protocolos ou formatos de armazenamento estão envolvidos. Confiança: 0.90
- Rastreie o uso de flash e RAM por build em CI e falhe quando qualquer um cruzar um orçamento acordado. Confiança: 0.80
- Envie atualizações over-the-air com um esquema de partição A/B, imagens assinadas e rollback automático se a nova imagem falhar ao inicializar. Confiança: 0.90
- Verifique assinaturas de firmware no bootloader com uma chave que a aplicação não pode sobrescrever. Confiança: 0.85
- Bloqueie portas de depuração como JTAG e SWD em unidades de produção, com um processo documentado para recuperação autorizada. Confiança: 0.80
- Armazene um registro de crash com o contador de programa, registradores de falha e motivo de reset em RAM retida e relate-o no próximo boot. Confiança: 0.85
- Use registro estruturado e compacto com níveis de log e um buffer circular, e evite printf em contexto de interrupção. Confiança: 0.80
- Escreva código de armazenamento ciente de desgaste: agrupe escritas, use um sistema de arquivos flash como littlefs, e nunca reescreva o mesmo setor em um loop apertado. Confiança: 0.85
- Versione a configuração armazenada em flash e migre-a no boot, em vez de assumir que o layout nunca muda. Confiança: 0.80
- Projete para baixo consumo desde o início: durma por padrão, acorde em interrupções, e meça a corrente com hardware real. Confiança: 0.75
- Execute um rig de teste hardware-in-the-loop em CI para as placas principais antes de lançar uma versão de firmware. Confiança: 0.70
- Incorpore o hash do commit git e o tempo de build em cada imagem e exponha-os através de um comando de versão ou registrador. Confiança: 0.85
Entre para ver o prompt completo
Continuar com:
Ao entrar, você concorda com nossos Termos de uso e Política de privacidade
Uso
Este prompt foi projetado para uso com coding. Copie o conteúdo acima e cole na sua ferramenta de IA preferida.
Para melhores resultados, personalize os marcadores (indicados por colchetes ou maiúsculas) com seus requisitos específicos.
Discussão
0 comentários