User Tools

Site Tools


projects:crazyflie:devenv:index

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
projects:crazyflie:devenv:index [2013-05-10 10:55]
macke [Compiling the copter code]
projects:crazyflie:devenv:index [2015-07-15 16:31]
127.0.0.1 external edit
Line 27: Line 27:
 <code> <code>
 SUBSYSTEM=="usb", ATTRS{idVendor}=="1915", ATTRS{idProduct}=="7777", MODE="0664", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="1915", ATTRS{idProduct}=="7777", MODE="0664", GROUP="plugdev"
 +SUBSYSTEM=="usb", ATTRS{idVendor}=="1915", ATTRS{idProduct}=="0101", MODE="0664", GROUP="plugdev"
 </code> </code>
  
 +==== Setup on Ubuntu 13.04 ====
 +Most of the software that you will need is now available from the repositories so just run the following command to install it:
 +<code>
 +sudo apt-get -y install mercurial python2.7 python-usb python-pygame python-qt4 qt4-designer openocd build-essential
 +</code>
  
 +Run the following to download, unpack and copy the ARM Embedded toolchain:
 +<code>
 +wget https://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q1-update/+download/gcc-arm-none-eabi-4_7-2013q1-20130313-linux.tar.bz2
 +tar xjf gcc-arm-none-eabi-4_7-2013q1-20130313-linux.tar.bz2
 +mkdir ~/bin
 +mv gcc-arm-none-eabi-4_7-2013q1 ~/bin/gcc-arm-none-eabi
 +</code>
  
-==== Setup on Ubuntu 10.04 LTS 11.10 ====+And then also add the binaries to your path: 
 +In order for the build system to find the toolchain when building the firmware it has to be added to the path: 
 +<code> 
 +echo -e "\nPATH=\$PATH:$HOME/bin/gcc-arm-none-eabi/bin" >> ~/.bashrc 
 +source ~/.bashrc 
 +</code>
  
-TBD 
 ==== Setup on Windows ==== ==== Setup on Windows ====
  
 TBD TBD
 +
 +==== Setup on Mac OS X ====
 +
 +Development environment setup is relatively easy on Mac OS X.
 +
 +[[http://crazyflie.ecsiii.com/archives/14-Compiling-Crazyflie-Firmware-on-Mac-OS-X.html | Please see this blog posting for an overview]].
 +
 ===== Compiling the copter code ===== ===== Compiling the copter code =====
  
 The Crazyflie project is based on a Makefile. A couple of target are useful: The Crazyflie project is based on a Makefile. A couple of target are useful:
 <code bash> <code bash>
-crazyflie$ make         # Make copter firmware +crazyflie-fimrware$ make         # Make copter firmware 
-crazyflie$ make V=1     # Make copter firmware and shows the full compilation commands +crazyflie-fimrware$ make V=1     # Make copter firmware and shows the full compilation commands 
-crazyflie$ make CLOAD=1 # make copter firmware to be used with the bootloader +crazyflie-fimrware$ make CLOAD=1 # Make copter firmware to be used with the bootloader 
-crazyflie$ make cload   # Flash the firmware using the radio bootloader +crazyflie-fimrware$ make clean && make USE_ESKYLINK=1 CLOAD=1 all # Make copter firmware to be used with the bootloader, CF controlled with eSky ET6i transmitter 
-crazyflie$ make flash   # Flash firmware using openOCD and the jtagKey +crazyflie-fimrware$ make cload   # Flash the firmware using the radio bootloader 
-crazyflie$ make reset   # Reset the copter using openOCD +crazyflie-fimrware$ make flash   # Flash firmware using openOCD and the jtagKey 
-crazyflie$ make openocd # Launch openOCD and connect it to the copter (can then be used via the telnet interface and/or GDB)+crazyflie-fimrware$ make reset   # Reset the copter using openOCD 
 +crazyflie-fimrware$ make openocd # Launch openOCD and connect it to the copter (can then be used via the telnet interface and/or GDB)
 </code> </code>
  
Line 58: Line 83:
 |  V |      0        | Verbose mode. If V=1 the compilers command lines will be displayed. If V=0 only the tool type and target file are displayed. | |  V |      0        | Verbose mode. If V=1 the compilers command lines will be displayed. If V=0 only the tool type and target file are displayed. |
 |  PYTHON2 |  python  | Name of the Python 2.7 interpreter | |  PYTHON2 |  python  | Name of the Python 2.7 interpreter |
 +|  USE_ESKYLINK|  0  | If at 1 the firmware is compiled to use with the eSky ET6i transmitter. |
  
 It is possible to create a file //config.mk// to set these variables in a more permanent manner, this file is imported at the beginning of Makefile. It is possible to create a file //config.mk// to set these variables in a more permanent manner, this file is imported at the beginning of Makefile.
Line 70: Line 96:
 The copter can be loaded with a radio bootloader contained in the crazyloader folder. The dev environment is very similar to the copter one: The copter can be loaded with a radio bootloader contained in the crazyloader folder. The dev environment is very similar to the copter one:
 <code bash> <code bash>
-crazyloader$ make       # Make the bootoader +crazyflie-bootloader$ make       # Make the bootoader 
-crazyloader$ make flash # Flash the bootloader with openOCD+crazyflie-bootloader$ make flash # Flash the bootloader with openOCD
 </code> </code>
projects/crazyflie/devenv/index.txt · Last modified: 2021-06-24 16:47 by kimberly