This project contains the source code for the Crazyflie 1.0/2.0 firmware.
You'll need to use either the Crazyflie VM or install some of an ARM toolchain.
brew tap PX4/homebrew-px4
brew install gcc-arm-none-eabi
TODO: Please share!
sudo pacman -S community/arm-none-eabi-gcc community/arm-none-eabi-gdb community/arm-none-eabi-newlib
TODO: Please share!
Build with:
make PLATFORM=CF1
This is the dafault build so just running "make" is enough or:
make PLATFORM=CF2
To create custom build options create a file called config.mk in the root folder (same as Makefile) and fill it with options. E.g.
PLATFORM=CF1
DEBUG=1
CLOAD=0
More information can be found on the Bitcraze wiki
./ | Root, contains the Makefile
+ init | Contains the main.c
+ config | Configuration files
+ drivers | Hardware driver layer
| + src | Drivers source code
| + interface | Drivers header files. Interface to the HAL layer
+ hal | Hardware abstaction layer
| + src | HAL source code
| + interface | HAL header files. Interface with the other parts of the program
+ modules | Firmware operating code and headers
| + src | Firmware tasks source code and main.c
| + interface | Operating headers. Configure the firmware environement
+ utils | Utils code. Implement utility block like the console.
| + src | Utils source code
| + interface | Utils header files. Interface with the other parts of the program
+ platform | Platform specific files. Not really used yet
+ tools | Misc. scripts for LD, OpenOCD, make, version control, ...
| | *** The two following folders contains the unmodified files ***
+ lib | Libraries
| + FreeRTOS | Source FreeRTOS folder. Cleaned up from the useless files
| + STM32... | Library folders of the ST STM32 peripheral libs
| + CMSIS | Core abstraction layer
all : Shortcut for build
compile : Compile cflie.hex. WARNING: Do NOT update version.c
build : Update version.c and compile cflie.elf/hex
clean_o : Clean only the Objects files, keep the executables (ie .elf, .hex)
clean : Clean every compiled files
mrproper : Clean every compiled files and the classical editors backup files
cload : If the crazyflie-clients-python is placed on the same directory level and
the Crazyradio/Crazyradio PA is inserted it will try to flash the firmware
using the wireless bootloader.
flash : Flash .elf using OpenOCD
halt : Halt the target using OpenOCD
reset : Reset the target using OpenOCD
openocd : Launch OpenOCD