Snooper
SNOOPer 란
SNOOPer는 JTAG 인터페이스를 사용하는 TRACE32-PowerDebug에서 Target Processor 실행 중 Program Counter를 주기적으로 저장하여 프로그램의 실행과정을 확인할 수 있어 디버깅 및 성능분석에 활용할 수 있는 기능입니다.
SoC 내에 ETM이 구현되어 있지 않거나, Board 에 ETM Port가 구성되어 있지 않은 System 상에서 코드 흐름 확인, 점유율 파악으로 성능 저하 문제를 개선하기 위하여 사용 가능합니다.
TRACE32는 SNOOPer 기능에서 두가지 분석 방법을 제공합니다.
Trace : 버퍼 크기, 빈도 등을 설정하고 프로그램 흐름과 통계 분석을 위해 사용합니다.
PERF : 버퍼 크기의 제약은 없으나 각 함수 심볼 단위의 점유율 분석을 위해 사용합니다.
SNOOPer Trace 기능
Trace 메뉴를 이용한 SNOOPer 기능은 버퍼 크기와 빈도 설정으로 코드 흐름을 분석할 수 있는 기능입니다.
Trace.SNOOPer
SIZE : 버퍼 크기 결정
Ver.2015기준 52428.. Max
Trace.List / SNOOPer.List
SNOOP.List를 통해 프로그램 수행 내역을 확인합니다
/core 옵션을 이용해 각 코어 별로 구분된 결과를 볼 수 있습니다
SNOOPer.Chart.sYmbol
- SNOOP.List->Chart를 이용해 시각적으로 프로그램 흐름을 봅니다
- SNOOP.List와 같이 코어 별로 구분된 창은 볼 수 없습니다
- /MergeCORE, /JoinCORE, /SplitCORE(기본) 옵션을 사용할 수 있습니다
SNOOP.STAT.sYmbol
- Chart와 같이 SplitCORE가 기본 설정이며 JoinCORE, MergeCORE 가능
SNOOPer PERF 기능
PERF 메뉴를 이용한 SNOOPer 기능을 사용할 경우 심볼별 시간 점유율을 확인할 수 있습니다.
PERF.List