TRACE32(T32) 무료교육(mds)

2018. 2. 27. 01:36

18년 1월, 한컴mds본사에서 TRACE32(일명 t32)에 관한 무료교육을 수강하였다.

t32는 jtag의 단자에 연결하여 cpu의 동작과정(명령어)을 읽어오는 디버거로서 high level이나 asm레벨에서 step by step단위로 디버그할수 있는 디버거이다.
sw나 hw(onchip) 디버그방식을 지원하며 , 브레이크포인트(이건 디버거라면 당연하니), 레지스터 정보등을 참조할 수 있는 장점이 있다.

※ jtag참조

  https://ko.wikipedia.org/wiki/JTAG

  http://recipes.egloos.com/5301886

 

신청하게된 계기는 임베디드 교육과정당시, 강사님께서 t32가 이렇게 좋다고 자랑(?)하신적이 있다.
그당시에는 어떻게 다루는지, 어떤 디버거인지 정확하게 이해하지는 못하였지만, t32에 대해 흥미를 가지게 되고 이번기회에 무료교육을 신청하게되는 계기가 되었다.

 

한달을 걸쳐(각 주제로 3번씩 3일..) 교육을 받았는데, 필자가 나중에 t32를 사용시 보다 빠르게 자료를 해석하기 위해 아래에 큼직하게 정리한다.

 

========================


3일간 수강한 주제: TRACE32 입문, TRACE32 중급(최근 과정명이 고급으로 바뀐 것으로 알고있다), TRACE32 Linux/Android Debugging

 

3일간 수강하며 받은 교재

 

주제별 정리
1. 초급
 - 파워디버그와 파워트레이스
 - 롬다운로드와 램다운로드
 - t32셋팅(system)과 명령어 입력
 - 각종 기능창 설명
 - 현재 메모리상태 파일로 뽑아보기
 - 한번에 여러번지 바꾸기
 - 변수로깅, 스탭바이스탭
 - breakpoint와 bp타입
    program방식(sw/hw), r/w방식(hw) -> hw는 onchip방식이다
 - t32 스크립트(cmm)작성하기
 - 아이콘 생성 및 설정저장하기

 

2. 중급
 - t32 스크립트(cmm) 상세 작성법(함수, 변수선언, t32명령어 적용 등)
 - 스크립트 하이라이트 설정
 - 함수 실행 및 설정
 - breakpoint 심화 사용법(카운트, 조건, 명령실행 등)
 - 샘플링방식: DAP+E클래스, 파워트레이스와 파워디버그에 따른 차이
 - t32에서 제공하는 각종 브라우제 확인 및 간단한 사용법(hw관련 설정을 확인 및 수정하는 gui)
 - 다양한 디버깅방식(onchip, snooper, cts, art등)


3. 안드/리눅스
 - 주로 환경설정에 관해 강의하고, 간단히 커널과 데몬, 공유라이브러리, 커널모듈(init)관해 실습함.
 
 - t32는 시스템 하윗단이기 때문에 안드로이드나 리눅스나 동일한 환경으로 볼 수 있다
    t32기준으로서의 차이점은 컴파일후 심볼생성위치에 따른 차이가 있다.
     - (리눅스는 os의 각파트별로 심볼이 나뉘어있고, 안드는 하나의 디렉에 모여있어 편하다)

 - jatg: 국제표준, cpu의 제어내용 디버깅, 주소기반(심볼[elf]사용)
    디버깅을 위해 elf를 사용한다(elf의 bin은 target에, symbol은 t32에). 하지만 bin을 사용할 시 주소번지를 지정할 필요가 있다.

 

  ※ dd, 라이브러리, 프로세스들은 시작주소가 매번 바뀌니 ++0x100간은 offset값으로 정해져있다.
    이넘들을 디버깅하려면 시작주소를 알려주어야 된다(download boot.elf/nocode 0x100같이). 보통 스크립트를 통해 자동화 한다.

 - t32 모드 셋팅에 대한 상세한 설명+ 듀얼코어(amp, smp)에 관한 설명
    amp(어시메트리 멀티코어 프로세서)
     - 파워, 통신, 동영상 이런식으로 기능별로 코어를 나누어 동작하는 방식(ex: 스마트폰)
    smp(시메트리 멀티코어 프로세서)
     - dual 코어같이 코어가 여러개 있어 이미지를 분산하여 동작하는 방식(자동차와 같은 특정 분야에선 코어별로 특정 task를 할당시켜 동작하는 방식을 사용한다)

 - 멀티코어 사용에 따른 과거에 발생한 경우에 대한 일화

 - java에 관련된 데몬에 브레이크포인트를 걸어 그 순간의 상황을 살펴보기(android NDK Hello 디버깅)

 - 강의를 하지는 않았지만 책에는 프레임버퍼, 커널로그, Dalvik List등이 나와있다. 책을 참조하자

 

========================


마지막으로, mds로 교육을 갈때마다 느끼는 점은 밥이 만족스럽다는 점이다.(퀄리티가 상당히 좋다)

 

'Education' 카테고리의 다른 글

neos 무료 교육(한컴 mds)  (0) 2018.02.26

+ Recent posts