레이블이 IDE-Eclipse인 게시물을 표시합니다. 모든 게시물 표시
레이블이 IDE-Eclipse인 게시물을 표시합니다. 모든 게시물 표시

10/05/2019

Trace Compass (자료수집 )

1. Trace Compass

Ecplise 기반의 IDE Tool로 LTTng를 이용하여 Linux Kerenl을 Trace가 가능하며, GDB도 같이 사용하여 Application도 Debug도 가능하다고 한다.
더불어 libpcap을 이용하여 Network Trace 기능까지 가지고 있으며, 성능측정에 사용되는 Perf기능까지 가지고 있어 좋다고 하는데,
그 동안 사용할 기회를 여러번 있었는데,사용을 해보지 않았다.
간략하게 관련자료들을 수집을 한다. 

1.1 Trace Compass Download 및 기능소개 

  • Trace Compass Download 및 설치
  https://www.eclipse.org/tracecompass/

  • Trace Compass 기능 및 지원 
    • Common Trace Format 
      • Linux LTTng Kernel Traces
      • Linux LTTng-UST Userspace Traces
      • Bare metal traces
      • LTTng-Analyses
    • GDB Traces
    • Ftrace 
    • 기타 
다양한 기능을 지원을 해주고 있으며, Linux Kernel 부터 Application을 통합적으로 분석가능하다. 
지속적으로 추가되어 확장되어지는 구조로 가는 것으로 보인다. 
  https://projects.eclipse.org/proposals/trace-compass
  https://wiki.eclipse.org/Trace_Compass

Linux 기반에서 Trace Compass 설치준비사항 
  https://elhombrequereventodeinformacion.wordpress.com/2020/02/06/install-lttng-trace-compass-debian-10/

Trace Compass 의 사용법 
  https://rtist.hcldoc.com/help/index.jsp?topic=%2Forg.eclipse.tracecompass.doc.user%2Fdoc%2FTrace-Compass-Main-Features.html

  • NXP사 제공해주는 Trace Compass Manual

7/24/2015

CCS v6 기능확장 for Linux

1. CCS Debug 

 아래의 사이트 Modules Library 에서 원하는 CPU에서 각각의 모듈의 지원을 확인하자.

  • TI Main Wiki 관련문서 검색
관련 모드자료를 쉽게 검색이 가능하며, Training 에 가면 본인의 MPU에 맞게 훈련이 가능.
TI에서 제공하는 MCU들의 정보들을 그룹별로 간단하게 파악이 가능하다

  http://processors.wiki.ti.com/index.php/Main_Page

  • TI Traning 관련자료 
상위 Main-> Training 이며, 본인이 사용하는 MCU에 관한 Training 자료가 있으니,
반드시 참고하고 숙지해야 할 것 이다.

  http://processors.wiki.ti.com/index.php/Hands-On_Training_for_TI_Embedded_Processors
  https://training.ti.com/search-catalog/categories/products

  • TI CCS V6 Training 정보 및 CCSV6 칩 별로 기능지원확인 
  http://processors.wiki.ti.com/index.php/Category:CCSv6_Training#Videos


1.1 CCS or Eclipse LINUX Debug 구성

CCS는 기본적으로 Eclipse으로 기반으로 구성되어있기 때문에, 동일한 부분이 상당히 많으며, Eclipse를 나누어서 공통으로 생각해야 할 부분이 많다.
  • Linux 기본 Debugging 구성
  1. App은 Gdb와 Gdbserver
  2. Kernel JTAG을 이용한 Debug이지만, CCS에서 vmlinux로 실행 

  상세한내용은 아래의 TI에서 제공해주는 PPT 자료를 한번보자

  http://processors.wiki.ti.com/index.php/CCS_Modules_Library#Linux_Debug
  http://processors.wiki.ti.com/index.php/Linux_Debug_in_CCSv5

  •   View->Other->Profiling  (eclipse에서 기본제공)
  1. gcov
  2. gprof   

1.2 Linux Tools Install (CCS or Ecplise에 설치)

