Difference between revisions of "Developing Cortex M3 Applications Using Visual Studio Code"
From EdWiki
m (→C/C++) |
m (→OpenOCD) |
||
Line 74: | Line 74: | ||
[http://openocd.org/ OpenOCD] is an open-source debugger, supporting a wide variety of JTAG hardware interfaces. For customers using a JTAG adapter other than the J-Link, this probably is the matching software. The package contains a GDB server, which connects to [https://code.visualstudio.com/ VSCode] on one side, and to the J-Link JTAG/SWD hardware on the other side. | [http://openocd.org/ OpenOCD] is an open-source debugger, supporting a wide variety of JTAG hardware interfaces. For customers using a JTAG adapter other than the J-Link, this probably is the matching software. The package contains a GDB server, which connects to [https://code.visualstudio.com/ VSCode] on one side, and to the J-Link JTAG/SWD hardware on the other side. | ||
+ | |||
+ | * [https://openocd.org/doc-release/html/index.html OpenOCD Documentation] | ||
+ | * [[EmSys:OpenOCD Ubuntu Package |OpenOCD Ubuntu Package]] | ||
+ | * [[EmSys:OpenOCD Config Files |OpenOCD Config Files]] | ||
+ | * [[EmSys:OpenOCD Config File Paths |OpenOCD Config File Paths]] | ||
+ | * [[EmSys:Running OpenOCD on Linux |Running OpenOCD on Linux]] | ||
+ | * [[EmSys:Running OpenOCD on Windows |Running OpenOCD on Windows]] | ||
+ | * [[EmSys:Accessing Devices without Sudo |Accessing Devices without sudo]] | ||
+ | * [[EmSys:Configuring Windows 7 for OpenOCD |Configuring Windows 7 for OpenOCD]] | ||
== Chocolatey (Software Management For Windows) == | == Chocolatey (Software Management For Windows) == |
Revision as of 03:44, 9 April 2022
Developing Cortex M3/M4 Applications Using Visual Studio Code
Visual Studio Code (short VSCode) 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 requires us 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:
- VSCode and plugins
- ARM Build Tools (compiler etc.)
- Debug tools
- The packages can be installed in any order
- VSCode must be installed before VSCode plugins can be installed.
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. For more details, please refer the following documents:
Cortex-Debug
This plugin adds support for debugging ARM executable through a GDB Server.
- marus25.cortex-debug
- How to Use
- For a summary of all properties that are available in launch.json
CMake
CMake Language Support for Visual Studio Code.
ARM
Syntax highlighting for ARM assembly code
Linker Script
Syntax highlighting for linker scripts
2. ARM Build Tools
GNU ARM Embedded Toolchain
GNU ARM Embedded Toolchain 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. CMake converts these into makefiles that can be processed by the GNU ARM Embedded Toolchain.
3. Debugger Tools
OpenOCD
OpenOCD is an open-source debugger, supporting a wide variety of JTAG hardware interfaces. For customers using a JTAG adapter other than the J-Link, this probably is the matching software. The package contains a GDB server, which connects to VSCode on one side, and to the J-Link JTAG/SWD hardware on the other side.
- OpenOCD Documentation
- OpenOCD Ubuntu Package
- OpenOCD Config Files
- OpenOCD Config File Paths
- Running OpenOCD on Linux
- Running OpenOCD on Windows
- Accessing Devices without sudo
- Configuring Windows 7 for OpenOCD
Chocolatey (Software Management For Windows)
The Windows versions of required software will be installed using Chocolately
To Setup/Install, Search, and Upgrade Packages, Please follow/refer following documents:
- Install/Setup Chocolatey on windows 10
- Search for available packages
- upgrade packages
Note: Always run Chocolatey (choco) under Windows Power Shell (as an administrator)
4. Install VSCode
Ubuntu
- Please follow this link to install Visual Studio Code Application.
- For more options, please refer to the Visual Studio Code setup page.
Windows
> choco install vscode
5. Installing Visual Studio Code Plugins
The easiest way is to install them from the command prompt inside the IDE:
code --install-extension ms-vscode.cpptools code --install-extension marus25.cortex-debug code --install-extension twxs.cmake code --install-extension dan-c-underwood.arm code --install-extension zixuanwang.linkerscript
Or we can use in the IDE the menu View > Extensions.
- Open VSCode
- Select View → Extensions
- This will show the Extension sidebar
- In the search box above the Extension sidebar, type the Code name from the above table (without the angle brackets) or another reasonable search term
- Click on the little green Install button which appears next to the found plugin.
Below is our installed extensions (menu File > Preferences > Extensions):
6. Install Build Tools
Ubuntu
GNU Arm Embedded Toolchain
- Please follow this link to install GNU ARM Embedded Toolchain
- OR, we can install using apt
$ sudo apt update $ sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi
Make and CMake
$ sudo apt update $ sudo apt install make cmake
Windows
GNU Arm Embedded Toolchain
> choco install gcc-arm-embedded
Make
> choco install make
CMake
> choco install cmake
7. Install Debugging Tools
OpenOCD
Ubuntu
$ sudo apt update $ sudo apt install openocd
Windows
> choco install openocd
Sample Project
You can download sample project from here