"스택 MAX 사용량 측정 툴"의 두 판 사이의 차이

TRACE32
이동: 둘러보기, 검색
24번째 줄: 24번째 줄:
 
<p><span style="font-size: medium;"><strong>&nbsp;<span style="white-space: pre;"> </span><img src="/data/wiki/2019-08-07/1565155061.png" alt="" /></strong></span></p>
 
<p><span style="font-size: medium;"><strong>&nbsp;<span style="white-space: pre;"> </span><img src="/data/wiki/2019-08-07/1565155061.png" alt="" /></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;&nbsp;&nbsp; </strong><strong>스택 시작 주소</strong> : 측정하고자 하는 스택의 시작 주소를 입력합니다.</span></p>
+
<p><span style="font-size: medium;"><strong>①&nbsp;&nbsp;&nbsp; </strong><strong>스택 시작 주소</strong> :</span><span style="font-size: medium;">측정하고자 하는 스택의 시작 주소를 입력합니다.</span></p>
 
<p><span style="font-size: medium;"><br /></span></p>
 
<p><span style="font-size: medium;"><br /></span></p>
 
<p><span style="font-size: medium;"><strong>②&nbsp;&nbsp;&nbsp; </strong><strong>스택 끝 주소 :</strong> &nbsp;측정하고자 하는 스택의 끝 주소를 입력합니다.<strong>&nbsp;</strong></span></p>
 
<p><span style="font-size: medium;"><strong>②&nbsp;&nbsp;&nbsp; </strong><strong>스택 끝 주소 :</strong> &nbsp;측정하고자 하는 스택의 끝 주소를 입력합니다.<strong>&nbsp;</strong></span></p>
31번째 줄: 31번째 줄:
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p><span style="font-size: medium;"><strong>④&nbsp; &nbsp;추가 옵션<span><strong>&nbsp;:&nbsp;</strong></span></strong></span></p>
 
<p><span style="font-size: medium;"><strong>④&nbsp; &nbsp;추가 옵션<span><strong>&nbsp;:&nbsp;</strong></span></strong></span></p>
<p><span><strong>&nbsp; &nbsp; &nbsp;- Break Overflow</strong>&nbsp;: 스택의 끝 지점에 Write Breakpoint가 설정되어 Overflow 되었을 경우&nbsp;</span><span>타겟이 멈추어 어느 코드에서 Overflow되는지 확인하실 수 있습니다.</span></p>
+
<p><span><strong>&nbsp; &nbsp; &nbsp;- Break Overflow</strong>&nbsp;: <span style="font-size: medium;">스택의 끝 지점에 Write Breakpoint가 설정되어 Overflow 되었을 경우&nbsp;</span></span><span style="font-size: medium;">타겟이 멈추어 어느 코드에서 Overflow되는지 확인하실 수 있습니다.</span></p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<p><span><strong>&nbsp;&nbsp;&nbsp;&nbsp; - Continuous</strong>&nbsp;:&nbsp; Dualport 기능을 이용하여 스택 사용량을 실시간으로 측정합니다.&nbsp;</span></p>
+
<p><span><strong>&nbsp;&nbsp;&nbsp;&nbsp; - Continuous</strong>&nbsp;:&nbsp; <span style="font-size: medium;">Dualport 기능을 이용하여 스택 사용량을 실시간으로 측정합니다.&nbsp;</span></span></p>
<p><span>&nbsp;</span><span><span> </span>&nbsp; &nbsp; &nbsp;측정을 멈추고 싶을 경우에는 툴바의&nbsp;&nbsp;<img src="/data/wiki/2018-10-22/1540179527.png" alt="" />&nbsp;&nbsp;버튼을 누르고&nbsp;</span><span>다시 측정을 하고 싶을 경우에는 Main UI의 [Continue] 버튼을 누릅니다.</span></p>
+
<p><span>&nbsp;</span><span><span> </span>&nbsp; &nbsp; <span style="font-size: medium;">&nbsp;측정을 멈추고 싶을 경우에는 툴바의&nbsp;&nbsp;<img src="/data/wiki/2018-10-22/1540179527.png" alt="" />&nbsp;&nbsp;버튼을 누르고&nbsp;</span></span><span style="font-size: medium;">다시 측정을 하고 싶을 경우에는 Main UI의 [Continue] 버튼을 누릅니다.</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;"><strong>⑤&nbsp; &nbsp;스택 패턴 채우기<strong><strong>&nbsp;:&nbsp;</strong></strong></strong></span>타겟의 현재 스택 포인터부터 스택 끝주소까지 특정 패턴을 채웁니다.&nbsp;[Init] 버튼을 눌러주셔야 측정을 시작하는 [start] 버튼이 활성화 됩니다.</p>
+
<p><span style="font-size: medium;"><strong>⑤&nbsp; &nbsp;스택 패턴 채우기<strong><strong>&nbsp;:&nbsp;</strong></strong></strong>타겟의 현재 스택 포인터부터 스택 끝주소까지 특정 패턴을 채웁니다.&nbsp;[Init] 버튼을 눌러주셔야 측정을 시작하는 [start] 버튼이 활성화 됩니다.</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;"><strong>⑥&nbsp; &nbsp;<strong>스택 사용량 측정 시작 :</strong></strong></span></p>
 
