
Codice sorgente del firmware Flipper Zero
Il nostro obiettivo principale è costruire una comunità sana e sostenibile attorno a Flipper, quindi siamo aperti a nuove idee e contributi. Abbiamo anche alcune regole e tabù qui, quindi per favore leggi attentamente questa pagina e il nostro Codice di condotta.
Il posto migliore per cercare risposte è la nostra Documentazione utente. Se non trovi la risposta lì, controlla il nostro server Discord. Se vuoi contribuire allo sviluppo del firmware o modificarlo per le tue esigenze, puoi anche consultare la nostra Documentazione sviluppatore.
Se hai trovato un problema e vuoi segnalarlo, controlla la nostra pagina Issues. Assicurati che la descrizione contenga informazioni sulla versione del firmware in uso, sulla tua piattaforma e una chiara spiegazione dei passaggi per riprodurre il problema.
Se hai una richiesta di funzionalità o vuoi votare per una già esistente, utilizza Discussioni e segui le nostre Linee guida per le discussioni.
Prima di aprire una PR, conferma che le tue modifiche debbano essere contenute nel firmware. Molte idee possono essere facilmente implementate come applicazioni esterne e pubblicate nel Catalogo applicazioni Flipper. Se non sei sicuro, contattaci sul server Discord o sulla pagina Issues, e ti aiuteremo a trovare il posto giusto per il tuo codice.
Inoltre, leggi la nostra Guida ai contributi e il nostro Stile di codifica, e assicurati che il tuo codice sia compatibile con la nostra Licenza di progetto.
Infine, apri una Pull Request e assicurati che gli stati CI/CD siano tutti verdi.
Il firmware di Flipper Zero è scritto in C, con alcune parti scritte in C++ e linguaggio assembly armv7m. Si consiglia un livello intermedio di conoscenza del C per programmare comodamente. I linguaggi C, C++ e assembly armv7m sono supportati per le applicazioni Flipper.
Piattaforme di sviluppo supportate:
Debugger in-circuit supportati (opzionali ma altamente raccomandati):
Il sistema di build di Flipper si occuperà di tutte le altre dipendenze.
Assicurati di avere spazio sufficiente e clona il codice sorgente:
git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git
Compila il firmware utilizzando Flipper Build Tool:
./fbt
Collega il tuo debugger in-circuit al tuo Flipper ed esegui il flash del firmware utilizzando Flipper Build Tool:
./fbt flash
Assicurati che il tuo Flipper sia acceso e che il firmware funzioni. Collega il tuo Flipper con un cavo USB ed esegui il flash del firmware utilizzando Flipper Build Tool:
./fbt flash_usb
applications - Applicazioni e servizi usati nel firmwareapplications_users - Spazio per le tue applicazioni e servizi aggiuntiviassets - Risorse usate da applicazioni e servizidocumentation - Configurazioni del sistema di generazione documentazione e file di inputfuri - Furi Core: primitive e helper a livello di sistema operativolib - Librerie nostre e di terze parti, driver, strumenti e così via...site_scons - Configurazione e moduli del sistema di buildscripts - Script supplementari e varie librerie Pythontargets - Target del firmware: codice specifico della piattaformaInoltre, consulta i file ReadMe.md all'interno di queste directory per ulteriori dettagli.