"타겟 Memory Dump"의 두 판 사이의 차이

TRACE32
이동: 둘러보기, 검색
(새 문서: <h2>개요</h2> <p>개발 중 target의 memory를 dump하여 host PC에 저장한 후 그 dump파일을 분석할 경우가 있다. 그리고 반대로 dump파일을 불러와서 타...)
 
 
4번째 줄: 4번째 줄:
 
<h3><strong>Memory </strong><strong>창 확인 방법</strong></h3>
 
<h3><strong>Memory </strong><strong>창 확인 방법</strong></h3>
 
<p>C-spy를 이용한 debug 모드에서 View &gt; memory 선택</p>
 
<p>C-spy를 이용한 debug 모드에서 View &gt; memory 선택</p>
<p>&nbsp;</p>
+
<p><img src="/data/wiki/2016-10-07/1475812690.jpg" alt="" /></p>
 
<p>memory번지, 해당 번지에 있는 data(1byte 단위), asci 순으로 확인 가능</p>
 
<p>memory번지, 해당 번지에 있는 data(1byte 단위), asci 순으로 확인 가능</p>
 +
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<h3><strong>Memory map</strong><strong>을 참고하며 해당 영역 memory 확인</strong></h3>
 
<h3><strong>Memory map</strong><strong>을 참고하며 해당 영역 memory 확인</strong></h3>
<p>&nbsp;</p>
+
<p><img src="/data/wiki/2016-10-07/1475812701.jpg" alt="" /></p>
 
<p>상단의 콤보박스를 클릭하면 ROM, APB bus, flash, RAM 에 해당하는 memory위치로 이동</p>
 
<p>상단의 콤보박스를 클릭하면 ROM, APB bus, flash, RAM 에 해당하는 memory위치로 이동</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<h3><strong>memory data </strong><strong>단위 변경</strong></h3>
 
<h3><strong>memory data </strong><strong>단위 변경</strong></h3>
<p>&nbsp;</p>
+
<p><img src="/data/wiki/2016-10-07/1475812726.jpg" alt="" /></p>
 
<p>유닛 선택을 통해 개발자에게 익숙한 memory data 단위를 선택 가능</p>
 
<p>유닛 선택을 통해 개발자에게 익숙한 memory data 단위를 선택 가능</p>
 
<p>1xUnits&nbsp; -&gt; byte 단위(8bit)</p>
 
<p>1xUnits&nbsp; -&gt; byte 단위(8bit)</p>
20번째 줄: 21번째 줄:
 
<p><strong><br /> </strong></p>
 
<p><strong><br /> </strong></p>
 
<h2>Memory dump</h2>
 
<h2>Memory dump</h2>
<table cellspacing="0" cellpadding="0">
+
<p><img src="/data/wiki/2016-10-07/1475812760.jpg" alt="" /></p>
<tbody>
+
<tr>
+
<td width="46" height="65">
+
<table cellspacing="0" cellpadding="0" width="100%">
+
<tbody>
+
<tr>
+
<td>
+
<div class="shape">
+
<p><strong>2</strong></p>
+
</div>
+
</td>
+
</tr>
+
</tbody>
+
</table>
+
&nbsp;</td>
+
</tr>
+
</tbody>
+
</table>
+
<p>&nbsp;</p>
+
<table cellspacing="0" cellpadding="0">
+
<tbody>
+
<tr>
+
<td width="46" height="65">
+
<table cellspacing="0" cellpadding="0" width="100%">
+
<tbody>
+
<tr>
+
<td>
+
<div class="shape">
+
<p><strong>1</strong></p>
+
</div>
+
</td>
+
</tr>
+
</tbody>
+
</table>
+
&nbsp;</td>
+
</tr>
+
</tbody>
+
</table>
+
<p>&nbsp;</p>
+
 
<p>우측의 콤보박스 선택 후 memory save&hellip; 클릭</p>
 
<p>우측의 콤보박스 선택 후 memory save&hellip; 클릭</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 +
<p><img src="/data/wiki/2016-10-07/1475812786.jpg" alt="" /></p>
 
