Creating Embedded Projects on Linux

This tutorial shows how to create a basic STM32 project on Linux using CodeVROOM.

Before you begin, install the following packages:

Package Name in APT
GCC for ARM gcc-arm-none-eabi
Ninja ninja-build
CMake cmake

Also, make sure your system has a functioning xz executable, since CodeVROOM uses it to unpack the device packages.

Once all the prerequisites have been fulfilled, download the latest CodeVROOM archive and unpack it.

  1. CodeVROOM for Linux is distributed in .tar.xz files that include all the necessary binaries. To start it, run CodeVROOM-<platform>:
  2. CodeVROOM does not need installation, so you can click “Run without installing”, or install it to any location of your choice:
  3. The installation only takes a few seconds and simply copies the files to another location and creates shortcuts. Once installed, or ran in-place, the main window will look like this:
  4. Select File->New->Project or use the toolbar command to open the project wizard selector. Select the CMake project wizard:
  5. Proceed with the default choices for the project type:
  6. The next page allows selecting a toolchain to use. As of version 0.5, CodeVROOM only supports the embedded ARM toolchain, and it needs to be pre-installed via a package manager. Once it is selected, CodeVROOM will show a list of devices compatible with the toolchain:
  7. Select the device and click “Install” to proceed with the installation:
  8. Once the package is installed, CodeVROOM will show the configuration options for the device. Proceed with the default ones:
  9. The next page allows choosing between basic project samples and vendor-supplied templates. Select “STM32CubeMX Samples”:
  10. Pick the FatFS_USBDisk sample and click “Finish”:
  11. CodeVROOM will create and load the project. You can build it via the Project->Build Workspace command:

Now that you have created the project, follow this tutorial to try some basic editing techniques.