테스트 환경
- Ubuntu 22.04
- TDA3XEVM
- PROCESSOR_SDK_VISION_03_08_00_00
Vision SDK는 다양한 Link 모듈 (Capture, Alg, Display 등)을 조합해 하나의 파이프라인을 구성한다. 이 파이프라인은 영상 입력 → 알고리즘 처리 → 디스플레이 출력처럼 HW/SW 모듈의 연결 구조(토폴로지)를 명시한다
usecase는 이러한 링크들의 연결 구조를 정의한다.
"vision_sdk/apps/src/rtos/usecases/" 폴더에 다양한 usecase 예제가 있으니, 참고하면 된다. Vision SDK에서는 usecase를 생성할 수 있는 tool이 존재한다. 본 글은 tool을 사용해서 usecase를 만들고 빌드하는 과정을 설명한다.
패키지 설치
sudo apt-get update
sudo apt-get install build-essential flex bison graphviz
UsecaseGen 툴 빌드 방법
빌드 실행
cd vision_sdk/tools/vision_sdk_usecase_gen
make
- 성공 시 bin 폴더 안에 vsdk_linux.out 실행 파일이 생성됨
Usecase 설정 파일 작성
my_config.txt 안 파일에 아래와 같이 작성
UseCase: chains_vipSingleCam_Display
Capture(IPU1_0) -> Display(IPU1_0)
- UseCase: 파일/함수 접두어로 사용
- 링크 연결은 -> 로 사용
- Alg_XXX(DSP1_0)과 같이 알고리즘 포함도 가능
- IPC 링크는 자동 삽입됨
Usecase 파일 자동 생성
vision_sdk/apps/tools/vision_sdk_usecase_gen/bin 폴더로 이동해 my_config.txt를 기반으로 한 usecase 파일 생성
./vsdk_linux_out -file my_config.txt
출력 디렉토리 지정
기본적으로 bin 폴더 아래 생성되지만, 아래 옵션으로 디렉토리 지정이 가능하다.
./vsdk_linux_out -file my_config.txt -path ./output
이미지 포함 (DOT 기반)
-img 옵션을 추가하면, 아래와 같이 구조에 대한 이미지가 생성된다.
./vsdk_linux_out -file my_config.txt -img

생성된 파일 위치 및 구성
기본적으로 다음과 같은 파일들이 생성됨

생성된 파일 복사 및 정리
빌드를 위해 생성된. c,. h 파일들을 다음 위치로 복사
vision_sdk/apps/src/rtos/usecases/my_usecase/
SRC_FILES.MK 작성
SRCDIR += $(vision_sdk_PATH)/apps/src/rtos/usecases/my_usecase
SRCS_$(IPU_PRIMARY_CORE) += \ chains_my_usecase.c \ chains_my_usecase_uc.c
cfg.mk 작성
NEED_PROC_IPU1_0=yes
Config 파일에 등록
vision_sdk/apps/configs/<MAKECONFIG>/cfg.mk 수정
여기서 MAKECONFIG는 사용 중인 soc 기준으로 변경하면 된다.
본 글은 TDA3XEVM을 사용하기에 tda3xx_evm_bios_all 폴더이다.
UC_LIST += UC_my_usecase
vision_sdk/apps/configs/<MAKECONFIG>/uc_cfg.mk 수정
UC_LIST += UC_my_usecase
chain 등록
이후 vision_sdk/apps/src/rtos/common 폴더에 원하는 chain에 usecase를 등록 예를 들어 chains_main_bios_misc.c에 메뉴 항목을 추가한다면 아래와 같이 구성한다.
char gChains_menuMiscTests[] = {
...
#ifdef UC_my_usecase
"\r\n x: Run My Usecase",
#endif
...
};
void Chains_menuMiscTestRun() {
...
#ifdef UC_my_usecase
case 'x':
Chains_my_usecase(&gChains_usecaseCfg);
break;
#endif
}
빌드 진행
make -s -j depend
make -s -j
'TI > TDA3' 카테고리의 다른 글
I2C SLAVE MODE (0) | 2025.06.03 |
---|---|
CSL Example 프로그램 사용 방법 (0) | 2025.04.12 |
TDA3-EVM PDK Build (0) | 2025.04.12 |
mflash (0) | 2025.03.19 |
TDA3xEVM Vision SDK Build (0) | 2025.03.18 |