"TRACE32 변수 로깅 / 스택 MAX 사용량 측정 툴"의 두 판 사이의 차이

TRACE32
이동: 둘러보기, 검색
(새 문서: <p><span style="font-size: x-large;"><strong>1.   </strong><strong>소개</strong></span></p> <ol> </ol> <p><span style="font-size: medium;"><strong> </strong></span></...)
 
19번째 줄: 19번째 줄:
 
<p><span style="font-size: medium;"><br /></span></p>
 
<p><span style="font-size: medium;"><br /></span></p>
 
<ol> </ol>
 
<ol> </ol>
<p>&nbsp;</p>
+
<p><span style="white-space: pre;"> </span></p>
 
<p><span style="white-space: pre;"> </span><img src="/data/wiki/2018-10-22/1540174218.png" alt="" /></p>
 
<p><span style="white-space: pre;"> </span><img src="/data/wiki/2018-10-22/1540174218.png" alt="" /></p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
26번째 줄: 26번째 줄:
 
<p><span style="font-size: medium;"><br /></span></p>
 
<p><span style="font-size: medium;"><br /></span></p>
 
<ol> </ol>
 
<ol> </ol>
<p><span style="white-space: pre;"> </span><img src="/data/wiki/2018-10-22/1540174227.png" alt="" /><span style="white-space: pre;"> <img src="/data/wiki/2018-10-22/1540174233.png" alt="" /></span></p>
+
<p><span style="white-space: pre;"> <span style="white-space: pre;"> </span></span><img src="/data/wiki/2018-10-22/1540174227.png" alt="" /><span style="white-space: pre;"> <img src="/data/wiki/2018-10-22/1540174233.png" alt="" /></span></p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
54번째 줄: 54번째 줄:
 
<p><span style="font-size: medium;">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>OPEN </strong>: 로깅된 파일의 폴더가 열립니다.</span></p>
 
<p><span style="font-size: medium;">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>OPEN </strong>: 로깅된 파일의 폴더가 열립니다.</span></p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<p><img src="/data/wiki/2018-10-22/1540174324.png" alt="" /></p>
+
<p><span style="white-space: pre;"> </span><img src="/data/wiki/2018-10-22/1540174324.png" alt="" /></p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
61번째 줄: 61번째 줄:
 
<p><span style="font-size: medium;">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Timestamped : </strong>시간 정보 출력 옵션<strong>&nbsp;</strong></span></p>
 
<p><span style="font-size: medium;">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Timestamped : </strong>시간 정보 출력 옵션<strong>&nbsp;</strong></span></p>
 
<p><span style="font-size: medium;"><strong><br /></strong></span></p>
 
<p><span style="font-size: medium;"><strong><br /></strong></span></p>
<p><span style="font-size: medium;">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>1. Periodically : </strong>T32가 실시간으로 메모리 접근이 가능할때, 변수값들을 <strong>&nbsp;</strong></span><span style="font-size: medium;">설정한 간격마다 샘플링하여 로깅하는 방식입니다.</span></p>
+
<p><span style="font-size: medium;">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>1. Periodically : </strong>T32가 실시간으로 메모리 접근이 가능할때, 변수값들을 <strong>&nbsp;</strong></span><span style="font-size: medium;">설정한 간격마다 샘플링하여 로깅하는 방식입니다.</span><span style="white-space: pre;"> </span><span style="font-size: medium;">(Non-Intrusive 방식)</span></p>
<p><span style="font-size: medium;"><span style="white-space: pre;"> </span>(Non-Intrusive 방식)</span></p>
+
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<p><span style="font-size: medium;">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>2. On Writes : </strong>선택한 변수에 Spot Breakpoint를 설정하고 해당 변수에 <strong>&nbsp;</strong></span><span style="font-size: medium;">Write될 때마다 타겟을 잠시 멈춰 변수값들을 로깅하고&nbsp;</span></p>
+
<p><span style="font-size: medium;">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>2. On Writes : </strong>선택한 변수에 Spot Breakpoint를 설정하고 해당 변수에 <strong>&nbsp;</strong></span><span style="font-size: medium;">Write될 때마다 타겟을 잠시 멈춰 변수값들을 로깅하고&nbsp;</span><span style="font-size: medium;">다시 타겟이 러닝되는 방식입니다. (Intrusive 방식)</span></p>
<p><span style="font-size: medium;">&nbsp;</span><span style="font-size: medium;"><span style="white-space: pre;"> </span>&nbsp; &nbsp; &nbsp;다시 타겟이 러닝되는 방식입니다. (Intrusive 방식)</span></p>
+
 
<p><span style="font-size: medium;"><strong>&nbsp;</strong></span></p>
 
<p><span style="font-size: medium;"><strong>&nbsp;</strong></span></p>
 
<p><span style="font-size: medium;"><strong>&nbsp;</strong></span></p>
 
<p><span style="font-size: medium;"><strong>&nbsp;</strong></span></p>
 +
<p><span style="font-size: medium;"><strong><br /></strong></span></p>
 
<p><span style="font-size: medium;"><span style="white-space: pre;"> </span>※&nbsp;&nbsp;&nbsp; <strong>On Writes </strong><strong>방식은 아래와 같이 어떤 변수에 Spot Breakpoint를 설정할지 선택해주셔야 합니다.</strong></span></p>
 
