Skip to content

Latest commit

 

History

History
57 lines (43 loc) · 2.38 KB

development.md

File metadata and controls

57 lines (43 loc) · 2.38 KB

Development Notes

Setup

Build

For building and executing the application build you will need to install https://github.com/flipperdevices/flipperzero-ufbt, this is a separate python application that will bundle the application without the need to build the whole firmware.

*for mac you can use pipx to install python virtual applications

Vscode Setup

In order to get function return and type completions for higher flipper firmware modules and functions like <gui/models/dialog.h> you will need to git clone the firmware project and tie ts location to vscode settings

{
  "cortex-debug.enableTelemetry": false,
  "cortex-debug.variableUseNaturalFormat": true,
  "cortex-debug.armToolchainPath": "/<your firmware location>/flipperzero-firmware/toolchain/current/bin",
  "cortex-debug.openocdPath": "/<your firmware location>/flipperzero-firmware/toolchain/current/bin/openocd",
  "cortex-debug.gdbPath": "/<your firmware location>/flipperzero-firmware/toolchain/current/bin/arm-none-eabi-gdb-py3",
  "editor.formatOnSave": true,
  "files.associations": {
    "*.scons": "python",
    "SConscript": "python",
    "SConstruct": "python",
    "*.fam": "python",
    "gui.h": "c",
    "dolphin.h": "c",
    "stdlib.h": "c",
    "input.h": "c"
  },
  "clangd.path": "<your firmware location>/flipperzero-firmware/toolchain/current/bin/clangd",
  "clangd.arguments": [
    "--query-driver=**/arm-none-eabi-*",
    "--compile-commands-dir=${workspaceFolder}/.vscode/clang_compile_commands/",
    "--clang-tidy",
    "--header-insertion=never"
  ],
  "clangd.onConfigChanged": "restart",
  "clangd.inactiveRegions.useBackgroundHighlight": true
}

Vs Code run tasks

Project contains vscode run tasks json that you can you to build and deploy your app to the flipperzero. There is a mismatch in the build compile commands commands on mac, there is a special syncmcd.sh that alters the commands so the "wrong flag -mword-relocations" seen on the cs code ide can be adjusted.

Firmware links and other development info

*Official firmware repo has application/examples folders you could follow as well