14.1. 펌웨어 개발¶
이 페이지들은 펌웨어 개발자 – 단순히 MicroPython 스크립트를 작성하는 것을 넘어 OpenMV Cam에서 실행되는 C 코드를 변경하려는 사람들 – 을 위한 것입니다. 에디터 설정, 빌드 툴체인 설치, 지원되는 모든 보드에 대한 펌웨어 컴파일, 빌드한 펌웨어를 카메라에 플래싱하기, 그리고 J-Link 프로브와 VS Code에서의 단일 단계 소스 수준 디버깅으로 실제 하드웨어에서 디버깅하기까지 전체 과정을 다룹니다.
끝까지 마치면 깨끗한 컴퓨터에서 펌웨어를 빌드하여 카메라에 올리고, C 소스에 중단점을 설정한 다음, 프로세서를 단일 단계로 실행할 수 있게 됩니다.
참고
OpenMV 펌웨어는 OpenMV 머신 비전 라이브러리, 드라이버, 보드 포트가 추가된 MicroPython 의 포크입니다. 소스는 github.com/openmv/openmv 에 있습니다. 스크립트에서 사용하는 Python image / ml / csi 모듈은 이 저장소의 C 코드입니다.
14.1.1. 빌드 작동 방식¶
시작하기 전에 알아둘 만한 두 가지가 있으며, 이는 아래의 모든 지침을 설명합니다:
빌드는 SDK 기반입니다. ARM 컴파일러, CMake, Python, ST 도구를 직접 설치하지 않습니다. 저장소는 정확한 OpenMV SDK 버전을 고정하며(
SDK_VERSION파일 – 작성 시점에는1.6.0),make sdk가 해당 SDK를 다운로드하여~/openmv-sdk-<version>/에 압축 해제합니다. 그런 다음 빌드는 SDK의gcc,llvm,cmake,python, ST 도구 디렉터리를PATH앞에 추가합니다. 이는 모든 사람이 완전히 동일한 툴체인으로 빌드하며 호스트 설정이 아주 간단함을 의미합니다.네이티브 Windows 빌드는 없습니다. 툴체인과 빌드 스크립트는 Linux(x86-64)와 macOS(arm64)만을 대상으로 합니다. Windows에서는 실제 Linux 환경인 WSL (Windows Subsystem for Linux) 내에서 빌드합니다 – 따라서 WSL이 설치되면 Windows 사용자는 Linux 지침을 그대로 따릅니다. Docker 기반 빌드와 Linux VM도 옵션입니다.
지원되는 모든 시스템에서 상위 수준 시퀀스는 항상 다음과 같습니다:
에디터(VS Code)를 설치합니다.
Linux와 유사한 셸을 준비합니다(네이티브 Linux, macOS, 또는 Windows의 WSL).
저장소와 그 서브모듈을 복제합니다.
make sdk– 일회성 툴체인 설치.make -C lib/micropython/mpy-cross– 바이트코드 컴파일러 빌드.make TARGET=<board>– 펌웨어 빌드.플래싱합니다(OpenMV IDE 또는
dfu-util).선택적으로 J-Link를 연결하여 디버깅합니다.
아래 페이지는 각 단계를 순서대로 안내합니다.