Embedded Software Development Environment Setup


 Setting Up the Environment

  • The procedure written for a Debian Ubuntu environment, but the procedure can be easily adapted for any linux distro

  1. Install GNU ARM Embedded Toolchain

    1. Download  'arm-gnu-toolchain-??.?.rel?-x86_64-arm-none-eabi.tar.xz' from https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

      1. On MacOS, you will want 'arm-gnu-toolchain-??.?.rel?-darwin-x86_64-arm-none-eabi.tar.xz'

    2. Extract code to desired directory.

      1. tar -xvf <gcc-arm.tar.xz> -C <desired compiler location>
      2. the compile location should be somewhere permanent

    3. Add to PATH environment variable

      1. Edit shell's rc file's (~/.bashrc  ~/.zshrc) PATH variable  

        export PATH=$PATH:<your_path_to_gcc_arm>/bin
      2. On MacOS there are two possible locations you may need to put the line above. Execute the command below to determine where to place the line

        echo "$SHELL"

        If you got /bin/zsh  then add the export to ~/.zshrc , if you have /bin/bash then add the export to ~/.bash_profile .

    4. Update environment

      1. Easiest way is to restart your shell (close & open the terminal window)

      2. source ~/.bashrc  or ~/.zshrc  or ~/.config/fish/config.fish 

      3. On MacOS source ~/.zshrc  if you have ZSH or ~/.bash_profile  if you have bash


Setting Up the Environment

  1. Install GNU ARM Tools Path

    1. Download Installer from https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads

      1. Should have a name similar to "gcc-arm-XXXXXXXX-mingw-w64-i686-arm-none-eabi.exe"

    2. To avoid problems later on, make sure you the path to the toolchain has no spaces

      1. You will have to manually modify the automatically generated path because it has spaces in it

      2. Ex: C:\Program_Files_No_Spaces\Arm_GNU_Toolchain_arm-none-eabi\11.2_2022.02

    3. Take note of the install location and save for later.

  2. Install Git for Windows

    1. Download Installer from https://git-scm.com/download/win

SSH Key 

SSH Key Setup 

This is so you can do git submodules which is necessary for pulling launch-core to the module repositories

  1. Run ssh-keygen in your terminal

  2. Walk through the installer

  3. Once the key has been generated, locate the files where the keys has been saved (chosen in the walkthrough)

  4. Copy the contents of the file ending in .pub into GitHub which can be found at


Editor Setup

Setting Up VS Code

  • Light Weight Editor for software development.  Provides the following useful features

  1. Download VS Code: https://code.visualstudio.com/download

    • Download necessary VS Code extensions

      1. On the left hand side of the VS Code window, there is an extensions tab. Click on this tab and search for and install the following extensions:

        1. C/C++ Extension Pack

        2. GitHub Repositories

        3. GitHub Pull Requests and Issues

Setting Up CLion

  • IDE for C/C++ development. 

  1. Sign up for a JetBrains student pack or GitHub student pack (will take a few days to verify)


    • Install either JetBrains Toolbox which will allow you to install multiple JetBrains editors or install just CLion


Setting Up STMCubeIDE

  • IDE designed for STM32 development 

  1. Install