dist.sh 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/usr/bin/env bash
  2. set -e
  3. suffix="${DIST_SUFFIX:=local}"
  4. rm -rf "dist/${TARGET}"
  5. mkdir -p "dist/${TARGET}"
  6. # copy build outputs
  7. cp bootloader/.obj/${TARGET}/bootloader.elf \
  8. dist/${TARGET}/flipper-z-${TARGET}-bootloader-${suffix}.elf
  9. cp bootloader/.obj/${TARGET}/bootloader.bin \
  10. dist/${TARGET}/flipper-z-${TARGET}-bootloader-${suffix}.bin
  11. cp bootloader/.obj/${TARGET}/bootloader.dfu \
  12. dist/${TARGET}/flipper-z-${TARGET}-bootloader-${suffix}.dfu
  13. cp bootloader/.obj/${TARGET}/bootloader.json \
  14. dist/${TARGET}/flipper-z-${TARGET}-bootloader-${suffix}.json
  15. cp firmware/.obj/${TARGET}/firmware.elf \
  16. dist/${TARGET}/flipper-z-${TARGET}-firmware-${suffix}.elf
  17. cp firmware/.obj/${TARGET}/firmware.bin \
  18. dist/${TARGET}/flipper-z-${TARGET}-firmware-${suffix}.bin
  19. cp firmware/.obj/${TARGET}/firmware.dfu \
  20. dist/${TARGET}/flipper-z-${TARGET}-firmware-${suffix}.dfu
  21. cp firmware/.obj/${TARGET}/firmware.json \
  22. dist/${TARGET}/flipper-z-${TARGET}-firmware-${suffix}.json
  23. # generate full.bin
  24. cp dist/${TARGET}/flipper-z-${TARGET}-bootloader-${suffix}.bin \
  25. dist/${TARGET}/flipper-z-${TARGET}-full-${suffix}.bin
  26. dd if=/dev/null of=dist/${TARGET}/flipper-z-${TARGET}-full-${suffix}.bin bs=1 count=0 seek=32768 2> /dev/null
  27. cat dist/${TARGET}/flipper-z-${TARGET}-firmware-${suffix}.bin \
  28. >>dist/${TARGET}/flipper-z-${TARGET}-full-${suffix}.bin \
  29. 2> /dev/null
  30. # generate full.dfu
  31. ./scripts/bin2dfu.py \
  32. -i dist/${TARGET}/flipper-z-${TARGET}-full-${suffix}.bin \
  33. -o dist/${TARGET}/flipper-z-${TARGET}-full-${suffix}.dfu \
  34. -a 0x08000000 \
  35. -l "Flipper Zero $(echo ${TARGET} | tr a-z A-Z)"
  36. # generate full.json
  37. ./scripts/meta.py merge \
  38. -i dist/${TARGET}/flipper-z-${TARGET}-bootloader-${suffix}.json \
  39. dist/${TARGET}/flipper-z-${TARGET}-firmware-${suffix}.json \
  40. >dist/${TARGET}/flipper-z-${TARGET}-full-${suffix}.json
  41. echo "Firmware binaries can be found at:"
  42. echo -e "\t$(pwd)/dist/${TARGET}"
  43. echo "Use this file to flash your Flipper:"
  44. echo -e "\tflipper-z-${TARGET}-full-${suffix}.dfu"