<p><span style="font-size: medium;"><span style="white-space: pre;"> </span>※&nbsp;&nbsp;&nbsp; <strong>On Writes </strong><strong>방식은 아래와 같이 어떤 변수에 Spot Breakpoint를 설정할지 선택해주셔야 합니다.</strong></span></p>
 
<p><span style="font-size: medium;"><strong>&nbsp;</strong></span></p>
 
<p><span style="font-size: medium;"><strong>&nbsp;</strong></span></p>
77번째 줄: 76번째 줄:
 
<p><span style="font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>※ </strong><strong>Snooper </strong><strong>방식으로 로깅했을 경우에는 해당 리스트창의 변수를 더블클릭&nbsp;</strong></span><strong style="font-size: medium;">하시면 그래프로 변화된 추이를 분석하실 수 있습니다.</strong></p>
 
<p><span style="font-size: medium;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>※ </strong><strong>Snooper </strong><strong>방식으로 로깅했을 경우에는 해당 리스트창의 변수를 더블클릭&nbsp;</strong></span><strong style="font-size: medium;">하시면 그래프로 변화된 추이를 분석하실 수 있습니다.</strong></p>
 
<p><span style="font-size: medium;"><strong>&nbsp;</strong></span></p>
 
<p><span style="font-size: medium;"><strong>&nbsp;</strong></span></p>
<p><span style="font-size: medium;"><strong><span style="white-space: pre;"> <img src="/data/wiki/2018-10-22/1540174429.png" alt="" /></span></strong></span></p>
+
<p><span style="font-size: medium;"><strong><span style="white-space: pre;"><span style="white-space: pre;"> </span> <img src="/data/wiki/2018-10-22/1540174429.png" alt="" /></span></strong></span></p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p><span style="font-size: medium;"><strong>⑤</strong><strong> </strong><strong>로깅 시작/멈춤 버튼 :&nbsp;&nbsp;</strong>로깅을 시작하거나 멈춥니다.</span></p>
 
<p><span style="font-size: medium;"><strong>⑤</strong><strong> </strong><strong>로깅 시작/멈춤 버튼 :&nbsp;&nbsp;</strong>로깅을 시작하거나 멈춥니다.</span></p>
<p>&nbsp;</p>
 
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>

2018년 10월 22일 (월) 11:15 판

1.   소개

 

본 기능은 변수를 로깅할 수 있는 다양한 방법들을 GUI로 쉽게 설정하여 CSV나 TXT파일로 변수 값들을 저장 및 관리할 수 있는 툴입니다.

 

 첫번째 방식은 VAR.LOG 명령어를 이용하여 실시간으로 변수값들을 샘플링하거나 Spot Write Breakpoint를 이용하여 데이터가 Write될 때 마다 변수값을 로깅할 수 있습니다.

 

두번째 방식은 Snooper를 이용하여 지정한 변수값을 보다 높은 샘플링율로 로깅하고, 이 데이터를 토대로 그래프를 그려 변수값 변화의 추이를 바로파악할 수 있습니다.

 

 

 

 

2.   aTSP 플랫폼 설치 방법

 

1. 받은 tools.zip 파일을 “T32설치폴더” 안에 tools라는 이름으로 압축해제 합니다.

 

2. tools 폴더안에 있는 t32.men 파일을 복사하여 “T3설치폴더( ex) C:\T32 )”에 덮어쓰기를 합니다.


 

 

3. 이후 TRACE32프로그램을 실행하면 아래와 같은 버튼들이 추가됩니다.


 

 

4. 생성된 버튼중 다섯번째 버튼을 누르면 Logging Variables Tool 이 실행됩니다.

 

 

 

 

 

3. 화면 구성 및 사용법

 


3-1. Main UI

 

 


①    변수 로깅 방법 선택 : 어떤 방식으로 변수를 로깅할지 선택합니다.


②    변수 로깅 파일 설정 :  변수값 로깅 결과를 파일로 출력할지 선택합니다. 


-       Default Save : T32 설치 폴더내에 var_log\[로깅날짜] 폴더로 저장됩니다.


-      CSV Format : CSV 파일로도 출력할지 선택합니다. (아래 예시)


-       OPEN : 로깅된 파일의 폴더가 열립니다.

 

 

 

VAR.LOG 로깅 옵션 : VAR.LOG 방식을 선택하였을 때 지정하는 옵션입니다.


-      Timestamped : 시간 정보 출력 옵션 


-      1. Periodically : T32가 실시간으로 메모리 접근이 가능할때, 변수값들을  설정한 간격마다 샘플링하여 로깅하는 방식입니다. (Non-Intrusive 방식)

 

-      2. On Writes : 선택한 변수에 Spot Breakpoint를 설정하고 해당 변수에  Write될 때마다 타겟을 잠시 멈춰 변수값들을 로깅하고 다시 타겟이 러닝되는 방식입니다. (Intrusive 방식)

 

 


※    On Writes 방식은 아래와 같이 어떤 변수에 Spot Breakpoint를 설정할지 선택해주셔야 합니다.

 

 

 

 

로깅 변수 리스트 : 로깅할 변수들을 입력합니다. Symbol Browser에서 검색하거나 직접 입력후 엔터를 누르셔도 됩니다.

 

           Snooper 방식으로 로깅했을 경우에는 해당 리스트창의 변수를 더블클릭 하시면 그래프로 변화된 추이를 분석하실 수 있습니다.

 

 

 

로깅 시작/멈춤 버튼 :  로깅을 시작하거나 멈춥니다.