"Snooper"의 두 판 사이의 차이
(새 문서: <h1><strong><span style="font-size: large;">SNOOPer 란</span></strong></h1> <p><span style="font-size: small;">SNOOPer는 JTAG 인터페이스를 사용하는 TRACE32-PowerDebug에...) |
|||
(같은 사용자에 의한 3개의 중간 편집이 숨겨짐) | |||
1번째 줄: | 1번째 줄: | ||
− | < | + | <h2><strong><span style="font-size: large;">SNOOPer 란</span></strong></h2> |
<p><span style="font-size: small;">SNOOPer는 JTAG 인터페이스를 사용하는 TRACE32-PowerDebug에서 Target Processor 실행 중 Program Counter를 주기적으로 저장하여 프로그램의 실행과정을 확인할 수 있어<strong> </strong>디버깅 및 성능분석에 활용할 수 있는 기능입니다.</span></p> | <p><span style="font-size: small;">SNOOPer는 JTAG 인터페이스를 사용하는 TRACE32-PowerDebug에서 Target Processor 실행 중 Program Counter를 주기적으로 저장하여 프로그램의 실행과정을 확인할 수 있어<strong> </strong>디버깅 및 성능분석에 활용할 수 있는 기능입니다.</span></p> | ||
<p><span style="font-size: small;">SoC 내에 ETM이 구현되어 있지 않거나, Board 에 ETM Port가 구성되어 있지 않은 System 상에서 코드 흐름 확인, 점유율 파악으로 성능 저하 문제를 개선하기 위하여 사용 가능합니다.</span></p> | <p><span style="font-size: small;">SoC 내에 ETM이 구현되어 있지 않거나, Board 에 ETM Port가 구성되어 있지 않은 System 상에서 코드 흐름 확인, 점유율 파악으로 성능 저하 문제를 개선하기 위하여 사용 가능합니다.</span></p> | ||
9번째 줄: | 9번째 줄: | ||
<p> </p> | <p> </p> | ||
<p> </p> | <p> </p> | ||
− | < | + | <h2><strong><span style="font-size: large;">SNOOPer Trace 기능</span></strong></h2> |
<p><span style="font-size: small;">Trace 메뉴를 이용한 SNOOPer 기능은 버퍼 크기와 빈도 설정으로 코드 흐름을 분석할 수 있는 기능입니다.</span></p> | <p><span style="font-size: small;">Trace 메뉴를 이용한 SNOOPer 기능은 버퍼 크기와 빈도 설정으로 코드 흐름을 분석할 수 있는 기능입니다.</span></p> | ||
<p> </p> | <p> </p> | ||
− | < | + | <h3><strong><span style="font-size: small;">Trace.SNOOPer</span></strong></h3> |
− | <p><span style="font-size: small;"> <img src="/data/wiki/2015-05-29/1432870487.png" | + | <p><span style="font-size: small;"> <img alt="" style="width: 153px; height: 238px;" src="/data/wiki/2015-05-29/1432870487.png" width="181" height="249" /></span></p> |
− | <p><span style="font-size: small;"><img src="/data/wiki/2015-05-29/1432870512.png" | + | <p><span style="font-size: small;"><img alt="" style="width: 464px; height: 401px;" src="/data/wiki/2015-05-29/1432870512.png" width="565" height="481" /></span></p> |
− | + | ||
− | + | ||
− | + | ||
<p><span style="font-size: small;">SIZE : 버퍼 크기 결정</span></p> | <p><span style="font-size: small;">SIZE : 버퍼 크기 결정</span></p> | ||
<p><span style="font-size: small;">Ver.2015기준 52428.. Max</span></p> | <p><span style="font-size: small;">Ver.2015기준 52428.. Max</span></p> | ||
<p> </p> | <p> </p> | ||
<p> </p> | <p> </p> | ||
− | < | + | <h3><strong><span style="font-size: small;">Trace.List / SNOOPer.List </span></strong></h3> |
<p><span style="font-size: small;">SNOOP.List를 통해 프로그램 수행 내역을 확인합니다</span></p> | <p><span style="font-size: small;">SNOOP.List를 통해 프로그램 수행 내역을 확인합니다</span></p> | ||
<p><span style="font-size: small;">/core 옵션을 이용해 각 코어 별로 구분된 결과를 볼 수 있습니다</span></p> | <p><span style="font-size: small;">/core 옵션을 이용해 각 코어 별로 구분된 결과를 볼 수 있습니다</span></p> | ||
− | <p><span style="font-size: small;"> <img src="/data/wiki/2015-05-29/1432870531.png | + | <p><span style="font-size: small;"> <img alt="" src="/data/wiki/2015-05-29/1432870531.png" /></span></p> |
<p> </p> | <p> </p> | ||
− | <p><span style="font-size: small;"> <img src="/data/wiki/2015-05-29/1432870542.png | + | <p><span style="font-size: small;"> <img alt="" src="/data/wiki/2015-05-29/1432870542.png" /></span></p> |
− | <p><span style="font-size: small;"> <img src="/data/wiki/2015-05-29/1432870556.png" | + | <p><span style="font-size: small;"> <img alt="" style="width: 729px; height: 372px;" src="/data/wiki/2015-05-29/1432870556.png" width="938" height="470" /></span></p> |
<p> </p> | <p> </p> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<p> </p> | <p> </p> | ||
− | < | + | <h3><strong><span style="font-size: small;">SNOOPer.Chart.sYmbol</span></strong></h3> |
<p> <span style="font-size: small;">- SNOOP.List->Chart를 이용해 시각적으로 프로그램 흐름을 봅니다</span></p> | <p> <span style="font-size: small;">- SNOOP.List->Chart를 이용해 시각적으로 프로그램 흐름을 봅니다</span></p> | ||
<p><span style="font-size: small;">- SNOOP.List와 같이 코어 별로 구분된 창은 볼 수 없습니다</span></p> | <p><span style="font-size: small;">- SNOOP.List와 같이 코어 별로 구분된 창은 볼 수 없습니다</span></p> | ||
<p><span style="font-size: small;">- /MergeCORE, /JoinCORE, /SplitCORE(기본) 옵션을 사용할 수 있습니다</span></p> | <p><span style="font-size: small;">- /MergeCORE, /JoinCORE, /SplitCORE(기본) 옵션을 사용할 수 있습니다</span></p> | ||
− | <p><span style="font-size: small;"> <img src="/data/wiki/2015-05-29/1432870584.png | + | <p><span style="font-size: small;"> <img alt="" src="/data/wiki/2015-05-29/1432870584.png" /></span></p> |
− | <p><span style="font-size: small;"><img src="/data/wiki/2015-05-29/1432870635.png" | + | <p><span style="font-size: small;"><img alt="" style="width: 824px; height: 466px;" src="/data/wiki/2015-05-29/1432870635.png" width="1061" height="611" /> </span></p> |
<p> </p> | <p> </p> | ||
<p><span style="font-size: small;"><strong>SNOOP.STAT.sYmbol</strong></span></p> | <p><span style="font-size: small;"><strong>SNOOP.STAT.sYmbol</strong></span></p> | ||
<p><span style="font-size: small;">- Chart와 같이 SplitCORE가 기본 설정이며 JoinCORE, MergeCORE 가능</span></p> | <p><span style="font-size: small;">- Chart와 같이 SplitCORE가 기본 설정이며 JoinCORE, MergeCORE 가능</span></p> | ||
− | <p><span style="font-size: small;"><img src="/data/wiki/2015-05-29/1432870669.png" | + | <p><span style="font-size: small;"><img alt="" style="width: 731px; height: 489px;" src="/data/wiki/2015-05-29/1432870669.png" width="1190" height="543" /></span></p> |
<p><span style="font-size: small;"><strong> </strong></span></p> | <p><span style="font-size: small;"><strong> </strong></span></p> | ||
<p><span style="font-size: small;"><strong> </strong><strong> </strong></span></p> | <p><span style="font-size: small;"><strong> </strong><strong> </strong></span></p> | ||
<p><span style="font-size: small;"><strong> </strong></span></p> | <p><span style="font-size: small;"><strong> </strong></span></p> | ||
<p><span style="font-size: small;"><strong> </strong></span></p> | <p><span style="font-size: small;"><strong> </strong></span></p> | ||
− | < | + | <h2><strong><span style="font-size: large;">SNOOPer PERF 기능</span></strong></h2> |
<p><span style="font-size: small;"> PERF 메뉴를 이용한 SNOOPer 기능을 사용할 경우 심볼별 시간 점유율을 확인할 수 있습니다.</span></p> | <p><span style="font-size: small;"> PERF 메뉴를 이용한 SNOOPer 기능을 사용할 경우 심볼별 시간 점유율을 확인할 수 있습니다.</span></p> | ||
− | <p><span style="font-size: small;"> <img | + | <p><span style="font-size: small;"> <img alt="" style="width: 638px; height: 387px;" src="/data/wiki/2015-05-29/1432870682.png" width="679" height="395" /></span></p> |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<p> </p> | <p> </p> | ||
<p> </p> | <p> </p> | ||
+ | <h3><span style="font-size: small;"><strong>PERF.List</strong></span></h3> | ||
+ | <p><span style="font-size: small;"> <img alt="" style="width: 823px; height: 480px;" src="/data/wiki/2015-05-29/1432870688.png" width="889" height="539" /></span></p> |
2015년 5월 29일 (금) 13:59 기준 최신판
목차
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