Tricore CAN 인터페이스 디버깅(DXCPL)

TRACE32
Admin (토론 | 기여) 사용자의 2015년 12월 30일 (수) 15:04 판

(비교) ← 이전 판 | 최신판 (비교) | 다음 판 → (비교)
이동: 둘러보기, 검색

Overview

DXCPL은 JTAG/DAP 인터페이스를 활용하지 못하는 실차 환경에서 TRACE32를 하여 디버깅 할 수 있는 솔루션입니다. 인피니언 AURIX MCU에서 지원하는 DXCPL(Dap Over Can Physical Layer)을 통해 TRACE32의 모든 기능을 활용할 수 있습니다.

본 자료는 JTAG/DAP port를 연결 하기 어려운 실차환경에서 DXCPL(DAP over CAN Physical Layer)을 사용하기 위한 환경 구성 방법에 대해 소개 합니다.

DXCPL 소개

사용환경

DXCPL 사용위해 필요한 환경은 다음과 같습니다.

CPU

Infineon사의 AUTO MAX, AURIX families

TRACE32 PowerView version

Tricore 2015.03 이상 버전

TRACE32 ICD(In Circuit Debugger)

= PDMU(Power Debug Modue)

PowerDebug USB2

PowerDebug USB3

PowerDebug II

TRACE32 License Module

Tricore JTAG cable

Extended Adapter

DXCPL Box

l  PowerView : PC에서 동작하는 Trace32 Software GUI 개발환경의 이름입니다.

l  PowerDebug Module : PC와 통신 및 디버그 인터페이스 신호을 만들어 내는 본체를 통틀어 지칭하는 이름입니다.

l  License Module : JTAG License Cable이라고도 하며 License 정보를 가지고 있으며 Target과 연결하기 위해 Cable을 포함하고 있는 삼각형 형태의 모듈

l  DXCPL Box : TRACE32 Podbus Out port에 연결하여 CAN Interface를 이용한 디버깅이 가능하도록 합니다.

                          < DXCPL BOX >

DXCPL 작동원리

                           < DXCPL Block Diagram from CAN Pins to DAP Module >

DXCPL은 CAN 버스를 이용하여 동작합니다. 디버깅을 위해 사용하던 DAP(DAP0, DAP1) signal 대신 CAN(TX, RX) Signal을 이용할 수 있도록 전환시켜줍니다. 이는 CPU의 TRST pin의 상태에 따라 컨트롤 가능합니다. TRST pin의 상태에 대해서는 1.3절의 <표 1>를 참고하시기 바랍니다.

DXCPL을 사용하게 되면 DAP Interface를 이용한 디버깅은 불가능 하며, 해당 CAN bus는 DXCPL mode로만 동작 하여 동시에 다른 용도로는 이용할 수 없습니다.

DXCPL을 사용하기 위한 별도의 target SW instumentation은 필요 없습니다.

 

DXCPL 사용위한 HW 설정

DXCPL 인터페이스는 CPU의 TRST pin에 의해 컨트롤 됩니다. 만약 pull-up 저항이 연결되어 있을 경우 DAP Interface를 이용한 디버깅이 가능하고, pull-down 저항이 연결되어 있을 경우 DXCPL을 이용한 디버깅이 가능합니다.

TRST pin state

Floating

Pull-Up

Pull-Down

DAP Interface

X

O

X

DXCPL Interface

X

X

O

JTAG Interface

O

O

O

                               < 표 1. TRST pin 상태에 따른 DXCPL 사용 유무 >

 

DXCPL 연결

DXCPL Interface 사용 준비가 완료되었으면 CAN pin에 DXCPL Box를 연결하여 사용 가능합니다. CPU마다 사용 위한 CAN port는 다르기에 아래 표를 참고 바랍니다.

 

CAN 채널

Pin number

AUDO MAX

RXDCAN0

TXDCAN0

TC172x: P3.12, P3.13

TC179x: P6.8, P6.9

AURIX

RXDCAN1B

TXDCAN1

P14.1, P14.0

                    < 표 2. DXCPL 사용위한 CAN port >

                               < TRACE32 DXCPL과 Can port 연결 >

DXCPL과 타겟 연결은 타겟의 Can Tranceiver 이후 bus에 연결되며, 타겟 환경에 따라 Termination 처리가 필요한 경우 탈 부착 가능한 SUB-D9 컨넥터(with CAN Termination)를 제공합니다.

< SUB-D9 Connector with CAN Termination >


How to setup & use

여기서는 Trace32를 이용하여 DXCPL 사용위한 환경 셋업에 대해 알아 봅니다.

 

DXCPL 환경설정 on TRACE32

1)     TRACE32 PowerView SW를 2015년 3월 이후 버전으로 패치 합니다.

2)     기존 사용중인 Flash Programming 용 cmm 파일(ex, C:\T32\demo\tricore\flash\tc27x.cmm)의 CPU 환경설정 부분에 아래와 같은 내용으로 대체 합니다.

RESet

  SYStem.CPU TC275TF

  SYStem.CONFIG.DEBUGPORTTYPE DXCPL

  SYStem.CONFIG.DAP DXCPLTiming 750.ns

  SYStem.Mode Attach

  Break

  Break.Set 0xA0000020 /Program /Onchip // set breakpoint at reset vector

  Go

  SYStem.Mode Down

 

  DIALOG.OK "Please switch OFF the target"

 

  SYStem.Mode StandBy

 

  DIALOG.OK "Please switch ON the target"

 

  if state.run()

  (

    print %error "Application not stoped at reset vector"

    break

  )

DXCPL을 이용한 디버깅

1)     위의 cmm파일의 수정한 내용을 이용하면 CAN bus를 이용하여 디버그 모드에 정상적으로 진입이 됩니다.

2)     디버그 모드에 진입이 되면 Flash Programming을 포함한 기존에 사용하시던 TRACE32의 모든 기능을 동일하게 사용 가능합니다.


Deactivation DXCPL

Hardware를 이용한 locking

Hardware적으로 DXCPL을 disable 하려면 TRST pin을 pull-up처리 하면 됩니다.

Software를 이용한 locking

Program Memory Unit중 Flash OTP-section의 PROCONWOPp.DATM field를 1로 write하면 영구적으로 DXCPL을 disable 처리 할 수 있습니다.

 

타겟 SW에서 동적으로 SYSCON.DATM레지스터를 1로 write하여 임시적으로 DXCPL을 disable 처리 할 수 있습니다. 리셋 이후에는 초기값으로 설정 됩니다.