Getting Started with ZeroPilot
How to begin developement on ZeroPilot. When we speak of ZeroPilot, we are talking about the hardware and firmware systems that work together to comprise the entire AutoPilot. Depending on wether you're developing the firmware or hardware, however, you're going to need to setup your environment differently.
Firmware
For instructions on setting up the firmware environement, take a look at this page.
To get started developing for the ZeroPilot firmware, you will need a few things:
- A GitHub Client (or just git)
- CMake (for the Autopilot chip)
- GNU ARM Embedded Toolchain
- A Code Editor
- If you're planning on modifying peripheral settings, STM32CubeMX
- GNU Windows build tools (if using Windows)
- ST-Link Drivers
Git
Git is the version control system we use to manage changes in our code. If you aren't already familiar with Git, there are many resources to help you learn:
And once you've figured out the general basics of git, take a look at this page to see how to use it to specifically develop ZeroPilot.
CMake
CMake is a simple, cross-platform build system. It's used for building and uploading all the code for the ZeroPilot project. Be sure to select the checkbox that says "Add CMake to system PATH".
- Download link (pick the binary distribution that's right for your system)
GNU ARM Embedded
GNU ARM Embedded is the toolchain (compiler, linker, etc.) that will be used to build the software for ZeroPilot.
- Download link (version 6-2017-q2-update)
- Installation instructions
On Windows, you will likely need GNU Windows build tools to build the project (unless you have MinGW installed).
A Code Editor
No fancy IDE (Integrated Development Environment) is needed to develop ZeroPilot. Instead, we just use code editors and some common programming tools. A code editor is just a text editor that has been designed for easily writing code, and almost all code editors have plugin support for additional languages or features.
Some options:
If you must use an IDE, your best bet will likely be JetBrains CLion. You can get a free license for as long as you are a student.
St-Link
To setup ST-link, visit ST-Link Drivers. Download the ST-link driver and ST-link utility. Once you download these, you should be able to connect to the board. You can verify this by opening the ST-Link utility and clicking "Connect" with the board powered and plugged into the programming port.
Setting Up
Let's get started setting up your environment! First things first, clone the project using git: https://github.com/UWARG/ZeroPilot-SW.
If you're not sure how to do that, check out the GitHub Guides in the first section.
Navigate to the the "Autopilot" directory and try to build the project.
Building the Project
In either the Autopilot or Safety directory, run the following commands:
- make: compiles the project for any files that have changed since the last make
- make clean: Removes all build files
- make install: makes the project, connects to the ST-Link, and flashes the board that is connected