Linux Quick Start
This page explains how to install the precompiled Miosix Toolchain. If you prefer compiling GCC from sources, see Building GCC from sources.
Before you begin
32 bit Linux distros
The precompiled Miosix Toolchain is compiled for 32bit x86, to be compatible with as many Linux installations as possible. If you have a 64bit OS, you need to install a few 32bit libraries to be able to use it.
sudo apt-get install libstdc++6:i386 # Install 32bit compatibility libraries for Ubuntu/Debian
sudo pacman -S lib32-libstdc++5 # Install 32bit compatibility libraries for Arch Linux
QSTLink2
If you want to program STM32 microcontrollers, you will also need a tool to the transfer your programs to the microcontroller. A popular choice for boards like the stm32f4discovery that have an embedded STLinkV2 USB programmer/debugger is [QSTLink2]. The installation on Ubuntu/Debian requires to add a ppa and install it via apt-get. Also, it is recomended to install the udev rules, which allow QSTLink2 to connect to the USB port without the need to run it from root.
sudo add-apt-repository ppa:mobyfab/qstlink2
sudo apt-get update
sudo apt-get install qstlink2
wget https://raw.githubusercontent.com/mobyfab/QStlink2/master/res/49-stlinkv2.rules
sudo mv 49-stlinkv2.rules /etc/udev/rules.d
sudo chown root:root /etc/udev/rules.d/49-stlinkv2.rules
An alternative tool to program STM32 microcontrollers using the serial port bootloader is [stm32flash]. Finally, for historical reasons, the Miosix Toolchain includes lpc21isp, a tool to program LPC2000 microcontrollers using their serial bootloader.
Serial port setup
Miosix redirects stdin/stdout to a serial port by default on most boards, so it is important to set up serial ports correctly on your development machine. On most Linux distros serial ports, both the physical ones like /dev/ttyS0 and the USB to serial adapters like /dev/ttyUSB0 are owned by the dialout group, so you need to add your user to that group before you can access them.
sudo usermod -a -G dialout `id -un` # Add yourself to the dialout group
Note that you may need to reboot your computer before the change takes effect. Also, you need a program to interact with the serial port, like GNU screen.
sudo apt-get install screen # For Ubuntu/Debian
sudo pacman -S screen # For Arch Linux
Install the Miosix Toolchain
Download the latest version of the [Miosix Toolchain] and launch it. The installer will ask for your root password to copy the compiler to the /opt/arm-miosix-eabi directory, and put symlinks to /usr/bin.
wget http://miosix.org/toolchain/MiosixToolchainInstaller.run
sh MiosixToolchainInstaller.run
If you do not trust the installer and want to verify its content, or you want to install it locally, it is possible to extract the content of the installer with the following command.
sh MiosixToolchainInstaller.run --noexec --target arm-miosix-eabi
Keep in mind that for a local install you will need to set the PATH environment variable to the arm-miosix-eabi/bin directory.
Get the Miosix kernel sources
The preferred way to download the Miosix kernel is through [git]. If you do not already have it installed you can install it now
sudo apt-get install git # For Ubuntu/Debian
sudo pacman -S git # For Arch Linux
Currently, Miosix 2.0 is in the testing branch of the git repository, while the default one, the master branch, contains Miosix 1.x. So, you need to explicitly switch to the testing branch after downloading the kernel.
git clone https://git.gitorious.org/miosix-kernel/miosix-kernel.git
cd miosix-kernel
git fetch origin
git checkout -b testing origin/testing
Testing it out
You have finished the installation of the Miosix Toolchain. To test it you may want to try blinking a LED, or you may want to install and configure an IDE, or the debugger.
Uninstall the compiler
If for some reason you need to uninstall the compiler, there is an uninstall script in the /opt/arm-miosix-eabi directory (Note: if you have built the compiler from sources the uninstall script may not be there). Running the script will uninstall the compiler and the symbolic links in the /usr/bin directory. Just like the install script, the uninstaller will ask for your root password to be able to remove the installed files.
cd /opt/arm-miosix-eabi
./uninstall.sh
If you have chosen to install the compiler locally (i.e: not in the '/opt/arm-miosix-eabi' directory), simply remove the compiler directory.