13.1.12. ROM 파일 시스템 편집하기

ROMFS를 지원하는 보드는 플래시에 읽기 전용 파일 시스템을 갖추고 있으며, 이는 카메라의 /rom에 마운트됩니다. 여기에는 보드의 기본 머신러닝 모델이 포함되어 출하되며, 제품의 모델과 에셋이 속해야 하는 곳입니다. ROMFS의 파일은 플래시에서 직접 메모리 매핑되므로, 큰 모델은 복사본을 위해 RAM을 소비하지 않고 로드됩니다. IDE의 Tools → ROM File System 하위 메뉴가 이를 위한 편집기입니다.

13.1.12.1. 편집기

Edit ROMFS on OpenMV Cam은 연결된 카메라의 ROMFS를 읽어 편집기에서 엽니다. 파일 트리와 함께 파일 추가, 폴더 생성, 항목 삭제 및 추출, 그리고 모델 동물원에서 모델을 바로 가져오는 버튼이 있습니다. 사용량 표시 영역은 보드의 ROMFS 파티션 중 콘텐츠가 차지하는 양을 추적합니다. Commit을 누르기 전까지는 카메라에 아무런 변경이 가해지지 않으며, Commit은 결과를 카메라에 다시 쓸지 아니면 디스크의 .img 파일로 저장할지를 묻습니다.

파일을 추가할 때 두 가지 변환이 자동으로 일어납니다. .py 스크립트는 대상 보드용 .mpy 바이트코드로 크로스 컴파일되고, 모델 파일은 보드에 NPU 가속기가 있고 모델이 필요로 할 때 해당 보드의 NPU 가속기용으로 변환됩니다. ROMFS에 들어가는 것은 항상 카메라가 직접 실행하는 형식입니다.

Edit ROMFS 대화 상자: 모델과 레이블 파일의 파일 트리, 사용량 표시 영역, 그리고 Commit, Model Zoo, Add File, New Folder, Delete, Extract File 버튼

보드의 기본 콘텐츠, 즉 머신러닝 모델을 보여 주는 Edit ROMFS 대화 상자이며, 오른쪽 하단에 사용량 표시 영역이 있습니다.

Open ROMFS File은 연결된 카메라가 아니라 디스크의 .img 이미지 파일에 대해 동일한 편집기를 실행하고, New ROMFS File은 비어 있는 상태로 시작합니다. 어느 쪽이든 생산 시 플래싱하거나 사용자 정의 펌웨어 빌드와 함께 출하하기 위해 ROMFS 이미지를 오프라인으로 준비하는 경로입니다. Reset ROMFS on OpenMV Cam은 연결된 카메라의 ROMFS를 보드의 기본값으로 복원하여 모든 편집을 취소합니다.

더 보기

애플리케이션 출하에서 ROMFS의 역할(거기에 무엇을 넣을지, 그리고 카메라가 런타임에 이를 어떻게 읽는지)에 대해서는 ROMFS 이미지 빌드하기를 참조하십시오.