<p><span style="font-size: medium;"><strong>⑥&nbsp; &nbsp;<strong>스택 사용량 측정 시작 :</strong></strong></span></p>
<p><span><span style="white-space: pre;"> </span>[start] 버튼을 누른 시점에서 패턴이 지워진 부분의 마지막 부분을 찾아&nbsp;</span><span>스택 사용량을 계산합니다.</span></p>
+
<p><span style="font-size: medium;"><span style="white-space: pre;"> </span>[start] 버튼을 누른 시점에서 패턴이 지워진 부분의 마지막 부분을 찾아&nbsp;스택 사용량을 계산합니다.</span></p>
<p><span><span style="white-space: pre;"> </span>-&gt; 측정된 결과는 Main UI의 Progress Bar와 텍스트로 표시됩니다.</span></p>
+
<p><span style="font-size: medium;"><span style="white-space: pre;"> </span>-&gt; 측정된 결과는 Main UI의 Progress Bar와 텍스트로 표시됩니다.</span></p>
 
<p><span><strong><span style="white-space: pre;"> </span><img src="/data/wiki/2018-10-22/1540179545.png" alt="" /></strong><br /></span></p>
 
<p><span><strong><span style="white-space: pre;"> </span><img src="/data/wiki/2018-10-22/1540179545.png" alt="" /></strong><br /></span></p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong>⑦&nbsp; &nbsp;OS&nbsp;<strong><strong>스택 사용량 측정 :&nbsp;</strong></strong></strong></span>iTSP 디버깅 셋팅 창 #OS Settings 항목에 프로젝트의 ORTI 파일이 로드 되어야 해당 버튼이 활성화 됩니다.</p>
+
<p><span style="font-size: medium;"><strong>⑦&nbsp; &nbsp;OS&nbsp;<strong><strong>스택 사용량 측정 :&nbsp;</strong></strong></strong>iTSP 디버깅 셋팅 창 #OS Settings 항목에 프로젝트의 ORTI 파일이 로드 되어야 해당 버튼이 활성화 됩니다.</span></p>
 
<p><span><img src="/data/wiki/2019-08-07/1565155498.png" alt="" /></span></p>
 
<p><span><img src="/data/wiki/2019-08-07/1565155498.png" alt="" /></span></p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
49번째 줄: 49번째 줄:
 
<p><span style="white-space: pre;"> </span><img src="/data/wiki/2019-08-07/1565155630.png" alt="" /></p>
 
