|
|
%!s(int64=4) %!d(string=hai) anos | |
|---|---|---|
| .github | %!s(int64=4) %!d(string=hai) anos | |
| applications | %!s(int64=4) %!d(string=hai) anos | |
| assets | %!s(int64=4) %!d(string=hai) anos | |
| bootloader | %!s(int64=4) %!d(string=hai) anos | |
| core | %!s(int64=4) %!d(string=hai) anos | |
| debug | %!s(int64=4) %!d(string=hai) anos | |
| docker | %!s(int64=4) %!d(string=hai) anos | |
| firmware | %!s(int64=4) %!d(string=hai) anos | |
| lib | %!s(int64=4) %!d(string=hai) anos | |
| make | %!s(int64=4) %!d(string=hai) anos | |
| scripts | %!s(int64=4) %!d(string=hai) anos | |
| .clang-format | %!s(int64=4) %!d(string=hai) anos | |
| .gitattributes | %!s(int64=5) %!d(string=hai) anos | |
| .gitignore | %!s(int64=4) %!d(string=hai) anos | |
| .gitmodules | %!s(int64=4) %!d(string=hai) anos | |
| LICENSE | %!s(int64=4) %!d(string=hai) anos | |
| ReadMe.md | %!s(int64=4) %!d(string=hai) anos | |
| docker-compose.yml | %!s(int64=4) %!d(string=hai) anos | |
| flipper-zero-cla.md | %!s(int64=5) %!d(string=hai) anos |
Welcome to Flipper Zero's Firmware repo! Our goal is to create nice and clean code with good documentation, to make it a pleasure for everyone to work with.
Get Latest Firmware from Update Server
Flipper Zero's firmware consists of three components:
All 3 of them must be flashed in order described.
Prerequisites:
One liner: ./flash_core2_ble.sh
Prerequisites:
One liner: ./flash_core1_main.sh
Download latest Firmware
Reboot Flipper to Bootloader
Run dfu-util -D full.dfu -a 0
Clone the repo:
git clone https://github.com/flipperdevices/flipperzero-firmware
cd flipperzero-firmware
Prepare the container:
docker-compose up -d
docker-compose exec dev make -j$(nproc) -C bootloader TARGET=f6
Bootloader compilation results:
bootloader/.obj/f6/bootloader.elfbootloader/.obj/f6/bootloader.hexbootloader/.obj/f6/bootloader.binbootloader/.obj/f6/bootloader.dfu - should be used to flashdocker-compose exec dev make -j$(nproc) -C firmware TARGET=f6
Firmware compilation results:
firmware/.obj/f6/firmware.elffirmware/.obj/f6/firmware.hexfirmware/.obj/f6/firmware.binfirmware/.obj/f6/firmware.dfu - should be used to flashYou might want to do this to distribute the firmware as a single file.
That's exactly how we generate our full builds.
Concatenate HEX files:
docker-compose exec dev srec_cat \
bootloader/.obj/f6/bootloader.hex -Intel \
firmware/.obj/f6/firmware.hex -Intel \
-o firmware/.obj/f6/full.hex -Intel
Convert HEX to DFU:
docker-compose exec dev hex2dfu \
-i firmware/.obj/f6/full.hex \
-o firmware/.obj/f6/full.dfu \
-l "Flipper Zero F6"
Finally, you will have firmware/.obj/f6/full.dfu file that can be distributed and flashed.