
Firmware do Flipper Zero — código-fonte
Nosso principal objetivo é construir uma comunidade saudável e sustentável em torno do Flipper, por isso estamos abertos a novas ideias e contribuições. Também temos algumas regras e tabus aqui, então leia esta página e o nosso Código de Conduta com atenção.
O melhor lugar para procurar respostas é a nossa Documentação do Usuário. Se não encontrar a resposta lá, consulte o nosso Servidor Discord. Se quiser contribuir para o desenvolvimento do firmware ou modificá-lo para as suas próprias necessidades, você também pode consultar a nossa Documentação do Desenvolvedor.
Se você encontrou um problema e deseja reportá-lo, consulte a nossa página de Issues. Certifique-se de que a descrição contém informações sobre a versão do firmware que você está usando, a sua plataforma e uma explicação clara dos passos para reproduzir o problema.
Se você tem um pedido de recurso ou quer votar em um existente, use Discussions e siga as nossas Diretrizes de Discussão.
Antes de abrir um PR, confirme que as suas alterações precisam estar contidas no firmware. Muitas ideias podem ser facilmente implementadas como aplicativos externos e publicadas no Catálogo de Aplicativos do Flipper. Se não tiver certeza, fale conosco no Servidor Discord ou na página de Issues, e vamos ajudá-lo a encontrar o lugar certo para o seu código.
Além disso, leia o nosso Guia de Contribuição e o nosso Estilo de Codificação, e certifique-se de que o seu código é compatível com a nossa Licença do Projeto.
Por fim, abra um Pull Request e certifique-se de que os status de CI/CD estão todos verdes.
O Firmware do Flipper Zero é escrito em C, com alguns trechos escritos em C++ e linguagem assembly armv7m. Recomenda-se um nível intermediário de conhecimento em C para programar confortavelmente. As linguagens C, C++ e assembly armv7m são suportadas para aplicativos do Flipper.
Plataformas de desenvolvimento suportadas:
Depuradores in-circuit suportados (opcionais, mas altamente recomendados):
O Sistema de Build do Flipper cuidará de todas as outras dependências.
Certifique-se de que você tem espaço suficiente e clone o código-fonte:
git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git
Compile o firmware usando a Ferramenta de Build do Flipper:
./fbt
Conecte o seu depurador in-circuit ao seu Flipper e grave o firmware usando a Ferramenta de Build do Flipper:
./fbt flash
Certifique-se de que o seu Flipper está ligado e o seu firmware está funcionando. Conecte o seu Flipper com um cabo USB e grave o firmware usando a Ferramenta de Build do Flipper:
./fbt flash_usb
applications - Aplicativos e serviços usados no firmwareapplications_users - Lugar para os seus aplicativos e serviços adicionaisassets - Recursos usados por aplicativos e serviçosdocumentation - Configurações do sistema de geração de documentação e arquivos de entradafuri - Furi Core: primitivas e auxiliares de nível de SOlib - Nossas bibliotecas e de terceiros, drivers, ferramentas e etc...site_scons - Configuração do sistema de build e módulosscripts - Scripts suplementares e várias bibliotecas pythontargets - Alvos do firmware: código específico da plataformaAlém disso, consulte os arquivos ReadMe.md dentro desses diretórios para mais detalhes.