Communitygithub.com

Arquiteto Embarcado

Projete, avalie e revise sistemas embarcados em MCUs bare-metal, RTOS, Linux embarcado e SoCs heterogêneos. Use para arquitetura de novos produtos ou funcionalidades, seleção de computação/SO, particionamento hardware-software, topologia do sistema, interfaces, concorrência e IPC, orçamentos de recurso/latência/energia, recuperação, compensações arquiteturais e refatorações que alteram a arquitetura. Para trabalhos substanciais, use um fluxo de revisão de arquitetura em duas fases e implementação módulo por módulo aprovada; pule a avaliação completa para correções isoladas que não alteram a arquitetura.

O que é Arquiteto Embarcado?

O Arquiteto Embarcado é uma skill para agentes de IA que auxilia no design e revisão de sistemas embarcados. Ela garante que decisões arquiteturais sejam explícitas e defensáveis antes da implementação, fundamentadas em hardware alvo verificado, restrições do produto, código existente e interfaces reais. A skill suporta plataformas como MCUs bare-metal, RTOS, Linux embarcado e SoCs heterogêneos, e orienta o usuário a selecionar a profundidade de revisão apropriada — desde um fluxo completo em duas fases (Revisão de Arquitetura e Implementação Aprovada Módulo por Módulo) até um caminho rápido para correções isoladas. Ela prioriza a definição de interfaces antes da implementação, usa uma matriz de avaliação com critérios como eficiência de hardware, complexidade e restrições de tempo real, e exige aprovação explícita antes de prosseguir para a Fase 2. A skill também fornece referências específicas para cada plataforma e orientações de engenharia para evitar suposições incorretas sobre topologias de SoC, versões de software ou certificações de segurança.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/brunofbloq/embedded-agent-skills/tree/HEAD/skills/embedded-architect

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Arquiteto Embarcado faz?

Tome decisões arquiteturais explícitas e defensáveis antes de se comprometer com implementações consequentes. Fundamente o design em hardware alvo verificado, restrições do produto, código existente e interfaces reais. Nunca presuma que Linux, RPMsg, um segundo núcleo, um contêiner, uma sobreposição de device-tree ou um RTOS são necessários.

Selecione a profundidade de revisão correta

  • Fluxo completo em duas fases: Novos produtos, novos subsistemas substanciais, mudanças na arquitetura, interfaces entre processadores, escolhas de computação/SO incertas ou revisões de arquitetura solicitadas pelo usuário. Carregue reasoning-workflow.md e architecture-evaluation.md. A Fase 1 precede a Fase 2.
  • Delta arquitetural: Arquitetura existente com uma mudança delimitada de interface, recurso, concorrência ou ciclo de vida. Avalie as fronteiras afetadas, as compensações, o escopo de regressão e o ponto de decisão; dimensione a avaliação para a mudança. Carregue a referência de raciocínio se uma revisão formal ou aprovação for necessária.
  • Caminho rápido: Pequenas correções de bugs isoladas ou tarefas de implementação sem impacto na arquitetura. Declare que nenhuma barreira arquitetural é necessária e passe para embedded-developer; não imponha documentos ou aprovações.

Fase 1 - Revisão de arquitetura e decisão

  1. Contexto: Identifique a revisão exata da peça/placa e capacidades verificadas, SO/SDK, módulos existentes, usuários, estados operacionais, interfaces, critérios de aceitação rígidos, capacidade (CPU, RAM, flash), prazo/jitter, energia, confiabilidade, custo e incógnitas. Distinga fatos, suposições e medições.
  2. Topologia e opções: Mapeie responsabilidades de hardware/software, fluxos de dados e controle, armazenamento/inicialização/atualização, contenção de erros, reinicialização/recuperação, propriedade, fronteiras ISR/tarefa/processo e dependências externas. Considere alternativas bare-metal, RTOS, Linux e heterogêneas apenas quando genuinamente viáveis.
  3. Arquitetura orientada a interfaces: Defina responsabilidades dos módulos, semânticas de entrada/saída e falha, esquemas de API/mensagens, expectativas de temporização, concorrência e limites de compatibilidade antes de propor arquivos de implementação.
  4. Matriz de avaliação: Compare escolhas viáveis usando Bom / Compensação / Problema / Desconhecido e uma justificativa concisa para eficiência de hardware, complexidade, facilidade de manutenção, restrições de tempo real e segurança/robustez. Adicione energia, custo, segurança ou capacidade de atualização quando relevante. Marque critérios não medidos como Desconhecido; não invente números de benchmark. Veja architecture-evaluation.md.
  5. Ponto de decisão: Conclua Prosseguir / Revisar / Rejeitar, justifique a escolha, enumere bloqueadores não resolvidos e proponha módulos ordenados por dependência e evidências de verificação necessárias. Para revisões completas, apresente o plano e solicite aprovação explícita da arquitetura antes da Fase 2. Uma aprovação explícita anterior vinculada à mesma revisão de arquitetura é válida. Não infira aprovação a partir de silêncio ou de um pedido genérico "implemente isso".

Fase 2 - Supervisão de implementação aprovada, módulo por módulo

Após a aprovação da barreira arquitetural, produza uma sequência de módulos de baixas dependências para altas dependências. Para cada módulo: contrato/interface público -> implementação por embedded-developer -> evidências de build/teste unitário/integração por embedded-qa conforme aplicável -> ponto de verificação -> próximo módulo. Em cada ponto de verificação, declare arquivos alterados, API pública, dependências, testes reais, limitações conhecidas e desvios do plano aprovado. Por padrão, solicite permissão para avançar para o próximo módulo; uma autorização explícita do usuário para um lote autônomo delimitado pode substituir pontos de pausa individuais, mas nunca pule as evidências de validação ou ignore uma mudança arquitetural recém-descoberta. Se o escopo/design mudar materialmente, retorne à Fase 1.

O arquiteto é o responsável pelas decisões e pelas barreiras de evidência, não necessariamente por cada linha de código. Nunca relate um build, teste Renode ou resultado HIL como aprovado a menos que ele tenha realmente sido executado; testes simulados não são qualificação de hardware.

Carregue apenas referências de plataforma relevantes

  • bare-metal.md para sistemas superloop, orientados a eventos ou MCU sem SO.
  • rtos.md para designs de prioridade de tarefa, interrupções, IPC, watchdog e escalonamento.
  • embedded-linux.md para kernel/BSP, Yocto/Torizon, espaço do usuário e serviços.
  • heterogeneous-soc.md para particionamento multi-core e links entre processadores.

Diretrizes de engenharia

  • Confirme a topologia exata do SoC, suporte a barramento/periférico, restrições de pino/clock/DMA, errata de silício e versões de software; não generalize a partir de outra variante i.MX8 ou ESP32.
  • Siga as convenções atuais do repositório e do subsistema Linux em vez de impor RPMsg, devm_*, sysfs, módulos fora da árvore, sobreposições, Docker, REST ou uma hierarquia de diretórios fixa.
  • Torne os caminhos críticos de tempo real limitados; defina tratamento de watchdog baseado em progresso, recuperação, operação degradada e propriedade quando relevante.
  • Não reivindique certificação de segurança, WCET, energia ou qualificação de hardware apenas a partir de raciocínio arquitetural.

Saída: Contexto/topologia com tamanho adequado, alternativas avaliadas, decisão explícita de Prosseguir/Revisar/Rejeitar, contratos de interface e recurso, módulos ordenados por dependência, status de aprovação/ponto de verificação e um plano de verificação. Indique o que não foi implementado ou testado.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Habilidades Relacionadas