<p><span style="white-space: pre;"> </span><img src="/data/wiki/2019-08-07/1565155630.png" alt="" /></p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong>①&nbsp;&nbsp;&nbsp;</strong><strong>스택 초기화 시점</strong> :</span></p>
+
<p><span style="font-size: medium;"><strong>①&nbsp;&nbsp;&nbsp;</strong><strong>스택 초기화 시점 <span style="font-size: large;">:</span></strong></span><strong><span style="font-size: large; white-space: pre;"> </span></strong><span style="font-size: medium;">코드 내 스택을 초기화하는 시점까지 이동합니다.</span></p>
<p><span style="white-space: pre;"> </span>코드 내 스택을 초기화하는 시점까지 이동합니다.</p>
+
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong>②&nbsp;&nbsp;&nbsp;</strong><strong>스택 리스트 및 사용량 :&nbsp;</strong></span></p>
+
<p><span style="font-size: medium;"><strong>②&nbsp;&nbsp;&nbsp;</strong><strong>스택 리스트 및 사용량 :</strong></span><span style="white-space: pre;"> </span><span style="font-size: medium;">ORTI 파일내에 정의된 전체 스택의 리스트 및 최대 사용량을 확인합니다.</span></p>
<p><span style="font-size: medium;"><strong>&nbsp;</strong></span><span style="white-space: pre;"> </span>ORTI 파일내에 정의된 전체 스택의 리스트 및 최대 사용량을 확인합니다.</p>
+
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p><span style="font-size: medium;"><strong>③&nbsp;&nbsp; </strong><strong>스택 패턴 채우기 : </strong></span></p>
 
<p><span style="font-size: medium;"><strong>③&nbsp;&nbsp; </strong><strong>스택 패턴 채우기 : </strong></span></p>
<p><span style="white-space: pre;"> </span>타겟의 각 스택 영역에 ORTI 파일내에 정의된 FILLPATTERN 항목의 패턴값을 채웁니다.</p>
+
<p><span style="font-size: medium;"><span style="white-space: pre;"> </span>타겟의 각 스택 영역에 ORTI 파일내에 정의된 FILLPATTERN 항목의 패턴값을 채웁니다.</span></p>
<p><span style="white-space: pre;"> </span>스택 측정 전 스택 초기화 시점으로 이동 후 해당 버튼을 눌러 패턴값을 채웁니다.</p>
+
<p><span style="font-size: medium;"><span style="white-space: pre;"> </span>스택 측정 전 스택 초기화 시점으로 이동 후 해당 버튼을 눌러 패턴값을 채웁니다.</span></p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong>④&nbsp;&nbsp;&nbsp; </strong><strong>스택 사용량 측정시작 :&nbsp;</strong></span></p>
+
<p><span style="font-size: medium;"><strong>④&nbsp;&nbsp;&nbsp; </strong><strong>스택 사용량 측정시작 :&nbsp;</strong></span>[MEASURE] 버튼을 누른 시점에서 패턴이 지워진 부분을 비교하여 스택 사용량을 계산합니다.</p>
<p><span style="font-size: medium;"><strong>&nbsp;</strong></span><span style="white-space: pre;"> </span>[MEASURE] 버튼을 누른 시점에서 패턴이 지워진 부분을 비교하여 스택 사용량을 계산합니다.</p>
+
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong>⑤&nbsp;&nbsp;&nbsp; </strong><strong>지속적인 측정 :</strong></span></p>
+
<p><span style="font-size: medium;"><strong>⑤&nbsp;&nbsp;&nbsp; </strong><strong>지속적인 측정 :</strong></span><span style="white-space: pre;"> </span><span style="font-size: medium;">Continuous 버튼 체크 유무에 따라 타겟이 동작 중에도 지속적으로 스택 사용량을 측정합니다.</span></p>
<p><span style="white-space: pre;"> </span>Continuous 버튼 체크 유무에 따라 타겟이 동작 중에도 지속적으로 스택 사용량을 측정합니다.</p>
+
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong>⑥&nbsp;&nbsp;&nbsp; </strong><strong>파일 저장 :</strong></span></p>
+
<p><span style="font-size: medium;"><strong>⑥&nbsp;&nbsp;&nbsp; </strong><strong>파일 저장 :</strong></span><span style="white-space: pre;"> </span><span style="font-size: medium;">측정결과를 파일로 저장합니다.</span></p>
<p><span style="white-space: pre;"> </span>측정결과를 파일로 저장합니다.</p>
+

