This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
doc:crazyflie:dev:env:windows [2016-06-30 12:41] theseankelly [Eclipse] |
doc:crazyflie:dev:env:windows [2018-07-07 12:58] theseankelly [ARM Toolchain] |
||
---|---|---|---|
Line 2: | Line 2: | ||
This tutorial will demonstrate how to set up a windows machine to develop, build, and deploy binaries for the crazyflie natively, without use of a VM. Some notes on the setup environment used to write this guide: | This tutorial will demonstrate how to set up a windows machine to develop, build, and deploy binaries for the crazyflie natively, without use of a VM. Some notes on the setup environment used to write this guide: | ||
* Using windows 10 -- no technical reason why this wouldn' | * Using windows 10 -- no technical reason why this wouldn' | ||
- | * Whenever presented with a choice, x86 versions of the tools were chosen. It's important to keep this consistent since and x86 emulator | + | * Whenever presented with a choice, x86 versions of the tools were chosen. It's important to keep this consistent since and x86 emulator |
* Cygwin was chosen for a unix environment since it's probably the most common option out there. As stated below, MinGW is probably the best option because it's extremely lightweight and really all you need are a small handful of unix tools. | * Cygwin was chosen for a unix environment since it's probably the most common option out there. As stated below, MinGW is probably the best option because it's extremely lightweight and really all you need are a small handful of unix tools. | ||
Line 13: | Line 13: | ||
* Wget (used in the crazyflie2-nrf-firmware project to download the nordic SDK) | * Wget (used in the crazyflie2-nrf-firmware project to download the nordic SDK) | ||
- | For these basic tools, it's recommended to get a linux shell environment running on windows. There are a variety of options: | + | For these basic tools, it's recommended to get a Linux shell environment running on windows. There are a variety of options: |
===== Option #1: Cygwin ===== | ===== Option #1: Cygwin ===== | ||
Line 23: | Line 23: | ||
Note: GIT isn't included in the MinGW packages. GIT for windows can be found at https:// | Note: GIT isn't included in the MinGW packages. GIT for windows can be found at https:// | ||
- | ===== Option #2.5: Ubuntu on Bash on Windows ===== | + | As stated earlier, this guide was written using Cygwin. There may be a couple missing steps here and there if you want to go with MinGW, but nothing major. Please update the wiki if you choose MinGW and find anything missing! |
- | Windows 10 supports (in beta) the ability to run an Ubuntu based bash shell natively, including apt-get and things you'd expect on normal Ubuntu. | + | |
+ | ===== Option #3: Ubuntu on Bash on Windows ===== | ||
+ | Windows 10 supports (in beta) the ability to run an Ubuntu based bash shell natively, including apt-get and things you'd expect on normal Ubuntu. | ||
+ | |||
+ | The main drawback is that hardware support (the crazyradio, for example) is not plumbed through to this shell, so you won't be able to flash, connect, or run the python tools which talk to hardware, but that's easily overcome using Conda for python scripts (see the python section below) | ||
+ | |||
+ | Details here: https:// | ||
====== ARM Toolchain ====== | ====== ARM Toolchain ====== | ||
- | This is the toolchain required for building ARM projects (arm-none-eabi-gcc, | + | This is the toolchain required for building ARM projects (arm-none-eabi-gcc, |
*Change the default install location to something without spaces | *Change the default install location to something without spaces | ||
*Choose "add to path" so it can be invoked from cmd or cygwin. | *Choose "add to path" so it can be invoked from cmd or cygwin. | ||
Line 45: | Line 51: | ||
Install the latest from https:// | Install the latest from https:// | ||
+ | Get the version for python 3.4. If your goal is simply to run the cfcflient can choose ' | ||
====SDL2.0==== | ====SDL2.0==== | ||
Windows binaries for SDL2.0 are available here: https:// | Windows binaries for SDL2.0 are available here: https:// | ||
Place the dll in the root of the crazyflie-clients-python folder you clone from git. | Place the dll in the root of the crazyflie-clients-python folder you clone from git. | ||
+ | |||
+ | Or, for a more global/ | ||
+ | * If you are on an x86 OS using x86 bits, put the .dll in c: | ||
+ | * If you are on an amd64 OS using amd64 bits, put the .dll in c: | ||
+ | * If you are on an amd64 OS using x86 bits, put the .dll in c: | ||
+ | | ||
====NumPy==== | ====NumPy==== | ||
Line 66: | Line 79: | ||
python3 -m pip install pyusb==1.0.0b2 pyzmq pysdl2 pyqtgraph | python3 -m pip install pyusb==1.0.0b2 pyzmq pysdl2 pyqtgraph | ||
Python3 -m pip install <path to the NumPy .whl file you downloaded earlier</ | Python3 -m pip install <path to the NumPy .whl file you downloaded earlier</ | ||
+ | |||
+ | Note: In Cygwin, I've had trouble installing the NumPy .whl file from the /cygdrive mount point (aka / | ||
======Setting up USB devices (CrazyRadio or Crazyflie via USB)====== | ======Setting up USB devices (CrazyRadio or Crazyflie via USB)====== | ||
Line 107: | Line 122: | ||
Todo: in addition to just developing code, eclipse can be made to start up an OpenOCD server and do flashing & JTAG debugging. Instructions needed. | Todo: in addition to just developing code, eclipse can be made to start up an OpenOCD server and do flashing & JTAG debugging. Instructions needed. | ||
+ | =====PyCharm===== | ||
+ | PyCharm is a great IDE for Python development. Get it here: https:// | ||
=====Visual Studio===== | =====Visual Studio===== | ||
VS can certainly be used as an IDE, but hooking it up to the ARM toolchain for building might not be possible. Investigation needed. | VS can certainly be used as an IDE, but hooking it up to the ARM toolchain for building might not be possible. Investigation needed. | ||