255 lines
5.8 KiB
Plaintext
255 lines
5.8 KiB
Plaintext
; --------------------------------------------------------------------------------
|
|
; @Title: OSE specific menu
|
|
; @Description: -
|
|
; @Author: DIE
|
|
; @Copyright: (C) 1989-2022 Lauterbach GmbH, licensed for use with TRACE32(R) only
|
|
; --------------------------------------------------------------------------------
|
|
; $Id: osee.men 18850 2022-01-26 18:41:29Z bschroefel $
|
|
|
|
add
|
|
menu
|
|
(
|
|
popup "&OSE Epsilon"
|
|
(
|
|
; enable ice()
|
|
; menuitem "&RTOS Terminal" "TERM T32OUT T32IN"
|
|
; separator
|
|
default
|
|
menuitem "Display &Processes" "TASK.DProc"
|
|
menuitem "Display &Queue"
|
|
(
|
|
dialog
|
|
(
|
|
header "Display Queue"
|
|
pos 0x0 0x0 32. 3.
|
|
box "task name:"
|
|
pos 0x1 0x1 30. 1.
|
|
name: defedit "" ""
|
|
pos 0x2 0x3 7. 1.
|
|
defbutton "OK"
|
|
(
|
|
local &name
|
|
&name=dialog.string(name)
|
|
task.dqueue "&name"
|
|
dialog.end
|
|
)
|
|
pos 10. 0x3 7. 1.
|
|
button "Cancel" "dialog.end"
|
|
)
|
|
)
|
|
; menuitem "Display &Configuration" "TASK.DC"
|
|
separator
|
|
popup "&Stack Coverage"
|
|
(
|
|
menuitem "&List Stacks" "TASK.STacK"
|
|
menuitem "Add Process to Cov" "TASK.STacK.ADD"
|
|
menuitem "Remove Process from Cov" "TASK.STacK.ReMove"
|
|
if ice()
|
|
(
|
|
menuitem "&Reset Coverage" "TASK.STK.RES"
|
|
)
|
|
else
|
|
(
|
|
menuitem "Stack &Pattern..."
|
|
(
|
|
dialog
|
|
(
|
|
header "Stack Pattern Check"
|
|
pos 0x0 0x0 13. 3.
|
|
box "initialized pattern:"
|
|
pos 0x1 0x1 11. 1.
|
|
pattern: defedit "17" ""
|
|
pos 14. 0x1 0x6 0x1
|
|
defbutton "OK"
|
|
(
|
|
local &pattern
|
|
&pattern=dialog.string(pattern)
|
|
TASK.STK.PAT &pattern
|
|
dialog.end
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
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 (ice()||fire())&&!a.mode.flow()
|
|
(
|
|
Analyzer.ReProgram
|
|
(
|
|
Sample.Enable if AlphaBreak&&Write
|
|
)
|
|
)
|
|
Break.Delete /Alpha
|
|
Break.Set task.config(current)++(task.config(magicsize)-1) /Alpha
|
|
)
|
|
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 (ice()||fire())&&!a.mode.flow()
|
|
(
|
|
if a.config.hac()
|
|
(
|
|
Analyzer.ReProgram
|
|
(
|
|
Sample.Enable if AlphaBreak
|
|
Sample.Enable if BetaBreak
|
|
Mark.A if AlphaBreak
|
|
Mark.B if BetaBreak
|
|
)
|
|
)
|
|
else
|
|
(
|
|
Analyzer.ReProgram
|
|
(
|
|
Sample.Enable if AlphaBreak||BetaBreak
|
|
Mark.A if AlphaBreak
|
|
Mark.B if BetaBreak
|
|
)
|
|
)
|
|
)
|
|
|
|
Break.Delete /Alpha /Beta /Charly
|
|
Break.SetFunc
|
|
Break.Set task.config(current)++(task.config(magicsize)-1) /Alpha
|
|
)
|
|
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
|
|
)
|
|
if (ice()||fire())&&!a.mode.flow()
|
|
(
|
|
Analyzer.ReProgram
|
|
(
|
|
Sample.Enable if AlphaBreak&&Write
|
|
)
|
|
)
|
|
Break.Delete /Alpha
|
|
Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha
|
|
TASK.TASKState
|
|
)
|
|
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 "OSE Epsilon Manual" "HELP __RTOS_OSEE_"
|
|
)
|
|
)
|
|
|
|
menu "TASK.DP"
|
|
(
|
|
menuitem "Display Detailed" "TASK.DP track.address()"
|
|
separator
|
|
enable ice()
|
|
menuitem "Add to Stack Cov" "TASK.STK.ADD address.offset(track.address())"
|
|
enable ice()
|
|
menuitem "Rm from Stack Cov" "TASK.STK.RM address.offset(track.address())"
|
|
separator
|
|
menuitem "Go till this task"
|
|
(
|
|
&task=address.offset(track.address())
|
|
screen.always
|
|
if state.run()
|
|
break
|
|
repeat
|
|
(
|
|
go
|
|
wait !state.run()
|
|
)
|
|
while data.long(a:task.config(current))!=&task
|
|
screen.on
|
|
)
|
|
menuitem "Go till next entry"
|
|
(
|
|
&task=address.offset(track.address())
|
|
screen.always
|
|
if state.run()
|
|
break
|
|
b.s task.config(current)++0x3 /w
|
|
repeat
|
|
(
|
|
go
|
|
wait !state.run()
|
|
)
|
|
while data.long(a:task.config(current))!=&task
|
|
b.d task.config(current)++0x3 /w
|
|
screen.on
|
|
)
|
|
enable ice()
|
|
menuitem "Break on next entry"
|
|
(
|
|
&task=address.offset(track.address())
|
|
trigger.set aa on
|
|
b.d /b
|
|
b.d task.config(current)++0x3 /w
|
|
b.s task.config(current)++0x3 /b
|
|
a.res
|
|
a.rp
|
|
(
|
|
data.l0 TSK &task
|
|
trigger.a if BB&&W&&TSK
|
|
)
|
|
a.arm
|
|
if !state.run()
|
|
go
|
|
wait !state.run()
|
|
a.rp
|
|
a.off
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|