{{tag>english}}{{tag>review}} Attention: Work in progress - page under construction ===== UHSDR development - toolchain for Debian ===== ==== Preconditions, Assumptions, Scope ==== * Using Debian version buster/sid * Install on Win10 PC with Virtualbox * ARM toolchain for Linux * GDB * Eclipse * Check installation with test project === GNU ARM toolchain for Linux === Important: use latest version of tool chain from web sites below. DO NOT use the ARM toolchain that comes with your Linux distribution See [[https://gnu-mcu-eclipse.github.io/toolchain/arm/install/]] for general explanations === Install Arm toolchain for Linux === * Download the latest Linux install tarball file from ARMDeveloper * Link to download: https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads * Assuming downloaded file is in /home/gerd/Downloads, open terminal with user gerd: $ mkdir -p ${HOME}/opt $ cd ${HOME}/opt $ tar xjf ~/Downloads/gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2 $ chmod -R -w /home/gerd/opt/gcc-arm-none-eabi-7-2017-q4-major/ * Test if the compiler is functional; use the actual install path: $ /home/gerd/opt/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc-7.2.1 --version * Output should be like this: arm-none-eabi-gcc-7.2.1 (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 7.2.1 20170904 (release) [ARM/embedded-7-branch revision 255204] Copyright (C) 2017 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. The complete toolchain documentation is available in the .../share/doc/pdf/ folder. \\ === GDB - GNU Debugger & OpenOCD === Check that GDB is installed in your Linux distribution by entering $ gdb The output should look like this: GNU gdb (Debian 7.12-6+b1) 7.12.0.20161007-git Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later [...] If missing install with apt-get install gdb * Latest GNU MCU OpenOCD binaries can be found [[https://gnu-mcu-eclipse.github.io/openocd/releases/|here]]. * This leads e.g. to [[https://github.com/gnu-mcu-eclipse/openocd/releases/tag/v0.10.0-7-20180123/|these binary files]] Installation: $ cd ${HOME}/opt $ tar xvf ~/Downloads/gnu-mcu-eclipse-openocd-0.10.0-7-20180123-1217-centos64.tgz $ chmod -R -w gnu-mcu-eclipse/openocd/0.10.0-7-20180123-1217 Check OpenOCD installation: $ ${HOME}/opt/gnu-mcu-eclipse/openocd/0.10.0-7-20180123-1217/bin/openocd --version Output should be something like this: GNU MCU Eclipse 64-bits Open On-Chip Debugger 0.10.0+dev-00404-g20463c28 (2018-01-23-12:24) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Install UDEV rules for USB OpenOCD probes: # cp ${HOME}/opt/gnu-mcu-eclipse/openocd/0.10.0-7-20180123-1217/contrib/60-openocd.rules /etc/udev/rules.d/ # udevadm control --reload-rules # usermod -aG plugdev $USER Install OpenOCD Debugging plugin, see [[https://gnu-mcu-eclipse.github.io/openocd/install/|here]] Update OpenOCD path, see [[https://gnu-mcu-eclipse.github.io/openocd/install/|here]] {{ :en:uhsdr_dev:openocd.pdf |OpeOCD manual from sourceforge}} \\ [[https://community.particle.io/t/tutorial-using-eclipse-st-link-v2-openocd-to-debug/10042|eclipse & st-link/v2 tutorial]] In Virtualbox make sure the STM-link/V2 adapter is connected through to virtual machine (check machine settings->USB) In Eclipse hit green "Debug" button. === GNU MCU Eclipse and CDT === * Install Eclipse and CDT * Download GNU MCU Eclipse IDE for C/C++ Developers from GitHub Releases * Releases are archived here: See https://github.com/gnu-mcu-eclipse/org.eclipse.epp.packages/releases/ * Download latest release. At time of writing this is [[https://github.com/gnu-mcu-eclipse/org.eclipse.epp.packages/releases/download/v4.3.2-20180125-o2/20180125-1917-gnumcueclipse-4.3.2-oxygen-2-linux.gtk.x86_64.tar.gz]] * Release Notes for latest release here: https://gnu-mcu-eclipse.github.io/blog/2018/01/25/plugins-v4.3.2-201801250917-released/ $ cd /home/gerd/opt/ $ mkdir GnuMcuEclipse $ cd GnuMcuEclipse/ $ tar xvf /home/gerd/Downloads/20180125-1917-gnumcueclipse-4.3.2-oxygen-2-linux.gtk.x86_64.tar.gz Make the GNU Arm toolchain location known to Eclipse in Project->Properties->C/C++ Build->Environment->PATH. add the path to GCC here (in this example we would add /home/gerd/opt/gcc-arm-none-eabi-7-2017-q4-major/bin ). === Launch Eclipse to test installation === * Launch eclipse to test installation /home/gerd/opt/GnuMcuEclipse/eclipse/eclipse === Build Test Project to check all is ok === * Build a test project to see if all ok https://gnu-mcu-eclipse.github.io/tutorials/blinky-arm/ === Next step: import UHSDR into gnu arm eclipse === [[en:uhsdr_dev:uhsdrbuild|UHSDR development - import UHSDR into gnu arm eclipse]]