2019년 8월 7일 (수) 14:32 판

 

1.   소개

 


본 기능은 타겟의 스택 사용량을 동적으로 측정하기 위한 기능입니다.  


측정 방법은 스택 포인터 위치부터 스택 끝 주소까지 특정 패턴을 채운 후에 타겟을 동작시키고, 이후 패턴이 마지막으로 지워진 부분을 찾아 스택 사용량을 계산합니다.

 

aTSP 플랫폼에 포함된 자동화 테스트 기능과 연동하여 사용하시면, 다양한 테스트케이스를 실행했을 때 사용된 스택 측정량을 보실 수 있습니다.


사용 방법은 GUI 기반으로 스택의 처음과 끝 위치만 설정해주시면, 버튼 하나로 현재 스택 사용량을 손쉽게 측정하실 수 있습니다.

 

 

 

2. iTSP를 설치하시면 본 기능을 Tools 메뉴에서 사용하실 수 있습니다.

 

 


3. 화면 구성 및 사용법


3-1. Main UI(영역 지정 방식)


 

 

①    스택 시작 주소 :측정하고자 하는 스택의 시작 주소를 입력합니다.


②    스택 끝 주소 :  측정하고자 하는 스택의 끝 주소를 입력합니다. 

 

③   스택 포인터 레지스터 : 스택 포인터의 레지스터를 입력합니다.  기본적으로 Core 아키텍처에 맞게 자동으로 입력됩니다.

 

④   추가 옵션 : 

     - Break Overflow : 스택의 끝 지점에 Write Breakpoint가 설정되어 Overflow 되었을 경우 타겟이 멈추어 어느 코드에서 Overflow되는지 확인하실 수 있습니다.

 

     - Continuous :  Dualport 기능을 이용하여 스택 사용량을 실시간으로 측정합니다. 

       측정을 멈추고 싶을 경우에는 툴바의    버튼을 누르고 다시 측정을 하고 싶을 경우에는 Main UI의 [Continue] 버튼을 누릅니다.


⑤   스택 패턴 채우기 : 타겟의 현재 스택 포인터부터 스택 끝주소까지 특정 패턴을 채웁니다. [Init] 버튼을 눌러주셔야 측정을 시작하는 [start] 버튼이 활성화 됩니다.


⑥   스택 사용량 측정 시작 :

[start] 버튼을 누른 시점에서 패턴이 지워진 부분의 마지막 부분을 찾아 스택 사용량을 계산합니다.

-> 측정된 결과는 Main UI의 Progress Bar와 텍스트로 표시됩니다.


 

⑦   OS 스택 사용량 측정 : iTSP 디버깅 셋팅 창 #OS Settings 항목에 프로젝트의 ORTI 파일이 로드 되어야 해당 버튼이 활성화 됩니다.

 

3-2. Main UI(OS내 전체 스택 영역)

 

①   스택 초기화 시점 : 코드 내 스택을 초기화하는 시점까지 이동합니다.

 

②   스택 리스트 및 사용량 : ORTI 파일내에 정의된 전체 스택의 리스트 및 최대 사용량을 확인합니다.

 

③   스택 패턴 채우기 :

타겟의 각 스택 영역에 ORTI 파일내에 정의된 FILLPATTERN 항목의 패턴값을 채웁니다.

스택 측정 전 스택 초기화 시점으로 이동 후 해당 버튼을 눌러 패턴값을 채웁니다.

 

④    스택 사용량 측정시작 : [MEASURE] 버튼을 누른 시점에서 패턴이 지워진 부분을 비교하여 스택 사용량을 계산합니다.

 

⑤    지속적인 측정 : Continuous 버튼 체크 유무에 따라 타겟이 동작 중에도 지속적으로 스택 사용량을 측정합니다.

 

⑥    파일 저장 : 측정결과를 파일로 저장합니다.