2.1 KiB
IDE Support
[TOC]
Odd File Types
EC uses a few odd file types/names. Some are included from other header files and used to generate data structures, thus it is important for your IDE to index them.
Patterns | Vague Type |
---|---|
README.* |
Text |
Makefile.rules , Makefile.toolchain |
Makefile |
gpio.wrap |
C Header |
gpio.inc |
C Header |
*.tasklist , *.irqlist , *.mocklist , *.testlist |
C Header |
IDE Configuration Primitives
Due to the way most EC code has been structured, you can typically only safely inspect a configuration for a single image (RO or RW) for a single board. Thus, you need to specify the specific board/image pair when requesting defines and includes.
Command | Description |
---|---|
make print-defines BOARD=$BOARD BLD=RW/RO |
List compiler injected defines |
make print-includes BOARD=$BOARD BLD=RW/RO |
List compiler include paths |
VSCode
You can use the ide-config.sh
tool to generate a VSCode configuration that
includes selectable sub-configurations for every board/image pair.
-
From the root
ec
directory, do the following:mkdir -p .vscode ./util/ide-config.sh vscode all:RW all:RO | tee .vscode/c_cpp_properties.json
-
Open VSCode and navigate to some C source file.
-
Run
C/C++ Reset IntelliSense Database
from theCtrl-Shift-P
menu -
Select the config in the bottom right, next to the
Select Language Mode
. You will only see this option when a C/C++ file is open. Additionally, you can select a configuration by pressingCtrl-Shift-P
and selecting theC/C++ Select a Configuration...
option. -
Add the EC specific file associations and style settings. Do the following to copy the default settings to
.vscode/settings.json
:cp .vscode/settings.json.default .vscode/settings.json