Linux Quick Start: Difference between revisions

From Miosix Wiki
Jump to navigation Jump to search
(Created page with "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 === The...")
 
No edit summary
Line 2: Line 2:


=== Before you begin ===
=== 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.
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.
Line 8: Line 10:
sudo apt-get install libstdc++6:i386 # Install 32bit compatibility libraries for Ubuntu/Debian
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
sudo pacman -S lib32-libstdc++5      # Install 32bit compatibility libraries for Arch Linux
</source>
''' 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 board like the ''stm32f4discovery'' that have an embedded STLinkV2 USB programmer/debugger is [[https://code.google.com/p/qstlink2 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.
<source lang="bash">
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
</source>
An alternative tool to program STM32 microcontrollers using the serial port bootloader is [[https://code.google.com/p/stm32flash stm32flash]]. Finally, for historical reasons, the Miosix Toolchain includes the lpc21isp 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 most Linux distros, the 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.
<source lang="bash">
sudo usermod -a -G dialout `id -un` # Add yourself to the dialout group
</source>
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''.
<source lang="bash">
sudo apt-get install screen
</source>
</source>


Line 42: Line 73:
git checkout -b testing origin/testing
git checkout -b testing origin/testing
</source>
</source>
=== Testing it out ===

Revision as of 22:58, 12 April 2014

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 board 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 the lpc21isp 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 most Linux distros, the 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

Install the Miosix Toolchain

Download the latest version of the [Miosix Toolchain] here, 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. Keep in mind that for a local install you will need to set the PATH environment variable to the arm-miosix-eabi/bin directory.

sh MiosixToolchainInstaller.run --noexec --target arm-miosix-eabi

Get the Miosix kernel sources

The preferred version 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