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.
- CodeVROOM for Linux is distributed in .tar.xz files that include all the necessary binaries. To start it, run CodeVROOM-<platform>:

- CodeVROOM does not need installation, so you can click “Run without installing”, or install it to any location of your choice:

- 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:

- Select File->New->Project or use the toolbar command to open the project wizard selector. Select the CMake project wizard:

- Proceed with the default choices for the project type:

- 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:

- Select the device and click “Install” to proceed with the installation:

- Once the package is installed, CodeVROOM will show the configuration options for the device. Proceed with the default ones:

- The next page allows choosing between basic project samples and vendor-supplied templates. Select “STM32CubeMX Samples”:

- Pick the FatFS_USBDisk sample and click “Finish”:

- 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.
