Sitelet https://github.com/islandcontroller/armcm-devcontainer
Skip to content

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:

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.

Additional tooling

Use the setup-devcontainer script to download and install additional tools, such as SEGGER Ozone, SEGGER SystemView and their dependencies:

setup-devcontainer --install-ozone
setup-devcontainer --install-systemview

Launch it from a terminal tab using the ozone or systemview commands.

GUI dependencies for SEGGER J-Flash

Use the following command to install just the GUI dependencies needed for running J-Link/J-Flash tools in graphical mode:

setup-devcontainer --install-gui

Then, you can launch J-Flash using the JFlashExe command.

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

Releases

Used by

Contributors

Languages