임베디드 솔루션

Products

타이밍 측정과 분석을 위한 첨단 시스템 - T1

T1은 자동차 산업에서 가장 많이 사용하는 타이밍 도구로 수백 개의 생산 프로젝트에서 수년간 사용하고 있습니다.
T1 제품 중 T1-TARGET-SW는 ISO 26262 ASIL-D 인증을 통해 안전에 기반한 소스 코드 삽입을 시도하였고 전 세계 최초로 양산 차에 적용하여 타이밍을 측정 및 분석하고 있습니다.

사용 사례

  • 타이밍 측정(예: 최대, 최소, 평균 소프트웨어 실행 시간)
  • Target-side 타이밍 검증 및 모니터링
  • 자동화된 타이밍 테스트
  • ISO 26262에서 재기하는 요구 사항 지원
  • AUTOSAR Timing Extensions(TIMEX) 내용 구현
  • 타이밍 디버깅 : 재현이 어렵고 복잡한 타이밍 문제를 빠르게 감지하고 해결
  • SW 구현 전에 추가할 기능의 타이밍 효과를 확인하기 위한 여유 공간 테스트
  • 멀티코어 프로젝트에서 데이터 Latency 및 Synchronization 효과 검증
  • 멀티코어 시스템에서 특정 코어를 중단하지 않고 타이밍 및 기능적인 문제를 추적 (특정 코어 중단 시 기대효과가 다를 수 있음)

T1.timing 확장

T1.timing의 두 가지 확장 옵션이 있습니다.
  • T1.streaming은 Tracing 데이터를 수 초, 수 분, 며칠에 걸쳐 원하는 만큼의 데이터를 지속적으로 스트리밍할 수 있는 가능성을 제공합니다.
  • T1.posix는 Linux 또는 QNX와 같은 POSIX 운영 체제를 지원합니다.

T1 플러그인

T1.timing은 모듈 형태의 기능들로 이루어져 있으며 다음에서 설명하는 여러 플러그인들이 각 모듈입니다.

  • T1.scope
  • T1.flex
  • T1.cont
  • more
T1.scope

우리는 소프트웨어의 개발, 통합 또는 검증 단계를 실제 시스템의 시각화 없이 진행합니다. 제어기에서 실제로 일어나는 일에 대해 알지 못한 채 개발하는 것과 같습니다.
T1.scope는 실제 시스템에 대한 통찰력을 갖게 하고 개발자, 통합자 및 테스터가 임베디드 소프트웨어의 타이밍을 확인할 수 있게 합니다.

T1.scope의 주요 이점
  • 소프트웨어에서 실제로 일어나는 일을 직관적으로 시각화하여 타이밍 문제의 원인을 추적
  • 소프트웨어 기반 측정 방식 : 하드웨어 수정 또는 특수 하드웨어 필요 없음
  • 일반적으로 ECU 성능 측정 시 모든 Task 및 모든 Interrupt를 추적하기 위해 0.2% ~ 0.4% CPU Load의 소량의 오버헤드 차지
  • 상세한 프로파일링 : 최소/최대/평균/분포 정보로 CPU Load 및 모든 종류의 타이밍 parameter 정보 취득
  • 제약 조건(Constraints) : 제약 조건 설정을 통한 위반 사항 검출 및 타이밍 요구 사항 검증
  • T1은 모든 대상 인터페이스 대역폭에 대한 최상의 통찰력을 제공합니다.
    • 저대역폭 환경(예: CAN) : 수백 밀리초의 스냅샷
    • 고대역폭 환경(예: 이더넷): Add-on 제품 T1.streaming을 통해 초, 분, 일 등 원하는 만큼의 타이밍을 실시간 시각화 및 분석을 통한 스트리밍

RTOS 기반 프로젝트의 Supported by T1

Supported processors, compilerss

아래 표의 각 행은 특정 프로세서의 코어 및 특정 컴파일러와 관련된 T1 라이브러리 세트를 나타냅니다.