Eclipse or CCS 동일하며, Linux Tools 라는 Profile Program을 제공을 해준다.
Valgrind, OProfile, RPM, SystemTap, GCov, GProf, LTTng의 기능을 제공을 해준다고 하는데, 이미 GCov와 GProf 기능은 존재한다.

Valgrind Heap Memory Profile 해주는 Tool , OProfile, SystemTap, LTTng 기능을 사용하고 싶지만, 아직 사용을 못해봤다.
하지만 설치는 가능하다.

  관련설명
  http://www.eclipse.org/linuxtools/


  • Help->Install New Software 


   1. Available Software Sites에서 현재 추가된 Site 확인가능


    2. Linux Tools update Site 추가
    1. Add 로 사이트 추가 
    2. Name : Linux Tools 
    3. Location: http://download.eclipse.org/linuxtools/update/


 
  • Linux Tool Package 설치방법
  https://wiki.eclipse.org/Linux_Tools_Project/PluginInstallHelp


  • Linux Tool Download (강제설치 방법)
  Linux Tool 관련 zip 파일 Download 한 후 상위에서 동일하게 Add로 추가
  Archive Menu를 이용하여 직접 추가 한 후 강제로 설치
  http://www.eclipse.org/linuxtools/downloads.php


  • Help->Install Details 
      Update or 설치된 Package를 제거 가능하다. 





  • Help->Eclipse Marketplace
    Eclipse에서 많이 사용되어지는 Package를 설치가능하고 최신 Package도 적용해보자.
  1. PyDev   (Python IDE)
  2. Vrapper (Vim)



CCS를 Eclipse 처럼 동일하게 많이 이용하여 좋지만 CCS에는 TI에서 제공해주는 많은 Package도 설치하여 동작하기 때문에
가능하면 CCS의 본연의 기능으로 이용하는 것이 좋을 것 같다.
예를들면, TI의 Compiler version Package 문제로 빌드오류 발생 문제든지, 다른 Package로 문제성이 있겠다.


1.3 Kernel Debug on Window CCS
  • KERNEL DEBUG 환경설정  (요약)
Kernel Debug을 위해서는 JTAG을 사용하는데, zImage를 사용하지 않고, debugging을 포함한 vmlinux elf 포맷의 이미지를 사용한다, 그리고,
이를 CCS에서 Run->load -> Load Sysmbols로 ARM CPU에 올려준다.

이를 View->Modules 에서 올라간 vmlinux를 간단히 확인가능하지만, TI Reference 처럼 실행을 할 수가 없다.


참고로, KERNEL Source에서 menuconfig 할때에는 아래와 같이 ARCH를 넣어줘야함.
만약, 매번 넣기 귀찮다면, export 이용하거나 source를 이용함.

$ make ARCH=arm menuconfig
      Kernel hacking-> 필요한 debug 선택  

다시 Kernel을 build 후 vmlinux 사용하기위해 u-boot 설정을 변경한다.
문제는 fdtfile을 사용하기에, kernel 의 arch/arm/mach-omap2에서 board-generic.c를 사용한다.
(DT_MACHINE_START(AM43_DT, 이곳에 breakpoint를 걸지라도 fdtfile 필요하다. )


1.4 Kernel Debug on Linux CCS

기본적으로 유사하지만, 이클립스에서 source를 Project를 만들어 hw breakpoint를 만들수 있다. 하지만 이클립스에서 Project를 만들 경우, kernel 및 uboot 소스가 변형이 된다.
그러므로, 이부분은 주의해야한다.

특히 커널은 메뉴가 x86로 자동으로 설정이 되어서, 에러가 발생이 된다.

  • TI LINUX DEBUG 
최근에 새로 찾은 사이트이며, 아래 사이트가 정리가 잘되어있기에, 너무 좋음
TI 기본적으로, LINUX에서 CCS를 설치하는 것을 권장하는 것 같음

관련설정
  http://processors.wiki.ti.com/index.php/Sitara_Linux_Training:_uboot_linux_debug_with_ccsv5


  • Linux Board Porting 관련 동영상 
  TI에서 제공해주는 Linux Porting Guide , 개발환경설치 Guide