14.1.1.1. 개발 환경 설정¶
컴파일하기 전에 호스트에 세 가지가 필요합니다. 에디터(디버거가 통합되므로 VS Code를 권장합니다), Linux 계열 셸(Windows에서는 WSL, Linux/macOS에서는 기본 제공), 그리고 고정된 SDK가 추출된 OpenMV 저장소입니다.
14.1.1.1.1. VS Code¶
펌웨어 개발에는 어떤 에디터든 사용할 수 있습니다. 빌드는 단지 make 일 뿐이고, 하드웨어 디버거도 명령줄에서 실행됩니다. Visual Studio Code 는 단지 가장 쉬운 경로일 뿐입니다. 펌웨어 디버깅 설정은 그 Cortex-Debug 확장에 통합되므로, VS Code가 설치되어 있으면 이 페이지들의 나머지 내용이 빌드와 디버깅 모두 즉시 동작합니다.
14.1.1.1.1.1. VS Code 설치¶
Windows – code.visualstudio.com 에서 설치 프로그램을 다운로드하여 실행합니다. WSL 내부가 아닌 Windows 에 VS Code를 설치하십시오. WSL 확장을 통해 WSL과 통합되어, UI는 Windows에서 실행되고 컴파일러, 파일, 디버거는 Linux에 위치합니다.
macOS – code.visualstudio.com 에서
.zip을 다운로드하여 압축을 풀고 Visual Studio Code.app 을/Applications로 끌어다 놓습니다. 또는brew install --cask visual-studio-code를 실행합니다.Linux – code.visualstudio.com 에서
.deb/.rpm을 설치하거나(예:sudo apt install ./code_*.deb), 배포판의 Snap/Flatpak을 사용합니다.
설치할 확장(확장 패널에서, Ctrl+Shift+X):
C/C++ (
ms-vscode.cpptools) – C 소스 탐색 및 IntelliSense.Cortex-Debug (
marus25.cortex-debug) – GDB와 J-Link / OpenOCD 서버를 통한 온칩 디버깅. 펌웨어 디버깅 에 필요합니다.WSL (
ms-vscode-remote.remote-wsl) – Windows 전용. VS Code가 WSL 배포판 내부 의 폴더를 열어 에디터, 터미널, IntelliSense, Cortex-Debug가 모두 Linux에서 동작하도록 합니다. 연결되면 C/C++ 및 Cortex-Debug 확장을 WSL 호스트에 한 번 설치하십시오(VS Code가 이를 안내합니다).
14.1.1.1.2. 호스트 셸¶
git 및 몇 가지 기본 도구가 있는 Linux(x86-64) 또는 macOS(arm64) 환경이 필요합니다. 사용 중인 OS에 맞는 섹션을 선택하십시오.
14.1.1.1.2.1. Windows: WSL 설치¶
WSL은 Windows에서 실제 Ubuntu 사용자 영역을 실행합니다. 설치가 완료되면 이 가이드의 이후 모든 지침은 기본 Linux와 동일합니다.
PowerShell을 관리자 권한으로 엽니다(시작 버튼 우클릭 -> 터미널(관리자)).
기본 Ubuntu 배포판으로 WSL을 설치합니다:
wsl --install이는 필요한 Windows 기능을 활성화하고, WSL 2 커널을 설치하며, Ubuntu를 설치합니다. 메시지가 표시되면 재부팅하십시오.
재부팅 후 Ubuntu가 실행되고 UNIX 사용자 이름과 비밀번호를 만들도록 요청합니다. 이 계정은 Windows 계정과 독립적입니다.
배포판을 업데이트합니다:
sudo apt update && sudo apt upgrade -yWSL 2 를 사용 중인지 확인합니다(필수 – WSL 1은 이 워크플로에서 지원되지 않습니다). PowerShell에서:
wsl --list --verboseVERSION열에2가 표시되어야 합니다.1이 표시되면 변환하십시오:wsl --set-version Ubuntu 2
팁
Linux 파일시스템(WSL의 ~/) 내부에서 작업하고 /mnt/c/ 아래에서는 작업하지 마십시오. Windows에 마운트된 드라이브에서 빌드하면 속도가 현저히 느리고 파일 권한 및 줄 끝 문자 문제가 발생할 수 있습니다. 저장소를 WSL 홈 디렉터리에 클론하십시오.
나중에 프로젝트를 열려면: 셸을 위해 시작 메뉴에서 Ubuntu 를 실행하거나, Windows의 VS Code에서 Ctrl+Shift+P -> WSL: Connect to WSL 을 누른 다음 File -> Open Folder 로 Linux 파일시스템에 클론한 저장소를 선택하십시오.
14.1.1.1.2.2. Linux / WSL 사전 요구 사항¶
SDK가 컴파일러를 제공하므로 호스트 패키지는 몇 개만 필요합니다:
sudo apt-get update
sudo apt-get install git build-essential
14.1.1.1.2.3. macOS 사전 요구 사항¶
기본 빌드는 Apple 실리콘(arm64) macOS 에서만 지원됩니다. Homebrew 사용:
brew install bash make coreutils
(Intel Mac은 지원되는 기본 빌드 호스트가 아닙니다. 펌웨어 빌드하기 의 Docker 빌드 또는 Linux VM을 사용하십시오.)
14.1.1.1.3. 소스 가져오기¶
모든 서브모듈(MicroPython, CMSIS, 벤더 드라이버 등)과 함께 저장소를 클론합니다:
git clone --recursive https://github.com/openmv/openmv.git
cd openmv
전체 재귀 클론은 용량이 큽니다. 더 빠른 얕은 클론의 경우:
git clone --depth=1 https://github.com/openmv/openmv.git
cd openmv
git submodule update --init --depth=1 --no-single-branch
git -C lib/micropython/ submodule update --init --depth=1
참고
특정 보드를 빌드할 때는 대신 make 가 해당 보드의 서브모듈만 가져오도록 할 수 있습니다:
make TARGET=<board> submodules
위에 표시된 명시적 git submodule update 가 이미 모든 것을 포함하므로 이 단계는 선택 사항입니다.
14.1.1.1.4. OpenMV SDK 설치¶
저장소 루트에서 일회성 SDK 설치를 실행합니다:
make sdk
이는 download.openmv.io 에서 openmv-sdk-<version>-<os>-<arch>.tar.xz 를 다운로드하고, SHA-256 체크섬을 검증한 후 ~/openmv-sdk-<version>/ 에 추출합니다(버전은 저장소의 SDK_VERSION 파일에 고정됨). 이는 멱등성을 가집니다. 올바른 버전이 이미 설치되어 있으면 다시 실행해도 아무 작업도 하지 않으며, 누락되거나 잘못된 버전이면 일반 빌드는 “OpenMV SDK not found. Run ‘make sdk’ to install it.” 메시지와 함께 중단됩니다.
SDK는 빌드와 디버거에 필요한 모든 것을 번들로 제공하며, 모두 Makefile에 의해 자동으로 PATH 에 추가됩니다:
구성 요소 |
용도 |
|---|---|
ARM GNU 툴체인 ( |
컴파일러, 링커, 디버깅용 |
LLVM/clang |
일부 포트에서 선택된 객체에 사용 |
CMake, GNU Make |
벤더 라이브러리용 빌드 오케스트레이션 |
Python (재배치 가능) |
빌드 스크립트, |
STM32CubeProgrammer ( |
SWD 플래시 및 STM32N6 복구 흐름 |
ST Edge AI |
STM32N6 NPU용 신경망 컴파일러 |
|
USB DFU 플래시 |
|
|
경고
OpenMV N6와 OpenMV AE3는 Cortex-M55 코어를 사용하며 GCC 14.3 이상 을 필요로 합니다. 빌드는 해당 타겟에 대해 이를 강제하며, SDK의 것보다 앞선 PATH 에서 더 오래된 arm-none-eabi-gcc 가 발견되면 “Upgrade to GCC 14.3+ for proper CM55 support” 오류와 함께 중단됩니다. 번들된 SDK 툴체인은 이미 이를 충족합니다. 이 오류는 다른 더 오래된 툴체인이 이를 가리고 있음을 의미합니다.