<p>Dump 할 메모리 영역, dump파일을 저장 할 위치 지정 후 save 선택</p>
 
<p>Dump 할 메모리 영역, dump파일을 저장 할 위치 지정 후 save 선택</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<p>Save 한 위치를 가보면 dump된 hex파일 확인</p>
 
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<h2>Memory restore</h2>
+
<p><img src="/data/wiki/2016-10-07/1475812831.jpg" alt="" /></p>
<table cellspacing="0" cellpadding="0">
+
<p>Save 한 경로에서 dump된 hex파일 확인</p>
<tbody>
+
<p>&nbsp;</p>
<tr>
+
<td width="46" height="65">
+
<table cellspacing="0" cellpadding="0" width="100%">
+
<tbody>
+
<tr>
+
<td>
+
<div class="shape">
+
<p><strong>1</strong></p>
+
</div>
+
</td>
+
</tr>
+
</tbody>
+
</table>
+
&nbsp;</td>
+
</tr>
+
</tbody>
+
</table>
+
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<table cellspacing="0" cellpadding="0">
 
<tbody>
 
<tr>
 
<td width="46" height="65">
 
<table cellspacing="0" cellpadding="0" width="100%">
 
<tbody>
 
<tr>
 
<td>
 
<div class="shape">
 
<p><strong>2</strong></p>
 
</div>
 
</td>
 
</tr>
 
</tbody>
 
</table>
 
&nbsp;</td>
 
</tr>
 
</tbody>
 
</table>
 
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 +
<h2>Memory restore</h2>
 +
<p><img src="/data/wiki/2016-10-07/1475812868.jpg" alt="" /></p>
 
<p>우측의 콤보박스 선택 후 Memory Restore&hellip; 클릭</p>
 
<p>우측의 콤보박스 선택 후 Memory Restore&hellip; 클릭</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<p>&nbsp;</p>
+
<p><img src="/data/wiki/2016-10-07/1475812911.jpg" alt="" /></p>
 
<p>불러올 dump 파일(.hex)와 memory write 할 영역을 선택</p>
 
<p>불러올 dump 파일(.hex)와 memory write 할 영역을 선택</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<p>&nbsp;</p>
+
<p><img src="/data/wiki/2016-10-07/1475812915.jpg" alt="" /></p>
 
<p>메시지를 통해 정상 Restored memory 확인</p>
 
<p>메시지를 통해 정상 Restored memory 확인</p>
<p>&nbsp;</p>
 

2016년 10월 7일 (금) 13:02 기준 최신판

개요

개발 중 target의 memory를 dump하여 host PC에 저장한 후 그 dump파일을 분석할 경우가 있다. 그리고 반대로 dump파일을 불러와서 타겟 상태를 복원할 경우도 있습니다. 이 문서는 IAR에서 지원하는 dump기능을 사용하여 memory를 디버깅하는 가이드 문서입니다

Memory 창

Memory 창 확인 방법

C-spy를 이용한 debug 모드에서 View > memory 선택

memory번지, 해당 번지에 있는 data(1byte 단위), asci 순으로 확인 가능

 

 

Memory map을 참고하며 해당 영역 memory 확인

상단의 콤보박스를 클릭하면 ROM, APB bus, flash, RAM 에 해당하는 memory위치로 이동

 

memory data 단위 변경

유닛 선택을 통해 개발자에게 익숙한 memory data 단위를 선택 가능

1xUnits  -> byte 단위(8bit)

2xUnits  -> word 단위(16bit)

3xUnits  -> long 단위(32bit)

4xUnits  -> 64bit


Memory dump

우측의 콤보박스 선택 후 memory save… 클릭

 

 

Dump 할 메모리 영역, dump파일을 저장 할 위치 지정 후 save 선택

 

 

Save 한 경로에서 dump된 hex파일 확인

 

 

 

Memory restore

우측의 콤보박스 선택 후 Memory Restore… 클릭

 

불러올 dump 파일(.hex)와 memory write 할 영역을 선택

 

 

메시지를 통해 정상 Restored memory 확인