Skip to content

islandcontroller/armcm-devcontainer

Repository files navigation

armcm-devcontainer

License GitHub Docker Hub Docker Image Version (latest semver)

Arm Cortex-M development and debugging environment inside a VSCode devcontainer.

Screenshot

Packages

System Requirements

Usage

  • Include this repo as .devcontainer in the root of your project
  • Connect debug probe
  • Select Dev Containers: Reopen in Container

For CMake projects:

  • Upon prompt, select the GCC x.x arm-none-eabi CMake Kit.
    • Alternatively, a toolchain definition file is provided in: $CMAKE_CONFIGS_PATH/gcc-arm-none-eabi.cmake.
  • Run CMake: Configure
  • Build using CMake: Build [F7]

CMake+IntelliSense Notes

Upon first run, an error message may appear in Line 1, Column 1. Try re-running CMake configuration, or run a build. If the file is a .h header file, it needs to be #include'd into a C module.

UDEV Rules installation

In order to use SEGGER and OpenOCD debug probes within the container, some udev rules need to be installed on the host machine. A setup script has been provided to aid with installation.

  • Run setup-devcontainer inside the container

  • Close the container, and re-open the work directory on your host

  • Run the install-rules script inside .vscode/setup/ on your host machine

    cd .vscode/setup
    sudo ./install-rules
    

Serial Monitor

To access a serial port inside the devcontainer, use the cu command as shown below:

cu -l <serial port device> -s <baudrate>

e.g. "cu -l /dev/ttyACM0 -s 115200".

To close the connection, press RETURN/ESC/Ctrl-C, type "~." (tilde, dot) and wait for 3 seconds.

Licensing

If not stated otherwise, the contents of this project are licensed under The MIT License. The full license text is provided in the LICENSE file.

SPDX-License-Identifier: MIT