Download the arm-none-eabi-gcc-4.9 toolchain from the GNU ARM Embedded Toolchain project (currently tested with the 14.07 release https://launchpad.net/gcc-arm-embedded/+milestone/4.9-2014-q4-major ).
Extract the archive (e.g. to ~/toolchains ).
Update your PATH to find the newly installed toolchain. In your
~/.profile (for bash) or your
~/.zshrc (for zsh) , add
Restart your session so that is sourced again, and verify that you are running the correct arm-none-eabi-gcc version:
$ arm-none-eabi-gcc --version arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.9.3 20141119 (release) [ARM/embedded-4_9-branch revision 218278] Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
If you want to use an IDE like Code::Blocks, you can configure it to use the newly installed toolchain.
When you create your project in Code::Blocks, be sure to select the “Quimesis ARM Linux Compiler”.
sudo apt-get install lib32stdc++6 sudo apt-get install lib32z1
ST/Link v2 windows driver: STSW-LINK009 : http://www.st.com/web/en/catalog/tools/PF260219
ST/Link Utility: STSW-LINK004 : http://www.st.com/web/en/catalog/tools/PF258168
GDB server for emIDE: http://emide.org/files/stlinkgdbserver.7z
To use the CANUSB module :
In brief :
sudo apt-get install can-utils
sudo modprobe can sudo modprobe can_raw sudo modprobe slcan
Make them load automatically :
sudo nano /etc/modules
Add the three modules “can”, “can_raw” and “slcan” to the list (each goes in one line).
sudo slcand -o -c -f -s8 /dev/ttyUSB0 slcan0
sudo ifconfig slcan0 up
cansend slcan0 <ID>#<byte1>.<byte2>.<...>.<byte8>
To be used with i2c-devantech-iss kernel module, to access a dedicated
/dev/i2c-x device on one's Linux desktop.
Then you can use the
/dev/i2c-x device directly, or request another kernel module to use it:
echo <your_module> <device_address> > /sys/bus/i2c/devices/i2c-<x>/new_device
zsh, the latest command may result into failure
zsh: file exists: /sys/bus/i2c/devices/i2c-<x>/new_device; in that case, just switch to bash, and the same command will succeed.