← Início
Desenvolvimento embedded crítico segundo as normas
Mais de 35 anos de experiência em segurança funcional, sistemas de tempo real e desenvolvimento próximo do hardware — familiarizado com as normas relevantes para automóvel, médico e indústria.
O desenvolvimento embedded crítico não é uma questão de funções isoladas, mas de abordagem global: da análise de requisitos à arquitetura e implementação, até à verificação e documentação. Quem encomenda nesta área não procura apenas um bom programador, mas alguém que tenha compreendido a interação entre norma, método e código — e que saiba estimar de forma realista o esforço que o cumprimento implica.
As três áreas de competência seguintes constituem a base do meu trabalho. Sobrepõem-se em quase todos os projetos.
Experiência
1. Experiência
Mais de três décadas de desenvolvimento embedded — desde o início de carreira no desenvolvimento de motores até à atividade atual como consultor independente. No segmento premium, a experiência não é um argumento de marketing mas um pré-requisito: quem desenvolve sistemas de tempo real próximos do hardware ou firmware crítico precisa da memória dos modos de falha que não aparecem nos manuais.
- Mais de 35 anos de desenvolvimento embedded (desde 1990)
- Início de carreira na Mercedes-Benz, Stuttgart-Untertürkheim
- Projetos para vários grandes construtores na Alemanha, Reino Unido e Estados Unidos — e para os seus fornecedores franceses e alemães
- Atividade internacional na Alemanha e em França
- 2002 — fundação da Navimess Elektronik (posteriormente encerrada)
- 2012 — fundação da SCHMITT CONSULTING S.A.R.L. em França
- Diplom-Informatiker (FH), especialização Informática Técnica
- Trabalho de fim de curso em controlo automático com drivers de hardware em tempo real em assembler
Normas
2. Normas e padrões
Familiarizado com as normas relevantes para o desenvolvimento crítico em automóvel, médico e indústria. «Familiarizado» significa aqui: conheço os requisitos, os métodos e as armadilhas típicas — e sei estimar que esforço normativo se ajusta ao seu projeto e qual seria desproporcionado. Nos projetos atuo como programador dentro do quadro de cumprimento estabelecido pelo cliente; não assumo um papel autónomo de auditor normativo.
- ISO 26262 — Segurança funcional (automóvel, ASIL A a D)
- IEC 61508 — Segurança funcional (indústria, SIL 1 a 4)
- IEC 62304 — Ciclo de vida do software (dispositivos médicos, classes A/B/C)
- IEC 60601-1 — Segurança do aparelho (médico)
- RTCA/DO-178B — Software aeronáutico (DAL A a E)
- Automotive SPICE — Avaliação de processos em projetos automóveis
- MISRA-C / MISRA-C++ — Regras de codificação para software C/C++ crítico
Gestão
3. Gestão de projeto
Os projetos embedded raramente falham na técnica, frequentemente falham na comunicação e na condução. A minha gestão de projeto está alinhada com o que esperam os clientes do segmento premium: prazos rastreáveis, custos transparentes, transferências claras. Não trabalho com metodologia sobrecarregada, mas com aquilo de que um projeto realmente precisa.
- Controlo rigoroso de prazos e custos
- Coordenação regular com o cliente à cadência acordada
- Orçamentos com garantia de preço para contratos a preço fixo
- Transferência de conhecimento para equipas do cliente no fim do projeto
- Coordenação de fornecedores externos e áreas internas
- Documentação técnica e entrega de código rastreável
- Disponibilidade para assinar NDA e tratamento confidencial dos conteúdos do projeto
Áreas técnicas adicionais
Para além dos três campos principais, 35 anos de prática fizeram emergir várias áreas de fundo que frequentemente fazem a diferença nos projetos:
- Sistemas de tempo real e desenvolvimento bare-metal
- Programação próxima do hardware em microcontroladores limitados, com ou sem sistema operativo de tempo real. Experiência em temporização determinística, arquiteturas de interrupção e otimização sob restrições de memória e tempo de execução.
- Verificação FPGA
- Desenvolvimento em VHDL e SystemVerilog, com testbenches e verificação sistemática. Os projetos FPGA não são «software num chip» — seguem regras próprias, e é precisamente aí que muitos projetos falham.
- Recuperação de código e engenharia inversa
- Análise de bases de software herdadas — assembler, C, C++, frequentemente sem documentação — e a sua preparação sistemática para a equipa do cliente. O projeto Stihl (ver referências) é um exemplo disso.
- Cifragem e comunicação segura
- Desenvolvimento de procedimentos criptográficos e de comunicação de bus segura em contexto embedded, onde as bibliotecas-padrão não se ajustam — desde atualizações de firmware assinadas, passando por bootloaders seguros, até soluções de cifragem à medida. Nota: a partir de certo nível de cifragem pode ser necessária autorização da autoridade competente, dado que algumas tecnologias de cifragem não podem ser exportadas para todos os países. A necessidade de autorização é examinada em conjunto antes do início.
O que estas competências significam para si
Se tem um projeto em que a conformidade normativa, os requisitos de tempo real ou a complexidade próxima do hardware desempenham um papel — e ao mesmo tempo não quer contratar toda uma equipa de especialistas, mas sim uma pessoa com visão de conjunto e compromisso de entrega — então uma cooperação é provavelmente adequada.