
flipperzero-firmware v1.5.0-rc
Firmware do Flipper Zero — código-fonte
Firmware do Flipper Zero
- Site oficial do Flipper Zero - Uma maneira simples de explicar aos seus amigos o que o Flipper Zero pode fazer.
- Atualização de Firmware do Flipper Zero - Melhorias para o seu golfinho: versões de firmware mais recentes, ferramentas de atualização para PC e dispositivos móveis.
- Documentação do Usuário - Saiba mais sobre o seu golfinho: especificações, guias de uso e qualquer coisa que queira perguntar.
- Documentação do Desenvolvedor - Mergulhe no código-fonte do Firmware do Flipper Zero: sistema de build, estrutura do firmware e muito mais.
Como Contribuir
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.
Preciso de ajuda
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.
Quero relatar um problema
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.
Quero propor um novo recurso
Se você tem um pedido de recurso ou quer votar em um existente, use Discussions e siga as nossas Diretrizes de Discussão.
Quero contribuir com código
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.
Desenvolvimento
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.
Requisitos
Plataformas de desenvolvimento suportadas:
- Windows 10+ com PowerShell e Git (x86_64)
- macOS 12+ com ferramentas de linha de comando (x86_64, arm64)
- Ubuntu 20.04+ com build-essential e Git (x86_64)
Depuradores in-circuit suportados (opcionais, mas altamente recomendados):
- Flipper Zero Wi-Fi Development Board
- Compatível com CMSIS-DAP: Raspberry Pi Debug Probe e etc...
- ST-Link (v2, v3, v3mods)
- J-Link
O Sistema de Build do Flipper cuidará de todas as outras dependências.
Clonando o código-fonte
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
Compilando
Compile o firmware usando a Ferramenta de Build do Flipper:
./fbt
Gravando o firmware usando um depurador in-circuit
Conecte o seu depurador in-circuit ao seu Flipper e grave o firmware usando a Ferramenta de Build do Flipper:
./fbt flash
Gravando o firmware via USB
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
Documentação
- Ferramenta de Build do Flipper - compilar, gravar e depurar o software do Flipper
- Aplicativos, Manifesto de Aplicativo - desenvolver, compilar, implantar e depurar aplicativos do Flipper
- Combinações de hardware e Un-bricking - recuperando o seu Flipper das situações mais complicadas
- Formatos de Arquivo do Flipper - tudo sobre como o Flipper armazena os seus dados e como você pode trabalhar com eles
- Controles Remotos Universais - contribuindo com o seu controle remoto infravermelho para o banco de dados de controles remotos universais
- E muito mais na Documentação do Desenvolvedor
Estrutura do projeto
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 plataforma
Além disso, consulte os arquivos ReadMe.md dentro desses diretórios para mais detalhes.
Links
- Discord: flipp.dev/discord
- Reddit: reddit.com/r/flipperzero
- Site: flipper.net
- Kickstarter: kickstarter.com
Ferramentas SAST
- PVS-Studio - analisador estático para código C, C++, C# e Java.