Embedded IDE (EIDE)
website·Indexed 32 days ago
https://em-ide.comA VSCode plug-in for embedded development that supports any GCC family compiler. It provides tools for project management, builder and flasher configurations, chip support packages for Cortex-M MCUs, and a CMSIS header wizard. Features include one-click debugging in v3.25.1, project importing from other IDEs like Keil, and multi-project workspace support.
What's inside EIDE
- EIDE is a VSCode extension designed for developing microcontroller projects. It provides a unified development environment that supports multiple compilers and flashing tools, eliminating the need for chip-specific IDEs. It supports architectures including 8051, STM8, STM32, other Cortex-M MCUs, and RISC-V. The extension is compatible with any GCC-based compiler.
Overview of Embedded IDE for VSCode
Embedded IDE is a VSCode plug-in designed for developing single-chip microcomputer projects. It supports a wide range of architectures including 8051, STM8, STM32, other Cortex-M MCUs, and RISC-V. The tool provides a unified development environment within VSCode, integrating project management, building, and chip programming.Import Keil projects into Eide
When importing Keil projects into Eide, be aware of the following constraints:
- Version Support: Only Keil v5 is supported.
- RTE Components: Eide does not currently support the introduction of MDK's RTE components due to the complexity of the UVPROJX project file.
- Projects containing RTE components are identified by green icons in the Keil environment.
- It is recommended not to import projects with RTE components unless they only contain CMSIS components.
- If you choose to force import a project with RTE components, you must manually add the missing source files and include paths.
Manage source files and folders in EIDE
The Project Resources view allows users to manage source files, source folders, and output files. Users can add, remove, exclude, or include files and folders, and modify source file paths using the right-click context menu.Supported flashers by project type
EIDE supports different flashers depending on the target project architecture:
- 8BIT Project: stvp (for stm8), stcgal, or any custom shell command.
- Arm Project: jlink, stlink, pyocd, openocd, or any custom shell command.
- RISCV Project: jlink, pyocd, openocd, or any custom shell command.
Manage source files and folders in Project Resources
The Project Resources view provides a tree UI to manage source folders, source files, and builder output files. Users can add, remove, or exclude files and folders via right-click context menus.Understand the role of Chip Support Packages (CMSIS-Packs) in EIDE
EIDE supports the installation of CMSIS-Packs for Cortex-M project types. While not mandatory for the plugin to function, installing a pack and selecting a specific MCU model optimizes several project settings:
- Compilation Config: Automatically selects the correct
CPU Typebased on the chip. - Flashing Config: Automatically selects the chip model and installs flashing algorithm files for programmers like JLink.
- Debug Config: Automatically generates complete Cortex-debug configurations, including chip model and SVD paths.
- RAM/ROM Layout: Automatically populates the RAM/ROM addresses and sizes based on the chip specifications.
- Peripheral Components: Allows the installation of source code components bundled within the CMSIS-Pack.
- Compilation Config: Automatically selects the correct
Understand the benefits of Chip Support Packages (CMSIS-Packs) in EIDE
EIDE supports the installation of CMSIS-Packs for Cortex-M projects. While optional, installing a chip support package allows the plug-in to automatically optimize the following project settings based on the selected MCU model:
- Builder Configurations: Automatically selects the correct CPU Type.
- Flasher Configurations: For JLink, it automates chip selection and flasher algorithm file installation.
- Debugger Configurations: Automatically generates configurations for
cortex-debug, including chip name and SVD paths. - RAM/ROM Layout: Automatically populates the memory addresses and sizes.
- Peripheral Components: Enables the installation of peripheral driver source files directly from the pack.
Select a compatible flasher based on project type
Depending on the project architecture, different flashers are supported in EIDE:
- 8BIT Project:
stvp(for stm8),stcgal, or any custom shell command. - Arm Project:
jlink,stlink,pyocd,openocd, or any custom shell command. - RISCV Project:
jlink,pyocd,openocd, or any custom shell command.
- 8BIT Project:
Export project to an EIDE Project Template
Export a project as an.epttemplate file by selectingExport As ...->EIDE Project Template. This compresses the VS Code workspace using 7z. The resulting.eptfile can be used to create new projects.Inspect ELF files using the ELF Viewer
To inspect ELF format output files, navigate to theOutput Filesvirtual folder node after a build is complete. Clicking on an ELF file opens theELF Viewer, which dumps and displays information from the file in a webview page.Install Embedded IDE (EIDE) in VSCode
EIDE is a VSCode extension for embedded development. It requires the .NET 6 X64 Runtime to function.
Installation Steps:
- Search for
eidein the VSCode Extension Marketplace and installEmbedded IDE. - Upon installation, the plugin will automatically download and install
eide-binariesand the.NET 6 X64 Runtime. - Restart VSCode after the .NET Runtime installation to refresh system environment variables.
- If the runtime is not detected, close all VSCode instances and launch via the shell using
code .to force a refresh of environment variables.
Offline Installation: Download the installation package from the GitHub Releases page if network access is unavailable.
# To refresh environment variables if .NET runtime is not found code .- Search for