GTL setup for Emulator debug
목차
GTL Configuration
Emulator Debug 환경에서는 기본적으로 개발환경에 따라 다음 3가지 환경을 구성할 수 있습니다.
1) SMP 또는 Single core debugging 환경 : 아래 Configuration 1 참조
- 가장 간단하며 Emulation Host와 TRACE32 PowerView가 같은 Host상에 위치합니다.
2) AMP debugging 환경 : 아래 Configuration 2 참조
- Emulation Host와 TRACE32 PowerView가 같은 Host상에 있으나 AMP 지원을 위해 여러개의 PowerView를 실행합니다.
3) AMP debug 환경 및 Network Access debugging : 아래 Configuration 3 참조
- Emulation Host와 TRACE32 PowerView가 각각 별도의 Host에서 동작하므로 Network을 통해 연결됩니다. 따라서
TRACE32 PowerView를 개발자 PC에서 실행하여 연결할 수 있으므로 매우 간편하게 사용할 수 있습니다.
-
Configuration 1
-
Configuration 2
-
Configuration 3
GTL debug environment 설정
상기 3가지 동작 Mode는 TRACE32 실행 시 기본적으로 참조하는 config.t32 파일의 PBI 설정에 따라 결정되며
각 동작 Mode의 설정은 다음과 같습니다.
-
Setup for Configuration 1
PBI=MCILIB ; configure system to use hostmci.so
-
Setup for Configuration 2
PBI=MCISERVER ; set up the usage of hostmci.so and open
PORT=30000 ; server at 30000 for the first instance.
INSTANCE=AUTO ; consecutive number of instance for AMP setup
-
Setup for Configuration 3
>> ./t32mciserver port=30000 ; start t32mciserver at port 30000
PBI=MCISERVER ; set up connection to t32mciserver
NODE=192.168.0.1 ; connect to IP 192.168.0.1
PORT=30000 ; at port 30000
INSTANCE=AUTO ; consecutive number of Trace32 instance for AMP setup
TRACE32 PowerView 실행 후 Emulator 연결
TRACE32 사용 시 Physical JTAG 디버그 환경과 다른 점은 오직 Emulator 연결을 위한 설정만 다릅니다. 즉 기존에 사용하던
.cmm Script들을 그대로 사용할 수 있으며 GTL관련 내용만 추가하면 되겠습니다.
-
Physical JTAG 디버그 환경에 GTL을 사용하기 위해 추가할 설정
아래 기술된 내용 중 밤색 구문들은 GTL환경에서 emulator와 연결하기 위한 설정입니다.
SYStem.CONFIG.DEBUGPORT GTL0
;SYStem.GTL.DISCONNECT ; disconnect if still connected
;SYStem.GTL.MODELCONFIG "TIMEOUT=10|PORT=20000|NODE=127.0.0.1|PACKLEN=1024“ ; optional
;SYStem.GTL.MODELNAME "jtag_gtl_bfm“ ; optional
SYStem.GTL.LIBname "lib_gtl1.so“
SYStem.GTL.JTAGPROBENAME “JTAGProbe0” ; for JTAG transactor
; SYStem.CONFIG.* ; ARM specific command
;SYStem.CONFIG.DAPNAME “SWD_DAP0“ ; for DAP transactor
;SYStem.CONFIG.DEBUGBUSNAME "APB_DAP0“ ; for APB transactor to debug, DAP: class
;SYStem.CONFIG.MEMORYBUSNAME "AHB_DAP0“ ; for AHB transactor for real time access(E:)
;SYStem.CONFIG.APBNAME “APB_DAP0” ; define APB transactor for APB: class
;SYStem.CONFIG.AXINAME “AXI_DAP0” ; define AXI transactor for Z(N)AXI: class
;SYStem.CONFIG.AHBNAME “AHB_DAP0” ; define AHB transactor for Z(N)AHB: class
; optional for below
;SYStem.GTL.DMANAME “DMA_transactor” ; define DMA transactor for Data.LOAD * /GTLDMALOAD
;SYStem.GTL.TransactorConfig “user defined string for transactor configuration” “User String”
SYStem.VT.TimeinTargetTime ON ; Select the time ref. between Host and Target(Emulator) for Timeout
SYStem.VT.PauseinTargetTime ON ; Select the time ref. between Host and Target for Wait()
;SYStem.VT.HardwareTimeout ON ; ON(Enable), En/disable Transactor operation timeout
;SYStem.VT.TimeScale 1.0 ; Time scale for Timeout and Wait(), wait time=TS*PS*timevalue
;SYStem.VT.PauseScale 1.0 ; Time scale for Wait(), wait time=TS*PS*timevalue
;SYStem.VT.HardwareTimeoutScale 1.0 ; prolong/shirink Transactor opearation timeout
;SYStem.VT.MaxTimeout 10us ; absolute maximum time for Timeout
;SYStem.VT.MaxPause 10us ; absolute maximum time for Wait() time
SYStem.GTL.CONNECT ; connecting GTL-plug-in
SYStem.CPU CortexA7MPcore
SYStem.CONFIG COREBASE 0x80090000
SYStem.CONFIG.DEBUGACCESSPORT 1.
SYStem.JtagClock 300KHz
SYStem.Option.ResBreak OFF
SYStem.Option.EnReset ON
SYStem.Option.WaitReset 100.ms
SETUP.UpdateRATE 3s
MAP.UpdateOnce ; TRACE32 updates the data of the opened window only one time
MAP.NoUpdateOnce 0x10008000++0xFFF ; define normal update area
SYStem.DETECT.DaisyChain ; connecting GTL-plug-in, if GTL is not connected
ENDDO