Silicon/ IP Vendor Core Compiler Availability
(Variant ID)
ISO26262
Version Available
Controller Examples
Infineon TC1.6.X Tasking V3.3.x.x (57) V3.4.0.0 TC2xx, TC3xx
Infineon TC1.6.X HighTec GCC V3.3.x.x (15) V3.4.0.0 TC2xx, TC3xx
Infineon TC1.6.X Wind River V3.1.x.x (60) x TC2xx, TC3xx
Infineon TC1.6.X Green Hills V3.1.x.x (73) x TC2xx, TC3xx
NXP/STM e200z0-z4, z6, z7 Green Hills V3.3.x.x (54) / On Request (65/72) x MPC57xx, MPC56xx, MPC55xx, SPC58, SPC57, SPC56, etc.
NXP/STM e200z2, z4, z7 HighTec GCC V3.3.x.x (44) V3.4.0.0 MPC57xx, MPC56xx, MPC55xx, SPC58, SPC57, SPC56, etc.
NXP/STM e200z2, z4, z7 Wind River V3.1.x.x (56) V3.4.0.0 MPC57xx, MPC56xx, MPC55xx, SPC58, SPC57, SPC56, etc.
Arm ARMv7-R : Cortex-R4, Cortex-R4F, Cortex-R5F Texas Instruments V2.5.8.0 (39) x TMS570LS02x/03x/04x/05x/07x, TMS570LS11x/12x/21x/31x, TMS570LC43x, etc.
Arm ARMv7-R : Cortex-R4, Cortex-R4F, Cortex-R5F Green Hills V3.1.x.x (78) x TMS570LS02x/03x/04x/05x/07x, TMS570LS11x/12x/21x/31x, TMS570LC43x, etc.
Arm ARMv7-R : Cortex-R4, Cortex-R4F, Cortex-R5F HighTec GCC V3.3.x.x (77) x TMS570LS02x/03x/04x/05x/07x, TMS570LS11x/12x/21x/31x, TMS570LC43x, etc.
Arm ARMv8-R: Cortex-R52 HighTec CLANG Short Notice (87) x ST Stellar, NXP S32S
Arm ARMv8-R: Cortex-R52 Green Hills V3.3.x.x (85) V3.4.0.0 ST Stellar, NXP S32S
Arm ARMv7-M : Cortex-M3, Cortex-M4 *, Cortex-M7 * GCC V3.3.x.x (82) x Infineon Traveo II, LPC17xx, STM32F4xx, Atmel SAM V71, etc.
Arm ARMv7-M : Cortex-M3, Cortex-M4 *, Cortex-M7 * Green Hills V3.3.x.x (83) V3.4.0.0 Infineon Traveo II, LPC17xx, STM32F4xx, Atmel SAM V71, etc.
Arm ARMv7-M : Cortex-M3, Cortex-M4 *, Cortex-M7 * Keil On Request (84) x Infineon Traveo II, LPC17xx, STM32F4xx, Atmel SAM V71, etc.
Renesas RH850 G3K/G3KH/G3M/G3MH/G4M H Green Hills V3.1.x.x (52) V3.4.0.0 RH850/C1x, RH850/F1x, RH850/P1x, RH850/E2x, etc.
Renesas RH850 G3K/G3KH/G3M/G3MH/G4M H Wind River On Request (53) x RH850/C1x, RH850/F1x, RH850/P1x, RH850/E2x, etc.

(*) Cortex-M4는 Cortex-M3에 DSP 및 FPU를 추가합니다. Cortex-M7은 64bit bus와 double precision FPU를 추가합니다. T1은 명령어 집합의 공유 하위 집합을 사용합니다.

Supported RTOSs
Vendor Operating System
Customer Any in-house OS**
Customer No OS - scheduling loop plus interrupts**
Elektrobit EB tresos AutoCore OS
Elektrobit EB tresos Safety OS
ETAS RTA-OS
GLIWA gliwOS
HighTec PXROS-HR
Hyundai AutoEver Mobilgene
KPIT Cummins KPIT**
Mentor VSTAR OS
Micriμm μC/OS-II**
Vector MICROSAR-OS***
FreeRTOS**

(**) T1 OS adaptation 패키지인 T1-ADAPT-OS가 필요합니다.
(***) 'OS Timing Hooks'가 지원되지 않는 경우 T1 OS adaptation 패키지인 T1-ADAPT-OS가 필요합니다.

Supported target interfaces
Target Interface Comment
CAN Low bandwidth requirement: typically one CAN message every 1 to 10ms. The bandwidth consumed by T1 is scalable and strictly deterministic. 
CAN-FD  Low bandwidth requirement: typically one CAN message every 1 to 10ms. The bandwidth consumed by T1 is scalable and strictly deterministic. 
Diagnostic Interface  The diagnostic interface supports ISO14229 (UDS) as well as ISO14230, both via CAN with transportation protocol ISO15765-2 (addressing modes 'normal' and 'extended'). The T1-HOST-SW connects to the Diagnostic Interface using CAN. 
Ethernet (IP/UDP)  UDP is used, IP-address and port can be configured. 
FlexRay  FlexRay is supported via the diagnostic interface and a CAN bridge. 
JTAG/DAP  Interfaces exist to well-known debug environments such as Lauterbach TRACE32 and iSYSTEM winIDEA.
The T1 JTAG interface requires an external debugger to be connected and, for data transfer, the target is halted.
TriCore processors use DAP instead of JTAG.