Table of Contents
Which develop kit should I use?
Flymaple is based on Maple project by Leaflab.com. By default, Maple support both IDE and Command line(makefile) for development, so you can develop flymaple both in IDE or/and command-line.
Whatever you chose is both comfortable for Flymaple development. But our code not same between IDE and Command-line, so it may cause problem when one updated but another not. We will updated all code more recently.
And other IDE, like Code::blocks or Eclipse are also supported, but we never test it for flymaple, if you want to use or want to test it, so please write your documents for help others.
USE IDE
Flymaple is based on Maple project, so we can use Maple IDE, and it support Windows, Linux and Mac OS.
Maple IDE is forked from Arduino IDE, for more info please visit: http://leaflabs.com/docs/maple-ide-install.html
For developer who use IDE, you have to install git for Linux Distributions or Github for Windows
For IDE, codes not same for command-line, so please
git clone https://github.com/opendrone/flymaple-ide.git
USE Makefile
Now a day, it only support Linux and Mac OS system. Now I will introduce how to develop in Linux Distributions, for Mac OS please visit: http://leaflabs.com/docs/unix-toolchain.html
System Requirements
-
Flymaple board
-
Micro-USB cable
-
root permission to install packages
-
Have Linux terminal abilities
-
VI/vim or other editors
-
bash and its configure file(.bashrc/.tcshrc)
Install Flymaple SDK
All below is tested on Debian/Ubuntu, Fedora/OpenSUSE, and both OK.
I will take the Debian/Ubuntu as example, other dist please search relevant packages.
And, now we have two ways to install SDK. For Debian/Ubuntu you could choose both Automatic way or Manuel way, others distributions only try this in Manuel way.
Automatic Install Flymaple SDK
First of all, we should install these dependency packages by:
sudo apt-get install build-essential git-core wget screen dfu-util \ openocd python python-serial
we use git to manage our codes, dfu-util for upload program via USB, screen is a terminal, openocd is for debug via JTAG(Optical).
Then download this DEB package - flymaple-sdk_0.1.1-1.all.deb, and install it by:
sudo dpkg -i install flymaple-sdk_0.1.1-1.all.deb
If no error is reported, All Done! Let's try compile flymaple source code !
Manuel Install Flymaple SDK
Install packages & Cross Compiler
First of all, we should install these packages by:
sudo apt-get install build-essential git-core wget screen dfu-util \ openocd python python-serial
We can gain cross compiler from leaflabs.com, will download about 20MB file. Then decompress it to /opt or other position.
$ wget http://static.leaflabs.com/pub/codesourcery/gcc-arm-none-eabi-latest-linux32.tar.gz $ sudo tar xvzf gcc-arm-none-eabi-latest-linux32.tar.gz -C /opt # Or other position you like
Add this line to your startup script($HOME/.bashrc or /etc/profile ):
export PATH=$PATH:/opt/arm/bin #Make sure it is same with decompression position.
Then restart your terminal or reboot.
Gain opendrone/flymaple code
Just use git to clone it:
git clone https://github.com/opendrone/flymaple.git
Or you can click the [Download] button in the web page https://github.com/opendrone/flymaple
Install udev script
$ groups # Make sure your belong to plugdev group and dailout group, otherwise add by yourself $ cd flymaple $ sudo cp libmaple/support/scripts/45-maple.rules /etc/udev/rules.d/45-maple.rules $sudo restart udev
Compile & Upload
If you use Automatic way so could download flymaple source code via Git:
git clone https://github.com/opendrone/flymaple.git
To flymaple directory and:
make clean && make
Plugin flympale board, and press [RESET] button, then:
make install # Debian will require root privilege
Ok, if no error reported, it will done soon.
Serial Terminal
We use screen for serial terminal:
ls /dev/ttyACM*
It will show something like ttyACM0, ttyACM1, so you can use it as your own.
Open screen as serial terminal:
screen /dev/ttyACM0 # put it as your port # Debian will require root privilege
If you want to use minicom, please set the bond rate to 38400, and try
minicom -o /dev/ttyACM0
It all done now!