사이트맵 보기

제품 동영상

TRACE32, Code Coverage

작성일

작성자 기술지원

조회수 2561

첨부파일
과거의 디버깅 특징이 stop mode 디버깅에 집중이 되었다면, 현재의 디버깅은 performance 측정이 강화된 trace에 초점이 맞춰져 있습니다. trace의 기본 개념과 code coverage에 관련한 기능에 대해 설명이 되어 있는 영상입니다.

1. Basics of Trace-based Analysis
Trace를 통해 분석을 하고자 할 경우 필요한 TRACE32 의 제품 군은 아래와 같습니다.
TRACE32를 통한 Trace기능의 특징은 Non-instrusive program/data trace로 Trace를 위해서 따로 코드 수정 필요 없고 Target system의 메모리 사용 또한 없습니다. SW 코드의 object base 로 분석이 가능합니다. JTAG 20pin 의 기본 Pinmap이 아닌 Trace를 위한 Interface 가 필요합니다. Parallel/Serial Trace 두 가지 형태에 따라 Trace port 선택하여 사용할 수 있습니다.
Trace Interface를 통해 나온 Data들은 Recording & Processing 과정을 거쳐 Code와 Data 흐름의 분석을 할 수 있고, 또한 이 Trace data 들은 Code Coverage Analysis을 할 수 있습니다.

2. Features of the ARM Trace Interface
Trace의 기본적인 흐름은 아래와 같습니다.
ARM core -> ARM ETM/PTM Module -> Trace Port -> Parallel Trace/HSSTP(Serial Trace)
ARM core의 경우 두 가지 형태(Parallel Trace/HSSTP)의 Trace Port를 제공합니다.
Core의 버전에 따라 ETM과 PTM의 Trace Logic을 나눌 수 있습니다. (Cortex-A9/15는 PTM을 사용)

3. Trace Evaluation with TRACE32
Trace data는 아래 세 가지 형태의 저장 기능을 제공합니다. user의 디버깅 환경에 따라 선택하여 사용할 수 있습니다.
* Classic Tracing : Trace buffer에 저장하는 형태로 TRACE32에 저장하기 때문에 Trace Data의 Load 속도가 빠릅니다. 그만큼 Data 분석을 빠르게 할 수 있습니다. PowerTrace Ethernet, PowerTrace-II, CombiProbe, uTRACE는 Data 저장이 가능합니다.
* Streaming : PC Hard Disk 저장하는 방법으로 trace32 장비에서 제공하는 메모리 사용이 아닌 PC hard disk 의 용량만큼 data 저장이 가능합니다. PC에서 PowerView에 Data를 Load 하는 속도는 Classic 방법보다는 느릴 수 있습니다. PowerTrace-II, CombiProbe, uTRACE 로 data 저장이 가능합니다.
* Real-time Streaming : 실시간으로 진행되는 Target의 동작 내용을 바로 확인하고자 할 경우 Real-time streaming 방식을 이용할 수 있습니다. 저장한 후에 분석하는 것이 아니라 실시간 동작 내용을 그대로 분석하기 때문에 좀 더 직관적인 분석을 할 수 있습니다. PowerTrace-II, CombiProbe, uTRACE 로 data 저장이 가능합니다. ARM core는 ETMv3이상 또는 PTM을 사용하는 경우 가능합니다.

4. Code Coverage Approach
Code Coverage의 목적은 code의 Testing과 메모리와 코드의 효율적인 사용으로 질적향상 기능 그리고 Safety Standards를 따른 코딩 룰 등의 체크에 있습니다. Code Coverage를 체크하는 방법은 여러가지가 있지만 trace32는 아래 세가지 coverage 분석을 제공합니다.
* Statement coverage / Branch coverage/ Decision coverage: Trace32를 통한 Code coverage 분석을 위해서는 Symbolic debug 정보와 전체 소스코드가 필요합니다. Coverage는 Function, Module, Line, Static variable 로 각각 Display 가능합니다. Coverage 결과는 xml파일로 추출하여 Text 등의 추가 기능도 제공하고 있습니다.

1>


2>


3>
고객문의 기술지원/
데모/
SW요청
031-627-
3116