MDSTECH
TRACE32
TRACE32 Solution
TRACE32 Trace Solution
TRACE32 More Product
TRACE32 Software Solution
Why TRACE32?
교육신청
정규교육
교육과정 안내
교육장 안내
교육설문
자료실
TRACE32 소프트웨어
TRACE32 매뉴얼
iTSP
TRACE32 영상
인증서
고객지원
뉴스레터
Q&A
FAQ
원격지원
검색창
검색버튼
회원가입
로그인
TRACE32
TRACE32 Solution
TRACE32 Trace Solution
TRACE32 More Product
TRACE32 Software Solution
Why TRACE32?
교육신청
정규교육
교육과정 안내
교육장 안내
교육설문
자료실
TRACE32 소프트웨어
TRACE32 매뉴얼
iTSP
TRACE32 영상
인증서
고객 지원
뉴스레터
Q&A
FAQ
원격지원
사이트맵 보기
Remote API 문서 원본 보기
←
Remote API
이동:
둘러보기
,
검색
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게만 가능합니다:
사용자
문서의 원본을 보거나 복사할 수 있습니다:
<h2>Introduction</h2> <p>TRACE32는 <strong>Application Programming Interface</strong> (이후로 API로 표시) 를 이용하여 외부 application 으로 target을 control 과 debugging 가능하다.</p> <p>API는 C library와 C function interface로 control 할 수 있다. API 는 socket interface를 이용해 TRACE32 application과 통신한다. (TRACE32 단독으로는 안됨) command chain은 다음과 같다.</p> <p> </p> <p><img src="/data/wiki/2015-05-29/1432898700.png" alt="" /></p> <p> </p> <h3>1.1. Interface</h3> <h4>1.1.1. Application -> TRACE32 API</h4> <p><img src="/data/wiki/2015-05-29/1432898787.png" alt="" /></p> <p>Application은 기본 C function을 사용한다.</p> <p> </p> <h4>1.1.2. TRACE32 API -> TRACE32 display driver</h4> <p><img src="/data/wiki/2015-05-29/1432898838.png" alt="" /></p> <p>TRACE32 S/W (PowerView) 는 socket interface 기반으로 통신한다. 통신을 위한 네트워크 연결을 사용 할 때는 API를 포함한 application control 과 두 개의 다른 host가 있어야 한다. 이 연결 방법은 제대로 된 방법이 아니다. 기본적으로 API 내에는 error detection을 해주는 네트워크 설정이 없기 때문이다. 그렇기 때문에 같은 host에서 running 할 수 있는 방법을 추천한다.</p> <p> </p> <h4>1.1.3. TRACE32 display driver -> TRACE32</h4> <p><img src="/data/wiki/2015-05-29/1432898885.png" alt="" /></p> <p>S/W (PowerView)는 API가 TRACE32 H/W를 통해 요청하는 루트로 되어있다. Interface 방법은 세가지 중 (Ethernet, parallel, USB) 하나를 선택할 수 있다.</p> <p> </p> <p><strong><br /> </strong></p> <h2>2. API build 하기</h2> <h3>2.1. API file 구성</h3> <p> 두 개의 C source file과 하나의 header file 로 이루어져 있다. (C:\T32\demo\api\capi\src)</p> <p>① hlinknet.c : TRACE32 socket interface 하는 source file.</p> <p>② hremote.c : 모든 API function 을 가지고 있는 source file.</p> <p>③ t32.h : API header file.</p> <p> </p> <h3>2.2. API와 Application의 연결</h3> <p> API 를 사용 할 때는 header file은 “t32.h”에 반드시 포함된다. Source의 시작을 의미한다.</p> <p> </p> <p><strong>#include “t32.h” </strong></p> <p>Compile 과 linking 할 때 API file 은 application의 source를 반드시 handling 한다.</p> <p><strong>cc -c hlinknet.c</strong></p> <p><strong>cc -c hremote.c</strong></p> <p><strong>cc -c applic.c</strong></p> <p>linker는 “cc”로 object file은 “o”로 표현된다.</p> <p><strong>cc -o applic hlinknet.o hremote.o applic.o</strong></p> <p><strong> </strong></p> <h3><span style="font-size: 1.17em;">2.3. TRACE32 Software 준비</span></h3> <p> TRACE32 S/W는 remote control 을 사용 하기 위해 API와 같은 환경설정을 해야 한다. “config.t32” 파일을 아래와 같이 수정하도록 한다.</p> <table border="1" cellspacing="0" cellpadding="0"> <tbody> <tr> <td width="693" valign="top"> <p>;Environment Variables</p> <p>OS=</p> <p>ID=T32_1000021</p> <p>TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp</p> <p>SYS=C:\T32</p> <p>HELP=C:\T32</p> <p> </p> <p>; Standard License File used</p> <p> </p> <p><strong>;T32 API Access</strong></p> <p><strong>RCL=NETASSIST</strong></p> <p><strong>PORT=20001</strong></p> <p><strong>PACKLEN=1024</strong></p> <p> </p> <p>;T32 Intercom</p> <p>; not used</p> <p> </p> <p>;Connection to Host</p> <p>PBI=</p> <p>USB</p> <p> </p> <p>;Screen Settings:</p> <p>SCREEN=</p> <p>HEADER=TRACE32 API_REMOTE</p> <p> </p> <p>;Printer Settings:</p> <p>PRINTER=WINDOWS</p> </td> </tr> </tbody> </table> <p> </p> <p>PACKLEN 은 socket 통신을 위한 최대의 package length (byte) 를 넣어준다. 1024가 최대이다.</p> <p> Port Number 는 API 통신을 위해 사용하는 UDP port 를 넣어준다. Default 는 20000이다. 이미 port 20000이 사용 중이기 때문에 20000보다 크게 설정한다.</p> <p> </p> <h3><span style="font-size: 1.17em;">2.4. API 환경 설정</span></h3> <p> T32_Config(), T32_Init() 과 T32_Attach() function 들에 의해서 API 환경 설정을 한다. T32_Config() 는 두 개의 변수를 가지며 node name과 port number이다. T32_Init() 은 통신 채널 셋업 설정을 한다. T32_Exit() 는 connection을 끊을 때와 application의 terminating 전에 항상 호출된다.</p> <p> 나머지 function들은 C:\T32\pdf\<strong>api_remote.pdf</strong>에서 확인 할 수 있다.</p> <p> </p> <p> </p> <p> </p> <h2>3. API 활용 방법</h2> <p>TRACE32 Remote API 은 상당히 많은 기능을 제공한다 여기에서는 그 중에 가장 많이 사용되는 API에 대하여 사용 방법 및 예제에 관하여 설명한다. </p> <p> </p> <h3>3.1. 타겟 상태 읽어 오기 : T32_GetState</h3> <table border="1" cellspacing="0" cellpadding="0"> <tbody> <tr> <td width="111" valign="top"> <p>Explanation</p> </td> <td width="582" valign="top"> <p>현재 Target 보드의 상태가 Down/Halt/Stop/Running 인지를 확인</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Prototype</p> </td> <td width="582" valign="top"> <p>int T32_Getstate ( int *pstate );</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Parameters</p> </td> <td width="582" valign="top"> <p>pstate : ICD 상태 값을 Return 받을 변수 지정</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Returns</p> </td> <td width="582" valign="top"> <p>0 : Debug system 이 DOWN 상태</p> <p>1 : Debug system 이 HALT 상태</p> <p>2 : Target이 Break 에 걸려있는 상태</p> <p>3 : Target이 Runnig 중인 상태</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Example</p> </td> <td width="582" valign="top"> <p>int state = -1;</p> <p> </p> <p>error = T32_GetState ( &state );</p> <p>/* no error handling, but state preset to detect problems */</p> <p>printf ("System is ");</p> <p>switch (state)</p> <p>{</p> <p>case 0: printf ("down.\n"); break;</p> <p>case 1: printf ("halted.\n"); break;</p> <p>case 2: printf ("stopped.\n"); break;</p> <p>case 3: printf ("running.\n"); break;</p> <p>default: printf ("Error!\n");</p> <p>}</p> </td> </tr> </tbody> </table> <p> </p> <h3>3.2. 타겟 CPU Reset : T32_ResetCPU</h3> <table border="1" cellspacing="0" cellpadding="0"> <tbody> <tr> <td width="111" valign="top"> <p>Explanation</p> </td> <td width="582" valign="top"> <p>Target CPU 을 Reset 하기 위하여 내부적으로 SYStem.UP, Register.Reset 을 진행</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Prototype</p> </td> <td width="582" valign="top"> <p>int T32_ResetCPU ( void );</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Parameters</p> </td> <td width="582" valign="top"> <p>none</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Returns</p> </td> <td width="582" valign="top"> <p>0 : 실행 성공</p> <p>0 외의 다른 값 : Error 발생</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Example</p> </td> <td width="582" valign="top"> <p>error = T32_ResetCPU ();</p> </td> </tr> </tbody> </table> <p> </p> <h3>3.3. CMM 스크립트 실행 하기 : T32_Cmd</h3> <table border="1" cellspacing="0" cellpadding="0"> <tbody> <tr> <td width="111" valign="top"> <p>Explanation</p> </td> <td width="582" valign="top"> <p>Powerview 에서 수행할 명령어 실행</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Prototype</p> </td> <td width="582" valign="top"> <p>int T32_Cmd ( const char *command );</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Parameters</p> </td> <td width="582" valign="top"> <p>command : 수행할 명령어 정의</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Returns</p> </td> <td width="582" valign="top"> <p>0 : 실행 성공</p> <p>0 외의 다른 값 : Error 발생</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Example</p> </td> <td width="582" valign="top"> <p>error = T32_Cmd ( "Data.Set %Long 12200 033FFC00" );</p> <p>error = T32_Cmd ( "Do test.cmm" );</p> <p>*명령어에 대한 결과 메시지는 T32_GetMessage() API를 통해 확인 가능하다.</p> </td> </tr> </tbody> </table> <p> </p> <h3>3.4. 메모리 읽기 : T32_ReadMemory</h3> <table border="1" cellspacing="0" cellpadding="0"> <tbody> <tr> <td width="111" valign="top"> <p>Explanation</p> </td> <td width="582" valign="top"> <p>Target 메모리부터 Data 를 Read 함</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Prototype</p> </td> <td width="582" valign="top"> <p>int T32_ReadMemory ( uint32_t byteAddress,</p> <p>int access,</p> <p>uint8_t *buffer,</p> <p>int byteSize );</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Parameters</p> </td> <td width="582" valign="top"> <p>byteAddress : Data를 읽어올 메모리 주소 번지</p> <p>access : 메모리 접근 형태(클래스 * 0x0 : data memory)</p> <p>buffer : 전달 받은 버퍼 변수</p> <p>byteSize ; 메모리에서 읽어올 Byte 수</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Returns</p> </td> <td width="582" valign="top"> <p>0 : 실행 성공</p> <p>0 외의 다른 값 : Error 발생</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Example</p> </td> <td width="582" valign="top"> <p>// Read 16 bytes from address D:0x100</p> <p> </p> <p>// 1) byte-addressed machine (e.g. x86, MicroBlaze, PPC)</p> <p>uint8_t buffer[16];</p> <p>error = T32_ReadMemory (0x100, 0x0 /*D:*/, buffer, 16 /*bytes*/);</p> <p> </p> <p>// 2) word-addressed machine using 16bit words (e.g. C2000)</p> <p>uint8_t buffer[16];</p> <p>error = T32_ReadMemory (0x100 * 2 /*16bit*/, 0x0, buffer, 16 /*bytes*/);</p> </td> </tr> </tbody> </table> <p> </p> <h3>3.5. 메모리 쓰기 : T32_WriteMemory</h3> <table border="1" cellspacing="0" cellpadding="0"> <tbody> <tr> <td width="111" valign="top"> <p>Explanation</p> </td> <td width="582" valign="top"> <p>Target 메모리부터 Data 를 Write 함</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Prototype</p> </td> <td width="582" valign="top"> <p>int T32_WriteMemory (dword address,</p> <p> int access,</p> <p> byte * buffer,</p> <p> int size);</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Parameters</p> </td> <td width="582" valign="top"> <p>address : Data를 Write 할 메모리 주소 번지</p> <p>access : 메모리 접근 형태(클래스 * 0x0 : data memory)</p> <p>buffer : Write 데이터의 버퍼 변수</p> <p>size ; Write 할 Byte 수</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Returns</p> </td> <td width="582" valign="top"> <p>0 : 실행 성공</p> <p>0 외의 다른 값 : Error 발생</p> </td> </tr> <tr> <td width="111" valign="top"> <p>Example</p> </td> <td width="582" valign="top"> <p>unsigned char buffer[16];</p> <p>error = T32_WriteMemory ( 0x100, 0xc0, buffer, 16 );</p> </td> </tr> </tbody> </table> <p> </p> <p> </p> <p> </p> <p> </p> <h2><span style="font-size: 1.5em;">4. compile 환경설정</span></h2> <h3>4.1. compiler 설치</h3> <p>① Visual Studio 2005 Professional 을 설치한다. (Visual Studio 2005 설치가이드 문서를 참고한다.)</p> <p>② 설치 후에는 C:\Program Files<x86>\Microsoft Visual Studio 8 폴더를 확인 한다.</p> <p>* 다른 compiler를 이용할 경우 GCC, Sun Compiler를 이용할 수 있다.</p> <h1> </h1> <h3>4.2. makefile 설정</h3> <p>① make file에는 설치된 compiler 환경에 따라 경로 설정을 변경해 준다.</p> <p>② 경로 사이에 공백이 사이에 있을 경우 “” 로 처리해준다.</p> <p>* 설치 후 기본 적인 make 파일은 다음과 같다.</p> <table border="1" cellspacing="0" cellpadding="0"> <tbody> <tr> <td width="693" valign="top"> <p> </p> <p># Microsoft compiler</p> <p>MSDIR=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7</p> <p>INCDIR="$(MSDIR)\Include"</p> <p>INCDIR2="$(MSDIR)\PlatformSDK\Include"</p> <p>LIBDIR="$(MSDIR)\Lib"</p> <p>LIBDIR2="$(MSDIR)\PlatformSDK\Lib"</p> <p>MCC="$(MSDIR)\bin\cl.exe" -DWIN32 -DMS_WINDOWS -I$(INCDIR) -I$(INCDIR2) -I"..\src"</p> <p>MLINK="$(MSDIR)\bin\link.exe" /LIBPATH:$(LIBDIR) /LIBPATH:$(LIBDIR2) /OUT:$@</p> <p> </p> <p># GNU compiler</p> <p># GCC=/usr/local/bin/gcc -ansi -Wall</p> <p># GLINK=/usr/local/bin/gcc -o $@</p> <p> </p> <p># Sun compiler</p> <p># SCC=/usr/ucb/cc -I/usr/openwin/include</p> <p># SLINK=/usr/ucb/cc -o $@</p> <p> </p> <p> </p> <p>LINK=$(MLINK)</p> <p>CC=$(MCC)</p> <p> </p> <p>OBJ=hremote.obj hlinknet.obj hrtest.obj</p> <p>OBJ2=hrcmd.obj hlinknet.obj hremote.obj</p> <p>OBJ3=notifications.obj hlinknet.obj hremote.obj</p> <p>all: t32rem.exe hrtest.exe</p> <p> </p> <p>notifications.exe : $(OBJ3)</p> <p> $(LINK) $(OBJ3) kernel32.lib wsock32.lib</p> <p> </p> <p>t32rem.exe : $(OBJ2)</p> <p> $(LINK) $(OBJ2) kernel32.lib wsock32.lib</p> <p> </p> <p>hrtest.exe : $(OBJ)</p> <p> $(LINK) $(OBJ) kernel32.lib wsock32.lib</p> <p> </p> <p>hremote.obj : ../src/hremote.c ../src/t32.h</p> <p> $(CC) -c -o $@ ../src/hremote.c</p> <p> </p> <p>hlinknet.obj : ../src/hlinknet.c ../src/t32.h</p> <p> $(CC) -c -o $@ ../src/hlinknet.c</p> <p> </p> <p>hrtest.obj : hrtest.c ../src/t32.h</p> <p> $(CC) -c -o $@ hrtest.c</p> <p> </p> <p>hrcmd.obj : hrcmd.c ../src/t32.h</p> <p> $(CC) -c -o $@ hrcmd.c</p> <p> </p> <p>notifications.obj : notifications.c ../src/t32.h</p> <p> $(CC) -c -o $@ notifications.c</p> </td> </tr> </tbody> </table> <h3>4.3. build 하기</h3> <p>① cmd를 이용해 build 한다.</p> <p>② Source가 설치 된 경로로 이동해 nmake 하면 된다.</p> <p>③ Exe 파일이 제대로 생성이 되었는지 확인한다.</p> <p><img src="/data/wiki/2015-05-29/1432899116.png" alt="" /></p> <p> </p> <h2><span style="font-size: 1.5em;">5. API 사용하기</span></h2> <h3><span style="font-size: 1.17em;">5.1. TRACE32 start</span></h3> <p>① config.t32 수정 후 t32marm.exe 를 실행한다. (C:\T32)</p> <p><img src="/data/wiki/2015-05-29/1432899208.png" alt="" /></p> <p> </p> <p>② compile이 완료 된 exe 파일을 실행한다. 위의 ①②의 실행 순서에 주의 하도록 한다.</p> <p><img src="/data/wiki/2015-05-29/1432899233.png" alt="" /></p> <p><img src="/data/wiki/2015-05-29/1432899251.png" alt="" /></p> <p> </p> <p> </p> <p> <API command></p> <p> </p> <table border="1" cellspacing="0" cellpadding="0"> <tbody> <tr> <td width="347"> <p> <strong>Command</strong></p> </td> <td width="347"> <p><strong>Description</strong></p> </td> </tr> <tr> <td width="347" valign="top"> <p><strong>q / Quit Program</strong></p> </td> <td width="347" valign="top"> <p>API 프로그램 종료</p> </td> </tr> <tr> <td width="347" valign="top"> <p><strong>c / System Up</strong></p> </td> <td width="347" valign="top"> <p>Target 연결. System up</p> </td> </tr> <tr> <td width="347" valign="top"> <p><strong>D / Do Test</strong></p> </td> <td width="347" valign="top"> <p>Test.cmm 실행</p> </td> </tr> <tr> <td width="347" valign="top"> <p><strong>g / Go</strong></p> </td> <td width="347" valign="top"> <p>Target running</p> </td> </tr> <tr> <td width="347" valign="top"> <p><strong>b / Break</strong></p> </td> <td width="347" valign="top"> <p>Running 중인 target break</p> </td> </tr> <tr> <td width="347" valign="top"> <p><strong>S / Single Step</strong></p> </td> <td width="347" valign="top"> <p>Stepping debugging</p> </td> </tr> <tr> <td width="347" valign="top"> <p><strong>r / Read Registers</strong></p> </td> <td width="347" valign="top"> <p>Register 값 read</p> </td> </tr> <tr> <td width="347" valign="top"> <p><strong>s / Show target State</strong></p> </td> <td width="347" valign="top"> <p>현재 target status 표시</p> </td> </tr> </tbody> </table> <p> </p> <p>③ c / system up 실행</p> <p>연결이 제대로 되면 cmd 창에는 target과 연결이 되었습니다. 라는 메시지가 뿌려지고, PowerView에는 system down에서 system ready로 target state가 변경이 되는 것을 확인 할 수 있다.</p> <p> </p> <p><img src="/data/wiki/2015-05-29/1432899300.png" alt="" /><img src="/data/wiki/2015-05-29/1432899303.png" alt="" /></p> <p> </p> <p> </p> <p> </p> <p>④ D / test.cmm 을 실행</p> <p>미리 만들어 둔 test.cmm 을 실행 시킨다. cmm으로 작성 할 수 있는 부분은 미리 셋팅하여 저장해 두고 cmm을 API에서 바로 실행 시킬 수 있다.</p> <p> </p> <p><img src="/data/wiki/2015-05-29/1432899447.png" alt="" /></p> <p><img src="/data/wiki/2015-05-29/1432899539.png" alt="" /></p> <p> </p> <p>⑤ g / Go</p> <p>Target을 running 시킨다. PowerView에서 Go 하는 동작과 동일하다.</p> <p> </p> <p><img src="/data/wiki/2015-05-29/1432899666.png" alt="" /></p> <p><img src="/data/wiki/2015-05-29/1432899673.png" alt="" /></p> <p> </p> <p>⑥ b / Break</p> <p>running 중인 target을 break 시킨다. PowerView에서 Break 하는 동작과 동일하다.</p> <p><img src="/data/wiki/2015-05-29/1432899736.png" alt="" /></p> <p><img src="/data/wiki/2015-05-29/1432899739.png" alt="" /></p> <p> </p> <p> </p> <p> </p> <p>⑦ S / Single Step</p> <p>instruction을 한 구간씩 수행한다. Stepping 디버깅이 가능하다.</p> <p><img src="/data/wiki/2015-05-29/1432899841.png" alt="" /></p> <p><img src="/data/wiki/2015-05-29/1432899845.png" alt="" /><img src="/data/wiki/2015-05-29/1432899848.png" alt="" /></p> <p> </p> <p>⑧ r / Read Registers</p> <p>현재 멈춰져 있는 address에서의 register 값을 read 한다. PowerView상에서 보이는 Register값과 동일하다.</p> <p><img src="/data/wiki/2015-05-29/1432899892.png" alt="" /></p> <p><img src="/data/wiki/2015-05-29/1432899895.png" alt="" /></p> <p> </p> <p> </p> <p>⑨ S / Show target State</p> <p>현재 target의 status를 알려준다. PowerView 하단에 나와 있는 status로 확인 할 수도 있다. 기본적으로 down, halted, stopped, running 의 네 가지 상태를 알려준다.</p> <p><img src="/data/wiki/2015-05-29/1432899931.png" alt="" /></p> <p><img src="/data/wiki/2015-05-29/1432899933.png" alt="" /></p> <p> </p> <p>⑩ q / Quit Program</p> <p>API 프로그램을 종료한다.</p> <p><img src="/data/wiki/2015-05-29/1432899975.png" alt="" /></p> <p> </p> <p> </p> <p> </p> <p> </p> <h2>6. Supported Tool Integrations</h2> <h2>TRACE32 SW 설치할 때, Integration 하는 3<sup>rd</sup> party Tool 설정이 가능하다.</h2> <p>TRACE32 SW(Powerview) 설치시 아래의 부분 선택하여 설치한다.</p> <p><img src="/data/wiki/2015-05-29/1432900003.png" alt="" /></p> <p> </p> <p>위의 설정 외에도 지원된 Tool은 아래의 경로 T32\demo\env 에서 확인 가능하다.</p> <p><img src="/data/wiki/2015-05-29/1432900020.png" alt="" /></p> <p>Ex) LabVIEW – int_labview.pdf 참고</p> <p><img src="/data/wiki/2015-05-29/1432900033.png" alt="" /></p> <p>- Virtual Instruments in LabVIEW for TRACE32</p> <p> - Control Target Execution within LabVIEW</p> <p> - Use Memory Accesses as Input or Output Channels</p> <p> - Use Target Hardware as Data Processing Unit</p> <p> - No Need for External Communication Interface</p>
Remote API
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
행위
검색
TRACE32 Dummy
TRACE32
iTSP User's Guide
aTSP User's Guide
Linux Debugging
Debugging Tips
Trace Analysis
Virtual Target
TRACE32로 바라본 ARM
TRACE32 FAQ
TRACE32 Trouble Shooting
TRACE32 Software Update
Software Revision History
DT10 / DT-Win
다운로드
DT10 Evaluation
DT-Win Evaluation
TestPoint 삽입 Error
Build Error
DT10 FAQ
도구
여기를 가리키는 문서
가리키는 글의 바뀜
특수 문서 목록
문서 정보