Actions

EmSys

Developing Cortex M3 Applications Using Visual Studio Code

From EdWiki

Revision as of 05:44, 27 December 2019 by Jshankar (Talk | contribs) (Created page with "__NOTOC__ == Developing Cortex M3 Applications Using Visual Studio Code == [https://code.visualstudio.com/ Visual Studio Code] can be used to edit the source code, build the a...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Developing Cortex M3 Applications Using Visual Studio Code

Visual Studio Code can be used to edit the source code, build the application and finally debug it.

Required Software Components

In contrast to fully integrated IDEs, setting up Visual Studio Code (short. VSCode) requires you to setup a number of software packages, which finally work together to build the complete development environment. The software packages can be split into three groups:

  1. VSCode and plugins
  2. ARM Build Tools (compiler etc.)
  3. Debug tools

The packages can be installed in any order (well, almost: VSCode must be installed before VSCode plugins can be installed). Understanding the purpose of individual components helps to debug potential problems and understand the behavior of the system. Therefore I want to first give an overview over these parts.

1. Visual Studio Code and Plugins

Visual Studio Code

We can look at VSCode as an intelligent text editor which provides an extensive framework to add functionality through plugins. VSCode includes a project explorer, which can show the contents of one or multiple folders as a workspace. There is more information on required plugins further down in this list.

Required Plugins

C/C++:

This plugin offers many features to simplify editing of C/C++ code, including Syntax highlighting, Intellisense (finding definitions of symbols), auto-completion of keywords and identifier names, and marking syntax errors while typing.

Cortex-Debug:

This plugin adds support for debugging ARM executable through a GDB Server.

ARM:

Syntax highlighting for ARM assembly code

Linker Script:

Syntax highlighting for linker scripts

2. ARM Build Tools

GNU ARM Embedded Toolchain:

This is the C/C++ compiler and linker along with additional tools. It is used to turn your source code into a binary executable.

CMake:

CMake is a tool which turns compiler-independent project definitions into compiler-specific project definitions. NXP provides such independent project definitions in CMakeLists.txt files. CMake converts these into makefiles that can be processed by the GNU Arm Embedded Toolchain.