T32 의 여러가지 사용방법에 대해서 설명하고 있다.
T32 가 다른 디버거들과 가장 크게 다른 점이 있다면, T32 내에서의 자체적인 스크립트 언어(.cmm) 를 이용해서 여러가지 작업들을 할 수 있다는 것이다. 앞에서 스크립트 언어라고 표현한 것은 자체적인 문법을 가지고 있기 때문이다. 또한 반복적인 작업을 자동화 시켜줌으로서, 좀 더 편한 디버깅을 할 수 있다.
.cmm 파일을 이용해서 생각보다 많은 일들을 할 수 있다.

Toolbar 에 버튼 추가하기

T32 에서는 메뉴와 아이콘이 위치한 Toolbar 를 편집할 수 있다. 정말 강력한 기능이 아닐 수 없다.
먼저,

B:: MENU T32.MEN

입력하면, 창이 하나 뜬다. 바로 T32.mem 파일을 수정하기 위한 창이다. 여기서 사용자의 입맛에 맞게 편집을 해주면 된다.
여기서는 간단한 예제로 FAT 이라는 이름의 아이콘을 Toolbar 에 추가시켜 보겠다. 다음과 같이 추가한다.

;======================================================================
;  Speedbar definition
;======================================================================
 
toolbar
(
 separator
 toolitem "Single Step"                ":step"          "Step"
 toolitem "Step Over Call"             ":stepover"      "Step.Over"
 separator
 toolitem "Go Next"                    ":gonext"        "Go.Next"
 toolitem "Go Till Return"             ":goreturn"      "Go.Return"
 toolitem "Go Up"                      ":goup"          "Go.Up"
 separator
 toolitem "Go"                         ":go"            "Go"
 toolitem "Break"                      ":brk"           "Break"
 separator
 toolitem "Toggle Mixed/HLL Mode"      ":mode"          "Mode"
 separator
 toolitem "Help Topics"                ":help"          "help.topics"
 toolitem "Help Context"               ":helpc"         "help.pick"
 separator
 toolitem "Stop Command"               ":stop"          "STOP"
 separator
 toolitem "Fat"	                     ":stop"	 "AREA"      -->> 바로 이 부분을 추가
)

추가해준 뒤에 'Save+Comp' 버튼을 누르면, 저장과 동시에 컴파일이 된다. 컴파일 에러가 없다면, Toolbar 의 맨 오른쪽에 버튼이 하나 생겼을 것이다.
마우스를 아이콘에 갖다대면, 'Fat' 이라는 글자가 뜨고, 누르면, 'AREA' 명령어가 실행되어, 창이 하나 뜬다.

toolitem Comment(풍선말) 표시될 아이콘 눌렀을 때 실행 명령어

디버깅을 좀 더 용이하게 하기 위해서 자주 쓰는 명령어를 버튼으로 만들어보자!
앞의 설명에서와 같이, 'menu t32.men' 을 실행하여, 다음과 같이 추가해주면 된다.

...
...
 toolitem "Help Context"               ":helpc"         "help.pick"
 separator
 toolitem "Stop Command"               ":stop"          "STOP"
 separator
 toolitem "Undo"	                     ":stop"	 "REGISTER.UNDO"      -->> 바로 이 부분을 추가
 toolitem "Redo"	                     ":stop"	 "REGISTER.REDO"      -->> 바로 이 부분을 추가
...
...

'Save+Comp' 버튼을 누르면, 두 개의 아이콘이 보인다.

Menu 추가하기

이번에는 기존의 메뉴에 새로운 메뉴를 추가해보도록 하겠다.

B:: MENU T32.MEN

다음과 같이 추가한다.

  popup "&Help"
  (
    default
    menuitem "[:help]&Contents"               "HELP.Topics"
    menuitem "[:index]&Index"                 "HELP.Index"
    menuitem "[:find]&Find"                   "HELP.Find"
    menuitem "[:tree]T&ree"                   "HELP.Tree"
    separator
    menuitem "&Operating System User Manual"  "HELP __IDE_USER_"
    separator
    if ice()
    (
      menuitem "&ICE Target Manual"          
      (
        local &item
        &item=cpuhelp()
        help __em&(item)_
      )
      menuitem "ICE &User Manual"             "HELP __E_USER_"
    )
    else
    (
    if fire()
    (
      menuitem "&FIRE Target Manual"          
      (
        local &item
        &item=cpuhelp()
        help __em&(item)_
      )
      menuitem "FIRE &User Manual"            "HELP __FIRE_USER_"
    )
    else
    (
      menuitem "ICD &Target Manual"
      (
        local &item
        &item=cpuhelp()
        help __em&(item)_
      )
      menuitem "ICD &User Manual"             "HELP __B_USER_"
    )
    )
    enable analyzer()
    menuitem "&Analyzer User Manual"          "HELP __A_USER_"
    addhere
    separator
    enable ta32()
    menuitem "Timing Analyzer User Manual"   "HELP __TA_USER_"
    enable powerprobe()
    menuitem "Power Probe User Manual"   "HELP __PP_USER_"
    enable stg()
    menuitem "Stimuli Generator User Manual"   "HELP __STG_USER_"
    separator
    menuitem "[:t32]About TRACE32..."          "VERSION"
  )
/* 추가할 부분 */
popup "&inter"                          
(
	menuitem "&disable"
	(
		setup.imaskasm on
		setup.imaskhll on
	)
	menuitem "&enable"
	(
		setup.imaskasm off
		setup.imaskhll off
	)
)
/* 추가할 부분 */
)

저장한 후에, 컴파일을 한다. 에러없이 수행되었다면, 메뉴의 맨 오른쪽에 'inter' 이라는 이름의 메뉴가 생성되었을 것이다.
'CPU → System Settings…' 를 선택하고, 앞에서 만든 메뉴의 항목을 선택해본다. Option 항목중에 'IMASKASM , IMASKHLL' 이 선택되어질 것이다.

  • computer/rtcclab/trace32_사용하기.txt
  • Last modified: 4 years ago
  • by likewind