291 lines
6.7 KiB
Plaintext
291 lines
6.7 KiB
Plaintext
; --------------------------------------------------------------------------------
|
|
; @Title: uC3-compact specific menu
|
|
; @Description: -
|
|
; @Author: DIE
|
|
; @Copyright: (c) 1989-2014 Lauterbach GmbH, licensed for use with TRACE32(R) only
|
|
; --------------------------------------------------------------------------------
|
|
; $Id: uc3cmp.men 6109 2021-02-01 13:08:39Z rdienstbeck $
|
|
|
|
|
|
add
|
|
menu
|
|
(
|
|
popup "&uC3Cmp"
|
|
(
|
|
default
|
|
menuitem "Display &Tasks" "TASK.TaSK"
|
|
menuitem "Display &Semaphores" "TASK.SEMaphore"
|
|
menuitem "Display &Event Flags" "TASK.FLaG"
|
|
menuitem "Display Data &Queues" "TASK.DaTaQueue"
|
|
menuitem "Display &Mailboxes" "TASK.MailBoX"
|
|
menuitem "Display &Fixed MemPools" "TASK.MemPoolF"
|
|
menuitem "Display &Cyclic Handlers" "TASK.CYClic"
|
|
//menuitem "Display &ISRs" "TASK.ISR"
|
|
//menuitem "Display &Shared Stacks" "TASK.STK"
|
|
separator
|
|
popup "&Stack Coverage"
|
|
(
|
|
menuitem "&List Stacks" "TASK.STacK"
|
|
menuitem "Add Task" "TASK.STacK.ADD"
|
|
menuitem "Remove Task" "TASK.STacK.ReMove"
|
|
menuitem "Reset Coverage"
|
|
(
|
|
LOCAL &yes
|
|
DIALOG.YESNO "Overwrite unused stack space" "with stack fill pattern?"
|
|
ENTRY &yes
|
|
IF !&yes
|
|
ENDDO
|
|
TASK.STacK.Init
|
|
)
|
|
)
|
|
)
|
|
popup "Trace"
|
|
(
|
|
popup "List"
|
|
(
|
|
separator
|
|
menuitem "&Task Switches" "Trace.List List.TASK"
|
|
menuitem "&Default and Tasks" "Trace.List List.TASK DEFault"
|
|
)
|
|
)
|
|
popup "Perf"
|
|
(
|
|
separator
|
|
popup "&Task Runtime"
|
|
(
|
|
menuitem "&Prepare"
|
|
(
|
|
if t.method.analyzer()
|
|
(
|
|
Analyzer.AutoInit on
|
|
)
|
|
if a.mode.flow()
|
|
(
|
|
Break.Delete /TraceEnable
|
|
Break.Set task.config(magic) /TraceEnable
|
|
)
|
|
)
|
|
menuitem "[:perf]Show &Numerical" "Trace.STATistic.TASK"
|
|
menuitem "[:achart]Show as &Timing" "Trace.CHART.TASK"
|
|
menuitem "[:achart]Tracking with Trace &List"
|
|
(
|
|
Trace.List List.TASK DEFault /Track
|
|
Trace.CHART.TASK /Track
|
|
)
|
|
)
|
|
popup "Task &Function Runtime"
|
|
(
|
|
menuitem "&Prepare"
|
|
(
|
|
if t.method.analyzer()
|
|
(
|
|
Analyzer.AutoInit on
|
|
Analyzer.STATistic.PreFetch on
|
|
)
|
|
if a.mode.flow()
|
|
(
|
|
Break.Delete /TraceData
|
|
Break.Set task.config(magic) /TraceData
|
|
)
|
|
)
|
|
menuitem "[:perf]Show &Numerical" "Trace.STATistic.TASKFUNC"
|
|
menuitem "[:perf]Show as &Tree" "Trace.STATistic.TASKTREE"
|
|
menuitem "[:perf]Show &Detailed Tree" "Trace.STATistic.TASKTREE ALL"
|
|
menuitem "[:achart]Show as &Timing" "Trace.CHART.TASKFUNC"
|
|
menuitem "[:alist]Show N&esting" "Trace.List List.TASK FUNC TI.FUNC"
|
|
)
|
|
popup "Task &Status"
|
|
(
|
|
menuitem "&Prepare"
|
|
(
|
|
if t.method.analyzer()
|
|
(
|
|
Analyzer.AutoInit on
|
|
)
|
|
)
|
|
menuitem "[:perf]Show &Numerical" "Trace.STATistic.TASKSTATE"
|
|
menuitem "[:achart]Show as &Timing" "Trace.CHART.TASKSTATE"
|
|
menuitem "[:achart]Tracking with Trace &List"
|
|
(
|
|
Trace.List List.TASK DEFault /Track
|
|
Trace.CHART.TASKSTATE /Track
|
|
)
|
|
)
|
|
)
|
|
popup "&Help"
|
|
(
|
|
MENUITEM "[:manual]OS Awareness Manual uC3-Compact" "HELP __RTOS_UC3CMP_"
|
|
)
|
|
)
|
|
|
|
|
|
menu "task.tsk"
|
|
(
|
|
default
|
|
menuitem "Display Detailed"
|
|
(
|
|
&address=address.offset(track.address())
|
|
TASK.TaSK &address
|
|
)
|
|
menuitem "Display CTSK struct"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.caddr(&id)
|
|
Var.View %Open (T_CTSK*)&addr
|
|
)
|
|
menuitem "Display TCB struct"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.addr(&id)
|
|
Var.View %Open (T_TCB*)&addr
|
|
)
|
|
;separator
|
|
;menuitem "Display Stack Frame"
|
|
;(
|
|
; &address=address.offset(track.address())
|
|
; Var.Frame /Locals /Caller /Task &address
|
|
;)
|
|
;menuitem "Switch Context" "Register.TASK address.offset(track.address())"
|
|
separator
|
|
menuitem "Add to Stack Cov" "TASK.STK.ADD address.offset(track.address())"
|
|
menuitem "Rm from Stack Cov" "TASK.STK.RM address.offset(track.address())"
|
|
separator
|
|
menuitem "Dump task entry"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.addr(&id)
|
|
Data.dump &addr /l /dialog
|
|
)
|
|
)
|
|
|
|
menu "task.sem"
|
|
(
|
|
default
|
|
menuitem "Display Detailed"
|
|
(
|
|
&address=address.offset(track.address())
|
|
TASK.SEMaphore &address
|
|
)
|
|
menuitem "Display CSEM struct"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.caddr(&id)
|
|
Var.View %Open (T_CSEM*)&addr
|
|
)
|
|
menuitem "Display SEM struct"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.addr(&id)
|
|
Var.View %Open (T_SEM*)&addr
|
|
)
|
|
menuitem "Dump semaphore entry"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.addr(&id)
|
|
Data.dump &addr /l /dialog
|
|
)
|
|
)
|
|
|
|
menu "task.flg"
|
|
(
|
|
default
|
|
menuitem "Display Detailed"
|
|
(
|
|
&address=address.offset(track.address())
|
|
TASK.FLaG &address
|
|
)
|
|
menuitem "Display CFLG struct"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.caddr(&id)
|
|
Var.View %Open (T_CFLG*)&addr
|
|
)
|
|
menuitem "Display FLG struct"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.addr(&id)
|
|
Var.View %Open (T_FLG*)&addr
|
|
)
|
|
menuitem "Dump flag entry"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.addr(&id)
|
|
Data.dump &addr /l /dialog
|
|
)
|
|
)
|
|
|
|
|
|
menu "task.dtq"
|
|
(
|
|
default
|
|
menuitem "Display Detailed"
|
|
(
|
|
&address=address.offset(track.address())
|
|
TASK.DaTaQueue &address
|
|
)
|
|
menuitem "Display CDTQ struct"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.caddr(&id)
|
|
Var.View %Open (T_CDTQ*)&addr
|
|
)
|
|
menuitem "Display DTQ struct"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.addr(&id)
|
|
Var.View %Open (T_DTQ*)&addr
|
|
)
|
|
menuitem "Dump data queue entry"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.addr(&id)
|
|
Data.dump &addr /l /dialog
|
|
)
|
|
)
|
|
|
|
|
|
menu "task.cyc"
|
|
(
|
|
default
|
|
menuitem "Display Detailed"
|
|
(
|
|
&address=address.offset(track.address())
|
|
TASK.CYClic &address
|
|
)
|
|
menuitem "Display CCYC struct"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.caddr(&id)
|
|
Var.View %Open (T_CYC*)&addr
|
|
)
|
|
menuitem "Display CYC struct"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.addr(&id)
|
|
Var.View %Open (T_CYC*)&addr
|
|
)
|
|
menuitem "Dump cyclic entry"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&addr=task.addr(&id)
|
|
Data.dump &addr /l /dialog
|
|
)
|
|
)
|
|
|
|
|
|
menu "task.isr"
|
|
(
|
|
default
|
|
menuitem "Display ISR control struct"
|
|
(
|
|
&id=address.offset(track.address())
|
|
Var.View %o _pISR[&id-1]
|
|
)
|
|
menuitem "Dump ISR control entry"
|
|
(
|
|
&id=address.offset(track.address())
|
|
&sem=data.long(D:(_pISR+((&id-1)*4)))
|
|
Data.dump &sem /l /dialog
|
|
)
|
|
)
|