Dependencies
You’ll need to use either the Crazyflie VM, install some ARM toolchain or the Bitcraze docker builder image. If you install a toolchain, the arm embedded gcc toolchain is recomended.
Frameworks for unit testing are pulled in as git submodules. To get them when cloning
git clone --recursive https://github.com/bitcraze/lps-node-firmware.git
or if you already have a cloned repo and want the submodules
git submodule init
git submodule update
OS X
brew tap PX4/homebrew-px4
brew install gcc-arm-none-eabi
Debian/Ubuntu linux
Install the compiler from the package manager:
sudo apt-get install gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi
If all works you will be able to execute arm-none-eabi-gcc:
$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (15:13.2.rel1-2) 13.2.1 20231009
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Arch Linux
sudo pacman -S community/arm-none-eabi-gcc community/arm-none-eabi-gdb community/arm-none-eabi-newlib
Windows
TODO: Please share!
Compiling
make
or
docker run --rm -v ${PWD}:/module bitcraze/builder ./tools/build/compile
or
tools/do compile
Folder description:
TODO: Please share!
Make targets:
all : Shortcut for build
flash : Flash throgh jtag
openocd : Launch OpenOCD
dfu : Flash throgh DFU