ESP IDF Settings
이 확장은 나중에 settings.json이나 VSCode Settings Preference 메뉴(View(보기) -> Command Palette...(명령 팔레트) -> Preferences: Open Settings (UI))에서 업데이트할 수 있는 아래 설정에 기여한다.
참고 : ~, %VARNAME%와 $VARNAME는 이 확장 구성 설정 중 하나에 설정된 경우 인식되지 않는다. 대신에 ${env:HOME}와 같은 ${env:VARNAME}을 사용하여 경로에 환경 변수를 설정하거나 ${config:idf.espIdfPath}와 같은 ${config:SETTINGID}를 사용하여 다른 구성 파라미터 경로를 참조할 수 있다.
idf.saveScope를 사용하면 Configure Paths(경로 구성), Device configuration(디바이스 구성), Set Espressif device target(Espressif 디바이스 대상 설정)과 기타 명령과 같은 명령을 사용할 때 설정을 저장할 위치를 지정할 수 있다. 가능한 값은 Global(User Settings), Workspace와 WorkspaceFolder이다. 자세한 내용은 Working with multiple projects를 참조한다. 이 확장 명령을 사용할 때 설정을 저장할 위치를 선택하려면 Select where to save configuration settings 명령을 사용한다.
참고 : 범위를 지정하지 않으면, 모든 설정은 Global(User Settings), Workspace와 WorkspaceFolder에 적용할 수 있다.
ESP-IDF Specific Settings
ESP-IDF 확장이 Visual Studio Code 편집기 설정에 기여하는 구성 설정이다.
Setting ID | Description |
idf.buildDirectoryName | 확장 명령에 대한 사용자 지정 빌드 디렉토리 이름. (기본 값: build) |
idf.cmakeCompilerArgs | CMake 컴파일 작업에 대한 인수(argument) |
idf.customExtraPaths | $PATH에 추가할 경로 |
idf.customExtraVars |
시스템 환경 변수에 추가할 변수 |
idf.gitPath | git 실행 파일 경로 |
idf.gitPathWin | Windows에서 실행 가능한 git 경로 |
idf.enableCCache | 빌드 작업에서 CCache 활성화(CCache가 PATH 안에 있는지 확인해야 함) |
idf.enableIdfComponentManager |
빌드 명령에서 IDF Component 관리자 활성화 |
idf.espIdfPath | ESP-IDF 프레임워크(IDF_PATH)를 찾는 경로 |
idf.espIdfPathWin | Windows에서 ESP-IDF 프레임워크를 찾는 경로(IDF_PATH) |
idf.ninjaArgs | Ninja 빌드 작업에 대한 인수(argument) |
idf.pythonBinPath | ESP-IDF Python Scripts 실행에 사용되는 Python 바이너리 절대 경로 |
idf.pythonBinPathWin |
Windows에서 ESP-IDF Python Scripts 실행에 사용되는 Python 바이너리 절대 경로 |
idf.toolsPath | ESP-IDF 도구를 찾는 경로(IDF_TOOLS_PATH) |
idf.toolsPathWin | Windows에서 ESP-IDF 도구를 찾는 경로(IDF_TOOLS_PATH) |
확장에서 사용하는 방법은 아래와 같다:
- idf.customExtraPaths는 openocd나 cmake(즉, 현재 프로젝트 빌드)와 같은 확장 명령을 실행하기전에 Visual Studio Code(시스템 환경을 수정하지 않음) 내의 시스템 환경 변수 PATH에 미리 추가된다. 그렇지 않으면 시스템 PATH에 이미 있는 것을 확장 명령이 사용하려고 시도할 것이다.
참고: ESP-IDF: ESP-IDF 확장 구성에서 ESP-IDF 도구를 다운로드하거나 IDF 도구 다운로드를 건너뛰고, idf.customExtraPaths에 저장될 SETUP에 설명된 대로 필요한 모든 ESP-IDF 도구를 수동으로 입력할 수 있다.
- idf.customExtraVars는 openocd 서버 시작에 사용되는 openOCD 스크립트 디렉토리인 OPENOCD_SCRIPTS와 같은 사용자 정의 환경 변수를 저장한다. 이러한 변수는 사용 가능한 경우 확장 변수를 선택하여 환경 변수를 처리하는 이 확장 명령으로 로드되고, 그렇지 않으면 확장 명령이 시스템 PATH에 이미 있는 것을 사용하려고 시도한다. 이것은 Visual Studio Code 외부의 시스템 환경을 수정하지 않는다.
- idf.espIdfPath(또는 Windows의 경우 idf.espIdfPathWin)는 확장 내에서 ESP-IDF 디렉토리 경로 저장에 사용된다. 이 값을 사용할 수 있는 경우, IDF_PATH 처리를 Visual Studio Code에서 재정의한다. 이것은 Visual Studio Code 외부의 시스템 환경을 수정하지 않는다.
- idf.pythonBinPath(또는 Windows의 경우 idf.espIdfPathWin)는 확장 내에서 Python 스크립트 실행에 사용된다. "ESP-IDF: Configure ESP-IDF extension"에서 먼저 Python 가상 환경을 생성할 Python 실행 파일을 시스템 전체에서 선택하고 이 가상 환경의 실행 파일을 idf.pythonBinPath에 저장한다. "ESP-IDF: Configure ESP-IDF extension"를 사용하는 경우, ESP-IDF에 필요한 모든 Python 패키지가 이 가상 환경에 설치된다.
- idf.gitPath(또는 Windows의 경우 idf.gitPathWin)는 ESP-IDF 마스터 버전이나 ESP-ADF, ESP-MDF, Arduino-ESP32와 같은 추가적으로 지원되는 프레임워크를 복제하기 위한 확장에 사용된다.
참고: Visual Studio Code 확장 컨텍스트에서, 시스템 PATH나 다른 환경 변수를 수정할 수 없다. 이 모든 확장 작업과 다른 시스템 프로세스나 확장에 영향을 주어서는 안 되는 자식 프로세스에서 수정된 프로세스 환경을 사용한다. 다른 확장에 문제가 있는 경우, idf.customExtraPaths와 idf.customExtraVars의 내용을 검토하십시오.
Board/ Chip Specific Settings
이 설정은 ESP32 칩/보드에만 해당된다.
Setting | Description | Scope |
idf.adapterTargetName | ESP-IDF 대상 칩 (예: esp32) | |
idf.customAdapterTargetName | ESP-IDF Debug Adapter에 대한 사용자 지정 대상 이름 | |
idf.flashBaudRate |
Flash Baud rate | |
idf.openOcdConfigs | OpenOCD용 구성 파일. OPENOCD_SCRIPTS 폴더 기준 | |
idf.openOcdDebugLevel | openOCD 디버그 레벨 설정(0-4). 기본값: 2 | |
idf.port | 선택한 디바이스 포트의 경로 | |
idf.portWin | Windows에서 선택한 디바이스 포트의 경로 | |
openocd.jtag.command.force_unix_path_separator | sep 경로에 '/'를 강제로 사용. Win32 기반 OS에서는 '//'를 대신 사용. | User, Remote or Workspace |
idf.listDfuDevices | USB에 연결된 DFU 디바이스 목록 | User, Remote or Workspace |
idf.selectedDfuDevicePath | USB에 연결된 선택된 DFU 디바이스 | User, Remote or Workspace |
확장에서 사용하는 방법은 아래와 같다:
- idf.adapterTargetName은 확장 명령을 실행할 칩셋(esp32, esp32s2, esp32s3, esp32c3 및 사용자 지정)을 선택하는 데 사용된다.
참고: "ESP-IDF: Set Espressif device target" 명령을 사용하면, idf.adapterTargetName을 선택한 칩으로, idf.openOcdConfigs를 기본 OpenOCD Configuration 파일로 재정의한다.
idf.openOcdConfigs만 사용자 지정하려면, user settings.json를 수정하거나 "ESP-IDF: Device configuration"를 사용하고 쉼표 ','로 구분된 각 파일을 입력하여 Enter OpenOCD Configuration File Paths list을 선택한다.
- idf.customAdapterTargetName은 idf.adapterTargetName이 사용자 지정으로 설정된 경우에 사용된다.
- idf.flashBaudRate는 "ESP-IDF: Flash your project" 명령과 ESP-IDF Debug에 사용되는 전송 속도 값이다.
참고: ESP-IDF Monitor의 기본 전송 속도 값은 프로젝트의 sdkconfig CONFIG_ESPTOOLPY_MONITOR_BAUD((idf.py 모니터의 전송 속도)에서 가져온다. 이 값은 시스템 환경 변수나 이 확장의 idf.customExtraVars 구성 설정에서 환경 변수 IDF_MONITOR_BAUD나 MONITORBAUD를 설정하여 재정의할 수 있다.
- idf.openOcdConfigs는 OpenOCD 서버와 함께 사용할 openOCD 스크립트 디렉토리의 상대 경로에 있는 구성 파일 배열 저장에 사용된다. (예:["interface/ftdi/esp32_devkitj_v1.cfg", "board/esp32-wrover.cfg"]) 자세한 내용은 여기를 참조한다.
- idf.port(또는 Windows의 경우 idf.portWin)는 확장 명령의 시리얼 포트 값으로 사용된다.
Code coverage Specific Settings
이 설정은 Code coverage에 색상 구성에 사용된다.
Setting ID | Description |
idf.coveredLightTheme | gcov 적용 범위에 대한 밝은 테마에서 덮힌 선의 배경색 |
idf.coveredDarkTheme |
gcov 적용 범위에 대한 어두운 테마에서 덮힌 선의 배경색 |
idf.partialLightTheme | gcov 적용 범위에 대한 밝은 테마에서 부분적으로 덮인 선의 배경색 |
idf.partialDarkTheme | gcov 적용 범위에 대한 어두운 테마에서 부분적으로 덮인 선의 배경색 |
idf.uncoveredLightTheme | gcov 적용 범위에 대한 밝은 테마에서 덮이지 않은 선의 배경색 |
idf.uncoveredDarkTheme | gcov 적용 범위에 대한 어두운 테마에서 덮이지 않은 선의 배경색 |
Extension Behaviour Settings
Setting ID | Description | Scope |
idf.enableUpdateSrcsToCMakeListsFile | CMakeLists.txt에서 업데이트된 소스 파일 활성화 (기본값: true) | User, Remote, Workspace |
idf.flashType | 플래시 방식을 선택. DFU, UART나 JTAG | |
idf.launchMonitorOnDebugSession | ESP-IDF Debug 세션과 함께 ESP-IDF Monitor 시작 | |
idf.notificationSilentMode | 모든 알림 메시지를 무음으로 만들고 작업 출력을 표시 (기본값: true). | User, Remote, Workspace |
idf.showOnboardingOnInit |
확장 활성화 시 ESP-IDF Configuration 윈도우 표시 | User, Remote, Workspace |
idf.saveScope | 확장 설정을 저장할 위치 | User, Remote, Workspace |
idf.saveBeforeBuild | 빌드하기 전에 편집된 모든 파일을 저장 (기본값 true) | |
idf.useIDFKconfigStyle | Kconfig 파일에 대한 스타일 유효성 검사 활성화 | |
idf.telemetry | Telemetry 활성화 | User, Remote, Workspace |
Custom tasks for build and flash tasks
Setting ID | Description |
idf.customTask | "ESP-IDF: Execute custom task"로 실행할 사용자 지정 작업 |
idf.preBuildTask | 빌드 작업 전에 실행할 명령어 문자열 |
idf.postBuildTask | 빌드 작업 후에 실행할 명령어 문자열 |
idf.preFlashTask | 플래시 전에 실행할 명령어 문자열 |
idf.postFlashTask | 플래시 후에 실행할 명령어 문자열 |
QEMU specific settings
Setting ID | Description |
idf.qemuTcpPort | 시리얼 통신을 위한 QEMU tcp 포트 |
Log Tracing Specific Settings
이러한 설정은 Application Log Tracing에만 해당된다.
Setting ID | Description |
trace.poll_period | poll_period는 apptrace에 대해 설정된다. |
trace.trace_size | trace_size는 apptrace에 대해 설정된다. |
trace.stop_tmo | stop_tmo는 apptrace에 대해 설정된다. |
trace.wait4halt | wait4halt는 apptrace에 대해 설정된다. |
trace.skip_size | skip_size는 apptrace에 대해 설정된다. |
Other frameworks Specific Settings
이러한 설정을 통해 ESP-IDF와 함께 추가 프레임워크를 지원할 수 있다.
Setting ID | Description |
idf.espAdfPath | ESP-ADF 프레임워크를 찾는 경로(ADF_PATH) |
idf.espAdfPathWin | 윈도우에서 ESP-ADF 프레임워크를 찾는 경오(ADF_PATH) |
idf.espMdfPath | ESP-MDF 프레임워크를 찾는 경로(MDF_PATH) |
idf.espMdfPathWin | 윈도우에서 ESP-MDF 프레임워크를 찾는 경로(MDF_PATH) |
idf.espMatterPath | ESP-Matter 프레임워크를 찾는 경로(ESP_MATTER_PATH) |
idf.espMatterPathWin | 윈도우에서 ESP-Matter 프레임워크를 찾는 경로(ESP_MATTER_PATH) |
ESP-ADF 설치 명령은 ESP-ADF를 복제하고 idf.espAdfPath(Windows의 경우 idf.espAdfPathWin)를 설정한다.
ESP-MDF 설치 명령은 ESP-MDF를 복제하고 idf.espMdfPath(Windows의 경우 idf.espMdfPathWin)를 설정한다.
ESP-Matter 설치 명령은 ESP-MDF를 복제하고 idf.espMatterPath(Windows의 경우 idf.espMatterPathWin)를 설정한다.
Show Examples Projects 명령어는 관련 구성이 설정된 경우, ESP-IDF, ESP-ADF, ESP-MDF 디렉토리의 예제 중 하나를 사용하여 새 프로젝트를 생성할 수 있습니다.
Use of environment variables in ESP-IDF settings.json and tasks.json
환경 변수(env)와 기타 ESP-IDF 설정(config)의 현재 문자열 값은 각각 ${env:VARNAME}와 ${config:ESPIDFSETTING}로 다른 ESP-IDF 설정에서 사용할 수 있다.
예: "~/esp/esp-idf"를 사용하려면, idf.espIdfPath의 값을 "${env:HOME}/esp/esp-idf"로 설정할 수 있다.
'일반 개발 리소스 > ESP32' 카테고리의 다른 글
ESP32 - vscode-esp-idf-extension - tutorial - basic_use (0) | 2022.08.04 |
---|---|
ESP32 - vscode-esp-idf-extension - tutorial - app_tracing (0) | 2022.08.04 |
ESP32 - vscode-esp-idf-extension - tutorial - additional_frameworks (0) | 2022.08.01 |
ESP32 - LVGL Example Cmake Error (vscode) (0) | 2022.08.01 |
ESP32 - Get Started (0) | 2022.07.27 |