This is an old revision of the document!
Table of Contents
Arm Toolchain
Before we used the summon-arm-toolchain script to make the crosscompiler tool, but now summon-arm-toolchain is not maintained anymore and now they recommend to use the official toolchain from ARM:
https://launchpad.net/gcc-arm-embedded
Also you must install the following packages:
sudo apt-get install libftdi1 openocd libusb-1.0-0-dev
To install:
- Set multiarch in your system.
- To add an extra architecture (in Debian from dpkg 1.16.2 onwards) the syntaxis is as follows:
dpkg --add-architecture <arch>
- For a complete list of official architectures go to: http://www.debian.org/ports/
- We need to add i386 arch using the follwing command:
dpkg --add-architecture i386
- Your dpkg architectures are stored in /var/lib/dpkg/arch.
- Now, modify /etc/apt/sources.list. Apt-sources can be architecture qualified with this syntax for each 'source':
deb [arch=amd64,i386] http://site.example.com/debian distribution
- Next, do apt-get update always after adding new architectures.
- Get the dependencies:
sudo apt-get install libncurses5:i386
- Download the latest installation tarball for GNU Tools for ARM Embedded Processors, and uncompress:
cd ~/local/src wget https://launchpad.net/gcc-arm-embedded/4.9/4.9-2014-q4-major/+download/gcc-arm-none-eabi-4_9-2014q4-20141203-linux.tar.bz2 tar -xjf gcc-arm-none-eabi-4_9-2014q4-20141203-linux.tar.bz2
- Make the toolchain executables available to the users add the bin directory to your PATH variable:
echo 'export PATH=$PATH:/home/****user****/local/src/gcc-arm-none-eabi-4_9-2014q4/bin/' >> /home/****user****/.bashrc
- Remember to reload your .bashrc file, there are two ways:
- Close your session and login again.
- Reloading your .bashrc file directly:
. .bashrc
Stlink
Project's webpage: https://github.com/texane/stlink
First we need to install the package: libusb-1.0
También se debe seguir el tutorial Using xstow for local installations antes de continuar con la instalación.
Primero ingresamos a la carpeta
cd ~/local/src/
Se descarga con git
git clone https://github.com/texane/stlink
Ingresamos a la carpeta
cd stlink
Configuramos
mkdir build cd build ccmake ..
Presione “c”. Seleccione en CMAKE_BUILD_TYPE=debug. Luego en CMAKE_INSTALL_PREFIX=/home/user/local/DIR/stlink Presione “c”, y luego “g” denuevo.
Compilamos, e instalamos
make make install cd cd local/DIR xstow stlink
Ahora necesitamos copiar las siguientes reglas (tenemos que estar ubicados en ~/local/src/stlink/etc/udev/rules.d/),
sudo cp 49-stlinkv1.rules /etc/udev/rules.d/ sudo cp 49-stlinkv2.rules /etc/udev/rules.d/ sudo cp 49-stlinkv2-1.rules /etc/udev/rules.d/ sudo /etc/init.d/udev restart udevadm control --reload-rules udevadm trigger --attr-match=subsystem=usb
Libopencm3
To build the library:
cd ~/local/src/ git clone https://github.com/libopencm3/libopencm3-examples cd libopencm3-examples git submodule init git submodule update cd libopencm3 make
Be sure to install python-yaml first.
To build an example and flash it to the f4discovery:
cd ../ cd examples/stm32/f4/stm32f4-discovery/miniblink/ make make flash
New STM versions
New versions use STLINK 2-1. If you have errors, flashing the microcontroller, you should change your OOCD_INTERFACE configuration in the corresponding Makefile or passing as an argument on the flash instruction as seen below:
$ make flash OOCD_INTERFACE=stlink-v2-1
~~DISCUSSION~~