"FDX Trace 기능"의 두 판 사이의 차이
(새 문서: <h2>Overview</h2> <p>본 문서는 PowerDebug를 이용한 JTAG기반의 FDX trace기능 및 설정방법에 대한 안내 문서입니다.</p> <h2>FDX TRACE</h2> <h3>정의</h3> <p>F...) |
|||
(같은 사용자에 의한 하나의 중간 편집이 숨겨짐) | |||
12번째 줄: | 12번째 줄: | ||
<p>• Predefined algorithms to operate the software trace from the target program.</p> | <p>• Predefined algorithms to operate the software trace from the target program.</p> | ||
<p>TRACE32 API에 의해서 Trace 데이터가 RAM에 저장되며, 이 정보를 Powerview 내에서 FDX 명령어 그룹을 사용하여 확인 할 수 있습니다.</p> | <p>TRACE32 API에 의해서 Trace 데이터가 RAM에 저장되며, 이 정보를 Powerview 내에서 FDX 명령어 그룹을 사용하여 확인 할 수 있습니다.</p> | ||
+ | <p> </p> | ||
<h3>FDX 기능 설정 순서</h3> | <h3>FDX 기능 설정 순서</h3> | ||
<h4>소스, 헤더파일 추가</h4> | <h4>소스, 헤더파일 추가</h4> | ||
17번째 줄: | 18번째 줄: | ||
<p>~~demo/<core>/fdx 폴더에 예제코드가 제공되며, 아래의 소스, 헤더파일을 빌드환경에 추가합니다.</p> | <p>~~demo/<core>/fdx 폴더에 예제코드가 제공되며, 아래의 소스, 헤더파일을 빌드환경에 추가합니다.</p> | ||
<p>Eg. 인피니언 Tricore/TASKING 컴파일러 경우 : T32fdx.c t32fdx.h t32fdx<strong>tc</strong>.c 파일 추가</p> | <p>Eg. 인피니언 Tricore/TASKING 컴파일러 경우 : T32fdx.c t32fdx.h t32fdx<strong>tc</strong>.c 파일 추가</p> | ||
− | <p> | + | <p><img src="/data/wiki/2018-06-30/1530356552.png" alt="" /></p> |
<h4>소스 코드 구현 / 빌드</h4> | <h4>소스 코드 구현 / 빌드</h4> | ||
<p>Data trace 기능을 사용할 소스파일에 아래와 같이 header파일을 include하고,</p> | <p>Data trace 기능을 사용할 소스파일에 아래와 같이 header파일을 include하고,</p> | ||
<p>Trace 데이터를 생성할 코드 시점에 T32_Fdx_TraceData( ) 함수를 추가한뒤 컴파일 합니다.</p> | <p>Trace 데이터를 생성할 코드 시점에 T32_Fdx_TraceData( ) 함수를 추가한뒤 컴파일 합니다.</p> | ||
− | <p> | + | <p><img src="/data/wiki/2018-06-30/1530356565.png" alt="" /></p> |
<h4>T32 PowerView 기능 설정</h4> | <h4>T32 PowerView 기능 설정</h4> | ||
<p>TRACE 메뉴에서 FDX를 선택하고 나머지 설정사항을 아래 그림과 같이 설정합니다.</p> | <p>TRACE 메뉴에서 FDX를 선택하고 나머지 설정사항을 아래 그림과 같이 설정합니다.</p> | ||
<p><설정에 상응하는 명령어></p> | <p><설정에 상응하는 명령어></p> | ||
− | <p> | + | <p><img src="/data/wiki/2018-06-30/1530356574.png" alt="" /></p> |
<p><TRACE-FDX 설정 화면></p> | <p><TRACE-FDX 설정 화면></p> | ||
+ | <p><img src="/data/wiki/2018-06-30/1530356579.png" alt="" /></p> | ||
<h4>타겟을 동작시켜, Trace 데이터를 확인</h4> | <h4>타겟을 동작시켜, Trace 데이터를 확인</h4> | ||
<p>타겟 동작결과 아래와 같이 Used 항목이 증가합니다.</p> | <p>타겟 동작결과 아래와 같이 Used 항목이 증가합니다.</p> | ||
<p>소스코드내에 설정한 TRACE buffer 사이즈에 따라 Trace 데이터 사이즈를 조정할 수 있습니다.</p> | <p>소스코드내에 설정한 TRACE buffer 사이즈에 따라 Trace 데이터 사이즈를 조정할 수 있습니다.</p> | ||
− | <p> | + | <p><img src="/data/wiki/2018-06-30/1530356586.png" alt="" /></p> |
− | <h4>Trace 메모리를 증가하려면 아래와 같이 <strong>t32fdx.c</strong> 파일 내의 버퍼사이즈를 수정하면 됩니다.</ | + | <h4>Trace 메모리 사이즈 조정</h4> |
+ | <p>Trace 메모리를 증가하려면 아래와 같이 <strong>t32fdx.c</strong> 파일 내의 버퍼사이즈를 수정하면 됩니다.</p> | ||
<p>#define T32_FFDX_TRACE_BUFSIZE <strong>10000</strong></p> | <p>#define T32_FFDX_TRACE_BUFSIZE <strong>10000</strong></p> | ||
− | <p> | + | <p><img src="/data/wiki/2018-06-30/1530356593.png" alt="" /></p> |
<h3>FDX 결과 확인</h3> | <h3>FDX 결과 확인</h3> | ||
<p>타겟 코드 내의 API 에 의해 생성된 trace 데이터를 FDX.list 창을 통해 확인 할 수 있습니다.</p> | <p>타겟 코드 내의 API 에 의해 생성된 trace 데이터를 FDX.list 창을 통해 확인 할 수 있습니다.</p> | ||
− | <p> | + | <p><img src="/data/wiki/2018-06-30/1530356598.png" alt="" /></p> |
<h2>추가</h2> | <h2>추가</h2> | ||
<p>cpu에서 DCC 를 지원하는 경우, Dualport 기능을 활용하여 타겟을 멈추지 않고 Trace 내용을 분석할 수 있습니다.</p> | <p>cpu에서 DCC 를 지원하는 경우, Dualport 기능을 활용하여 타겟을 멈추지 않고 Trace 내용을 분석할 수 있습니다.</p> | ||
<p>해당 기능에 대한 추가 문의는 기술지원을 요청하시기 바랍니다.</p> | <p>해당 기능에 대한 추가 문의는 기술지원을 요청하시기 바랍니다.</p> | ||
− | <p> | + | <p><img src="/data/wiki/2018-06-30/1530356607.png" alt="" /></p> |
2018년 6월 30일 (토) 20:04 기준 최신판
목차
Overview
본 문서는 PowerDebug를 이용한 JTAG기반의 FDX trace기능 및 설정방법에 대한 안내 문서입니다.
FDX TRACE
정의
Fast Data eXchange
타겟 소스코드 내에 선언한 ring버퍼에 필요한 Trace정보를 저장, 이후 PoweView SW에서 trace 데이터를 확인할 수 있는 기능입니다.
보통 타겟의 정보를 Trace하기 위해서는, 추가 Trace 장비가 필요하며 타겟 또한 trace데이터를 생성할 수 있는 기능을 지원해야 합니다. 이러한 환경, CPU의 기능상의 제한으로 real-time Trace를 사용할 수 없을 때 FDX 기능을 활용할 수 있습니다.
SW Trace를 사용하기 위해 TRACE32 는 아래 항목을 지원합니다.
• A general trace format for a software trace located in the target RAM.
• Configuration and display commands for the software trace in the TRACE32 software
(command group: FDX).
• Predefined algorithms to operate the software trace from the target program.
TRACE32 API에 의해서 Trace 데이터가 RAM에 저장되며, 이 정보를 Powerview 내에서 FDX 명령어 그룹을 사용하여 확인 할 수 있습니다.
FDX 기능 설정 순서
소스, 헤더파일 추가
기존의 프로젝트에 FDX 기능 구현을 위한 소스코드를 작성해야 합니다.
~~demo/<core>/fdx 폴더에 예제코드가 제공되며, 아래의 소스, 헤더파일을 빌드환경에 추가합니다.
Eg. 인피니언 Tricore/TASKING 컴파일러 경우 : T32fdx.c t32fdx.h t32fdxtc.c 파일 추가
소스 코드 구현 / 빌드
Data trace 기능을 사용할 소스파일에 아래와 같이 header파일을 include하고,
Trace 데이터를 생성할 코드 시점에 T32_Fdx_TraceData( ) 함수를 추가한뒤 컴파일 합니다.
T32 PowerView 기능 설정
TRACE 메뉴에서 FDX를 선택하고 나머지 설정사항을 아래 그림과 같이 설정합니다.
<설정에 상응하는 명령어>
<TRACE-FDX 설정 화면>
타겟을 동작시켜, Trace 데이터를 확인
타겟 동작결과 아래와 같이 Used 항목이 증가합니다.
소스코드내에 설정한 TRACE buffer 사이즈에 따라 Trace 데이터 사이즈를 조정할 수 있습니다.
Trace 메모리 사이즈 조정
Trace 메모리를 증가하려면 아래와 같이 t32fdx.c 파일 내의 버퍼사이즈를 수정하면 됩니다.
#define T32_FFDX_TRACE_BUFSIZE 10000
FDX 결과 확인
타겟 코드 내의 API 에 의해 생성된 trace 데이터를 FDX.list 창을 통해 확인 할 수 있습니다.
추가
cpu에서 DCC 를 지원하는 경우, Dualport 기능을 활용하여 타겟을 멈추지 않고 Trace 내용을 분석할 수 있습니다.
해당 기능에 대한 추가 문의는 기술지원을 요청하시기 바랍니다.