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

11/08/2024

Radar 개발 IDE 와 Tools 정리

1. 기존 IDE-Tools 비교와 정리 


각 Chip 제조사에서 제공해주는 IDE Tool이 VS code 혹은 Ecplise 기반으로 제공을 해주고 있다.
VS Code는 간단하고 편하지만, Node.js 기반이라 느리기 때문에 복잡한 디버깅은 좀 그렇다.
Ecplise 기반으로 된 Tool 기반으로 다 제공을 해주며, 그 후에, VS Code도 확장제공해주는 것 같다.

  • IDE-Eclipse 사용방법 
각 Chip 제조사들이 주로 Eclipse 기반으로 IDE를 구축을 하며, 이 기반의 PlugIn로 확장하여 사용한다. 

  • VS Code 사용방법 
편하기는 한데, Debugging 과 Profilling 하기에는 너무 느리고, 자주 먹통 
장점은 최근에는 Github에서 Web Browser에서도 실행이 될 정도로 호환성일 것 같음. 

  • Debugging 과 Profile 관련내용 


반드시 알아야 할 것은 Eclipse이며 이와 같이 연동하는 각 Debugging 과 Profiling 기술인것 같다. 


1.1 TI 의 Radar IDE 와 Tools 

TI는 기본적으로 DSP를 사용해야 하기 때문에 CCS는 거의 기본으로 사용해야 하며, 아래의 mmwave Studio가 별도로 추가되어 사용되어 지는 것 같다. 

  • TI 전체 Radar S/W 개발환경
TI의 전체 S/W 구조 와 각 Tool 사용을 쉽게 파악가능하며, mmwaveSDK 기반에 다시 상위 Example로 다양한 S/W 제공 
  1. CCS (Code Composer Studio)
  2. mmWave Studio

  

  • TI 의 CCS(Code Composer Studio) 
TI의 DSP 과 ARM과 같이 Ecplise기반으로 Debugging을 위해서는 알아야 하는 Tool이며, 예전에 정리한 것과 기능이 많이 변경은 되었을 거 같다.
세부 사용법은 CCSv6,7의 사용법 유사하리라 생각되며 아래 Manual을 보도록 하자. 

Development Tools -> Integrated Development Environments -> Code Composer Studio

Code Composer Studio Academy 

Code Composer Studio User's Guide
가능하다면, 아래의 User Guide로 반드시 확인  

CCS 의 Download 

CCSv6/7 기반으로 정리 
TI CCS 기본사용법으로, ARM/DSP(OS, Linux, TI BIOS)  Debugging으로 이전에 정리 


  • TI 의 mmWave Studio
TI에서 SDK 와 각 GUI Tool을 Ecplise 기반으로 제공(현재 추측?)을 해주고 있으며, 거의 CCS와 비슷하리라 본다.(아직 사용 못해봄)
CCS 처럼 TI BIOS 와 GEL 이라든지, 이게 다 되는지는 정확히 잘 모르겠다. 
Download 해서 설치해보려고 했더니, 등록을 까지 해야 하는 것 같아 Download 안함
TI에서 무료라고 하니, 나중에 mmWave EVM 있다면 그때 설치하도록 하겠음 
Manual을 보면 Radar에서 쉽게 디버깅이 가능하도록 많은 Visual 기능이 존재함 

mmWave EVM이 있다면, 본인 Radar Chip 맞게 설치


  • Evaluation & development tools
아래 사이트를 방문할때 마다 Update 되어서 각 Tools들 확인(이름도 변경될 수 있음)
아직 미완성된 부분있어 추후 방문하면, 괜찮을 듯 함     

A. TI mmWave Sensing estimator

Radar Chirp Design과 Power 측정가능 Tool로 나중에 반드시 필요할 듯 
아래 Tab 에 따라 Basic/Advance/Power Estimator 제공 
https://dev.ti.com/gallery/view/mmwave/mmWaveSensingEstimator/ver/2.4.0/

B. Out of the box demo visualizer

 Web 기반으로 각 개별 Plot을 보여주는 visualizer 로 보이며, 아래의 쉽게 파악 
Web에서 바로 실행가능 및 설정가능 



  • Advanced algorithm development
Matlab 부분참조 와 Radar Data 수집방법 (상위 mmWave Studio) 
Matlab 부분참조




  • TI mmWave 다양한 Radar Project  
TI 모든 Radar Project는 다 볼수는 없지만, 아래에서 대충 각 Example들을 살펴보도록 하자  



1.2 Infenion 의 Radar IDE 

TinyML Meetup에서 우연히 알게되었으며, Tool 사용법은 TinyML or Infenion 아래 Youtube를 통하거나, Infenion 사이트에서도 익혀도 될 듯 하다. 
아래의 TinyML 보면, Infenion의 Radar도 Chirp 디자인도 다 되는 것으로 보인다. 

  • Infenion 의 Radar Tool 과 SDK 
Infineon XENSIV 60GHz  (ESP32도 동일한 Core(XENSIV) 저가 DSP로 많이 이용되는 듯함?)
  1. Radar Development Kit (아직 사용 못해봄)
  2. Radar Fusion GUI  (아직 사용 못해봤으나, 봐도 Ecplise 기반)

  • 상위 Tools 사용법 
tinyML Hackathon Challenge 2023 - Infineon XENSIV 60GHz Radar Sensor and devkit explanation

  • Infenion 제공기반의 OpenSource(Radar RDK)
상위 sdk기반에 구현한 것 같은데, 추후 시간되면보도록 하겠음 

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