Building and Flashing

Get Bluetooth dependencies

Compiling with bluetooth support requires the nRF51_SDK and S110 packages.

./tools/build/download_deps

will download the zips and unpack them. If you want to download manually from the Nordic semiconductor website, you will find the details in nrf51_sdk/readme and s110/readme.

Compiling

To compile arm-none-eabi- tools from https://launchpad.net/gcc-arm-embedded should be in the path. On Ubuntu, you can install the tools:

sudo apt-get install gcc-arm-none-eabi gdb-arm-none-eabi binutils-arm-none-eabi

Compilation options can be saved in config.mk. Main targets:

make                    # Make with BLE support
make BLE=0              # Make without BLE support
make BLE=0 S110=0       # Make without BLE and without Softdevice in flash (see bellow)

make cload              # Flash firmware over radio

make flash              # Flash firmware with jtag
make factory_reset      # Erase device and flash softdevice, bootloaders, and firmware for Crazyflie 2.0
make factory_reset_21   # Erase device and flash softdevice, bootloaders, and firmware for Crazyflie 2.1
                        # The Crazyflie 2.1 needs to be powered by battery only for this to work

Platforms

The NRF firmware can be build for different platforms. The platform is passed in as an argument to make

make PLATFORM=cf2

Currently supported platforms are:

  • cf2 (default)
  • tag
  • bolt
  • flapper