
flipperzero-firmware v1.5.0-rc
Código fuente del firmware de Flipper Zero
Firmware de Flipper Zero
- Sitio web oficial de Flipper Zero - Una forma sencilla de explicar a tus amigos lo que Flipper Zero puede hacer.
- Actualización de firmware de Flipper Zero - Mejoras para tu delfín: últimas versiones de firmware, herramientas de actualización para PC y dispositivos móviles.
- Documentación de usuario - Aprende más sobre tu delfín: especificaciones, guías de uso y cualquier cosa que quieras preguntar.
- Documentación para desarrolladores - Sumérgete en el código fuente del firmware de Flipper Zero: sistema de compilación, estructura del firmware y más.
Contribuir
Nuestro objetivo principal es construir una comunidad sana y sostenible alrededor de Flipper, por lo que estamos abiertos a cualquier idea y contribución nueva. También tenemos algunas reglas y tabúes aquí, así que lee esta página y nuestro Código de conducta con atención.
Necesito ayuda
El mejor lugar para buscar respuestas es nuestra Documentación de usuario. Si no encuentras la respuesta allí, consulta nuestro Servidor de Discord. Si quieres contribuir al desarrollo del firmware o modificarlo para tus propias necesidades, también puedes consultar nuestra Documentación para desarrolladores.
Quiero reportar un problema
Si has encontrado un problema y quieres reportarlo, consulta nuestra página de Issues. Asegúrate de que la descripción contenga información sobre la versión del firmware que estás usando, tu plataforma y una explicación clara de los pasos para reproducir el problema.
Quiero proponer una nueva funcionalidad
Si tienes una solicitud de funcionalidad o quieres votar por una existente, utiliza Discussions y sigue nuestras Directrices de discusión.
Quiero contribuir con código
Antes de abrir un PR, confirma que tus cambios deben estar contenidos en el firmware. Muchas ideas pueden implementarse fácilmente como aplicaciones externas y publicarse en el Catálogo de aplicaciones de Flipper. Si no estás seguro, contáctanos en el Servidor de Discord o en la página de Issues, y te ayudaremos a encontrar el lugar adecuado para tu código.
Además, lee nuestra Guía de contribución y nuestro Estilo de codificación, y asegúrate de que tu código sea compatible con nuestra Licencia del proyecto.
Finalmente, abre un Pull Request y asegúrate de que los estados de CI/CD estén todos en verde.
Desarrollo
El firmware de Flipper Zero está escrito en C, con algunas partes escritas en C++ y lenguaje ensamblador armv7m. Se recomienda un nivel intermedio de conocimientos de C para programar cómodamente. Los lenguajes C, C++ y ensamblador armv7m son compatibles para las aplicaciones de Flipper.
Requisitos
Plataformas de desarrollo compatibles:
- Windows 10+ con PowerShell y Git (x86_64)
- macOS 12+ con herramientas de línea de comandos (x86_64, arm64)
- Ubuntu 20.04+ con build-essential y Git (x86_64)
Depuradores en circuito compatibles (opcionales pero muy recomendados):
- Placa de desarrollo Wi-Fi para Flipper Zero
- Compatibles con CMSIS-DAP: Raspberry Pi Debug Probe, etc...
- ST-Link (v2, v3, v3mods)
- J-Link
El sistema de compilación de Flipper se encargará de todas las demás dependencias.
Clonar el código fuente
Asegúrate de tener suficiente espacio y clona el código fuente:
git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git
Compilar
Compila el firmware con la herramienta de compilación de Flipper:
./fbt
Flashear el firmware con un depurador en circuito
Conecta tu depurador en circuito a tu Flipper y flashea el firmware con la herramienta de compilación de Flipper:
./fbt flash
Flashear el firmware por USB
Asegúrate de que tu Flipper esté encendido y que tu firmware funcione. Conecta tu Flipper con un cable USB y flashea el firmware con la herramienta de compilación de Flipper:
./fbt flash_usb
Documentación
- Herramienta de compilación de Flipper - compilar, flashear y depurar el software de Flipper
- Aplicaciones, Manifiesto de aplicaciones - desarrollar, compilar, implementar y depurar aplicaciones de Flipper
- Combinaciones de hardware y desbloqueo - recuperar tu Flipper de las situaciones más complicadas
- Formatos de archivo de Flipper - todo sobre cómo Flipper almacena tus datos y cómo puedes trabajar con ellos
- Controles remotos universales - contribuye con tu infrarrojo remoto a la base de datos de controles remotos universales
- Y mucho más en la Documentación para desarrolladores
Estructura del proyecto
applications- Aplicaciones y servicios utilizados en el firmwareapplications_users- Lugar para tus aplicaciones y servicios adicionalesassets- Recursos utilizados por aplicaciones y serviciosdocumentation- Configuraciones del sistema de generación de documentación y archivos de entradafuri- Furi Core: primitivas y utilidades a nivel de sistema operativolib- Nuestras bibliotecas y las de terceros, drivers, herramientas, etc...site_scons- Configuración y módulos del sistema de compilaciónscripts- Scripts complementarios y diversas bibliotecas de Pythontargets- Objetivos del firmware: código específico de la plataforma
Además, consulta los archivos ReadMe.md dentro de esos directorios para obtener más detalles.
Enlaces
- Discord: flipp.dev/discord
- Reddit: reddit.com/r/flipperzero
- Sitio web: flipper.net
- Kickstarter: kickstarter.com
Herramientas SAST
- PVS-Studio - analizador estático para código C, C++, C# y Java.