14.1.1.1. Thiết lập môi trường phát triển¶
Bạn cần ba thứ trên máy chủ trước khi có thể biên dịch: một trình soạn thảo (VS Code được khuyên dùng vì trình gỡ lỗi tích hợp vào nó), một shell kiểu Linux (WSL trên Windows, native trên Linux/macOS), và kho lưu trữ OpenMV với SDK được ghim và giải nén.
14.1.1.1.1. VS Code¶
Bất kỳ trình soạn thảo nào cũng hoạt động cho phát triển firmware -- quá trình build chỉ là make, và trình gỡ lỗi trên phần cứng cũng chạy từ dòng lệnh. Visual Studio Code đơn giản là con đường dễ nhất: thiết lập Gỡ lỗi firmware tích hợp vào tiện ích mở rộng Cortex-Debug của nó, vì vậy khi cài đặt VS Code, phần còn lại của các trang này hoạt động ngay, cả build lẫn debug.
14.1.1.1.1.1. Cài đặt VS Code¶
Windows -- tải trình cài đặt từ code.visualstudio.com và chạy nó. Cài đặt VS Code trên Windows, không phải bên trong WSL; nó tích hợp với WSL qua tiện ích mở rộng WSL, chạy giao diện người dùng trên Windows trong khi trình biên dịch, tệp và trình gỡ lỗi nằm trong Linux.
macOS -- tải
.ziptừ code.visualstudio.com, giải nén và kéo Visual Studio Code.app vào/Applications. Hoặcbrew install --cask visual-studio-code.Linux -- cài đặt
.deb/.rpmtừ code.visualstudio.com (ví dụ:sudo apt install ./code_*.deb), hoặc sử dụng Snap/Flatpak của bản phân phối.
Các tiện ích mở rộng cần cài đặt (từ bảng Extensions, Ctrl+Shift+X):
C/C++ (
ms-vscode.cpptools) -- Điều hướng mã nguồn C và IntelliSense.Cortex-Debug (
marus25.cortex-debug) -- Gỡ lỗi trên chip qua GDB và J-Link / máy chủ OpenOCD. Bắt buộc cho Gỡ lỗi firmware.WSL (
ms-vscode-remote.remote-wsl) -- Chỉ dành cho Windows. Cho phép VS Code mở thư mục bên trong bản phân phối WSL của bạn để trình soạn thảo, terminal, IntelliSense và Cortex-Debug đều hoạt động trong Linux. Cài đặt tiện ích mở rộng C/C++ và Cortex-Debug vào WSL host sau khi kết nối (VS Code nhắc nhở điều này).
14.1.1.1.2. Shell của máy chủ¶
Bạn cần môi trường Linux (x86-64) hoặc macOS (arm64) với git và một vài công cụ cơ bản. Chọn phần phù hợp với hệ điều hành của bạn.
14.1.1.1.2.1. Windows: cài đặt WSL¶
WSL chạy một userland Ubuntu thực sự trên Windows. Sau khi được cài đặt, mọi hướng dẫn tiếp theo trong hướng dẫn này đều giống hệt với Linux native.
Mở PowerShell với quyền Administrator (nhấp chuột phải vào Start -> Terminal (Admin)).
Cài đặt WSL với bản phân phối Ubuntu mặc định:
wsl --installThao tác này kích hoạt các tính năng Windows cần thiết, cài đặt nhân WSL 2 và cài đặt Ubuntu. Khởi động lại nếu được nhắc.
Sau khi khởi động lại, Ubuntu khởi chạy và yêu cầu bạn tạo tên người dùng và mật khẩu UNIX. Tài khoản này độc lập với tài khoản Windows của bạn.
Cập nhật bản phân phối:
sudo apt update && sudo apt upgrade -yXác nhận bạn đang dùng WSL 2 (bắt buộc -- WSL 1 không được hỗ trợ cho quy trình này). Trong PowerShell:
wsl --list --verboseCột
VERSIONphải ghi2. Nếu ghi1, hãy chuyển đổi nó:wsl --set-version Ubuntu 2
Mẹo
Làm việc bên trong hệ thống tệp Linux (~/ trong WSL), không phải dưới /mnt/c/. Build trên ổ đĩa được gắn kết Windows chậm hơn đáng kể và có thể gây ra các vấn đề về quyền tệp và kết thúc dòng. Clone kho lưu trữ vào thư mục home WSL của bạn.
Để mở dự án sau này: khởi chạy Ubuntu từ menu Start để có shell, hoặc từ VS Code trên Windows nhấn Ctrl+Shift+P -> WSL: Connect to WSL, sau đó File -> Open Folder và chọn kho lưu trữ đã clone trong hệ thống tệp Linux.
14.1.1.1.2.2. Điều kiện tiên quyết cho Linux / WSL¶
SDK cung cấp trình biên dịch, vì vậy chỉ cần một số gói máy chủ:
sudo apt-get update
sudo apt-get install git build-essential
14.1.1.1.2.3. Điều kiện tiên quyết cho macOS¶
Build native được hỗ trợ trên macOS Apple-silicon (arm64) mà thôi. Sử dụng Homebrew
brew install bash make coreutils
(Mac Intel không phải là máy chủ build native được hỗ trợ -- hãy sử dụng Docker build từ Biên dịch firmware hoặc một máy ảo Linux.)
14.1.1.1.3. Lấy mã nguồn¶
Clone kho lưu trữ với tất cả các submodule (MicroPython, CMSIS, driver nhà cung cấp, v.v.):
git clone --recursive https://github.com/openmv/openmv.git
cd openmv
Clone đệ quy đầy đủ khá lớn. Để clone nông nhanh hơn:
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
Ghi chú
Khi build một bo mạch cụ thể, bạn có thể để make chỉ kéo các submodule của bo mạch đó:
make TARGET=<board> submodules
Lệnh git submodule update rõ ràng được hiển thị ở trên đã bao gồm mọi thứ, vì vậy bước này là tùy chọn.
14.1.1.1.4. Cài đặt OpenMV SDK¶
Từ thư mục gốc của kho lưu trữ, chạy lệnh cài đặt SDK một lần:
make sdk
Lệnh này tải xuống openmv-sdk-<version>-<os>-<arch>.tar.xz từ download.openmv.io, xác minh tổng kiểm tra SHA-256 của nó và giải nén vào ~/openmv-sdk-<version>/ (phiên bản được ghim bởi tệp SDK_VERSION của kho lưu trữ). Nó là idempotent -- chạy lại không làm gì nếu phiên bản đúng đã được cài đặt, và quá trình build thông thường sẽ dừng lại với thông báo "OpenMV SDK not found. Run 'make sdk' to install it." nếu thiếu hoặc sai phiên bản.
SDK bao gồm mọi thứ mà quá trình build và trình gỡ lỗi cần, tất cả được thêm tự động vào PATH bởi Makefile:
Thành phần |
Mục đích |
|---|---|
ARM GNU toolchain ( |
Trình biên dịch, linker, |
LLVM/clang |
Được sử dụng cho các đối tượng được chọn trên một số cổng |
CMake, GNU Make |
Điều phối build cho các thư viện nhà cung cấp |
Python (relocatable) |
Script build, trợ giúp |
STM32CubeProgrammer ( |
Flashing SWD và luồng khôi phục STM32N6 |
ST Edge AI |
Trình biên dịch mạng nơ-ron cho NPU STM32N6 |
|
Flashing USB DFU |
|
Trình khởi chạy máy chủ GDB của lệnh |
Cảnh báo
OpenMV N6 và OpenMV AE3 sử dụng nhân Cortex-M55 và yêu cầu GCC 14.3 trở lên. Quá trình build thực thi điều này cho các mục tiêu đó và dừng lại với lỗi "Upgrade to GCC 14.3+ for proper CM55 support" nếu tìm thấy arm-none-eabi-gcc cũ hơn trước SDK trên PATH. Toolchain SDK được tích hợp đã đáp ứng yêu cầu này; lỗi có nghĩa là một toolchain khác, cũ hơn đang che khuất nó.