14.1. การพัฒนาเฟิร์มแวร์¶
หน้าเหล่านี้สำหรับนักพัฒนาเฟิร์มแวร์ -- ผู้ที่ต้องการเปลี่ยนโค้ด C ที่รันบน OpenMV Cam ไม่ใช่แค่เขียนสคริปต์ MicroPython ครอบคลุมวงจรทั้งหมด: การตั้งค่าโปรแกรมแก้ไข, การติดตั้งชุดเครื่องมือสร้าง, การคอมไพล์เฟิร์มแวร์สำหรับทุกบอร์ดที่รองรับ, การแฟลชบิลด์ลงบนกล้อง และการดีบักบนฮาร์ดแวร์จริงด้วยโพรบ J-Link และการดีบักระดับซอร์สแบบ single-step ใน VS Code
เมื่อสิ้นสุด คุณควรสามารถนำเครื่องใหม่, สร้างเฟิร์มแวร์, ใส่ลงบนกล้อง, ตั้งค่าเบรกพอยต์ในซอร์ส C และ single-step processor ได้
Note
เฟิร์มแวร์ OpenMV เป็น fork ของ MicroPython ที่เพิ่มไลบรารีการมองเห็นของเครื่อง OpenMV, ไดรเวอร์ และพอร์ตบอร์ด ซอร์สอยู่ที่ github.com/openmv/openmv โมดูล Python image / ml / csi ที่คุณใช้ในสคริปต์คือโค้ด C ในที่เก็บนี้
14.1.1. วิธีการทำงานของบิลด์¶
สองสิ่งที่ควรเข้าใจก่อนที่คุณจะเริ่ม เพราะมันอธิบายคำแนะนำทุกข้อด้านล่าง:
บิลด์ขับเคลื่อนโดย SDK. คุณไม่ต้องติดตั้ง ARM compiler, CMake, Python หรือเครื่องมือ ST ด้วยตนเอง ที่เก็บปักหมุดเวอร์ชัน OpenMV SDK ที่แน่ชัด (ไฟล์
SDK_VERSION--1.6.0ณ เวลาที่เขียน) และmake sdkดาวน์โหลดและแตก SDK นั้นไปยัง~/openmv-sdk-<version>/จากนั้นบิลด์จะนำหน้าไดเรกทอรีgcc,llvm,cmake,pythonและเครื่องมือ ST ของ SDK ไปยังPATHซึ่งหมายความว่าทุกคนสร้างด้วย ชุดเครื่องมือเดียวกันทุกประการ และการตั้งค่าโฮสต์มีขนาดเล็กไม่มีบิลด์ Windows แบบ native. ชุดเครื่องมือและสคริปต์สร้างมุ่งเป้าไปที่ Linux (x86-64) และ macOS (arm64) เท่านั้น บน Windows คุณสร้างภายใน WSL (Windows Subsystem for Linux) ซึ่งเป็นสภาพแวดล้อม Linux จริง -- ดังนั้นเมื่อติดตั้ง WSL แล้ว ผู้ใช้ Windows ทำตามคำแนะนำ Linux ทุกประการ การสร้างด้วย Docker และ Linux VM ก็เป็นตัวเลือกเช่นกัน
ลำดับระดับสูงบนระบบที่รองรับใดก็ตามมักจะเป็น:
ติดตั้งโปรแกรมแก้ไข (VS Code)
รับ shell แบบ Linux (Linux แบบ native, macOS หรือ WSL บน Windows)
Clone ที่เก็บและ submodule ของมัน
make sdk-- ติดตั้งชุดเครื่องมือครั้งเดียวmake -C lib/micropython/mpy-cross-- สร้าง bytecode compilermake TARGET=<board>-- สร้างเฟิร์มแวร์แฟลชมัน (OpenMV IDE หรือ
dfu-util)เลือกแนบ J-Link และดีบักมัน
หน้าต่าง ๆ ด้านล่างอธิบายแต่ละขั้นตอนตามลำดับ