; -------------------------------------------------------------------------------- ; @Title: OSE21 specific menu ; @Description: - ; @Author: DIE ; @Copyright: (c) 1989-2014 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: os21.men 6109 2021-02-01 13:08:39Z rdienstbeck $ add menu ( popup "&OS21" ( default menuitem "Display &Tasks" "TASK.Task" menuitem "Display &Semaphores" ( if y.exist("_semList") TASK.SEMaphore else ( dialog ( header "Display Semaphore" pos 0x1 0x1 20. addr: defedit "" "" pos 24. 1. 7. defbutton "Ok" ( local &addr &addr=dialog.string(addr) TASK.SEMaphore v.value(&addr) dialog.end ) pos 0. 0. 33. 3. box "Semaphore" ) ) ) menuitem "Display &Mutexes" ( if y.exist("_mtxList") TASK.MuTeX else ( dialog ( header "Display Mutex" pos 0x1 0x1 20. addr: defedit "" "" pos 24. 1. 7. defbutton "Ok" ( local &addr &addr=dialog.string(addr) TASK.MuTeX v.value(&addr) dialog.end ) pos 0. 0. 33. 3. box "Mutex" ) ) ) menuitem "Display &Event Groups" ( if y.exist("_evtList") TASK.EVenT else ( dialog ( header "Display Event Group" pos 0x1 0x1 20. addr: defedit "" "" pos 24. 1. 7. defbutton "Ok" ( local &addr &addr=dialog.string(addr) TASK.EVenT v.value(&addr) dialog.end ) pos 0. 0. 33. 3. box "Event Group" ) ) ) menuitem "Display &Message Queue" ( dialog ( header "Display Message Queue" pos 0x1 0x1 20. addr: defedit "" "" pos 24. 1. 7. defbutton "Ok" ( local &addr &addr=dialog.string(addr) TASK.MeSsage v.value(&addr) dialog.end ) pos 0. 0. 33. 3. box "Message Queue" ) ) menuitem "Display &Partition" ( dialog ( header "Display Partition" pos 0x1 0x1 20. addr: defedit "" "" pos 24. 1. 7. defbutton "Ok" ( local &addr &addr=dialog.string(addr) TASK.PARTition v.value(&addr) dialog.end ) pos 0. 0. 33. 3. box "Partition" ) ) separator popup "&Stack Coverage" ( menuitem "&List Stacks" "TASK.STacK.view" menuitem "Add Task" "TASK.STacK.ADD" menuitem "Remove Task" "TASK.STacK.RM" 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 "[:alist]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 OS21" "HELP __RTOS_OS21_" ) ) menu "task.t" ( default menuitem "Display detailed" ( &address=address.offset(track.address()) TASK.Task &address ) menuitem "Display task struct" ( &address=address.offset(track.address()) Var.View %m %in %s (task_t*)&address ) separator menuitem "Display Stack Frame" ( &address=address.offset(track.address()) Var.Frame /Locals /Caller /Task &address ) menuitem "Display Registers" ( &address=address.offset(track.address()) Register /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 struct" ( &address=address.offset(track.address()) Data.dump &address ) ) menu "task.sem" ( menuitem "Display Detailed" ( &addr=address.offset(track.address()) TASK.SEMaphore &addr ) menuitem "Display Semaphore Struct" ( &address=address.offset(track.address()) Var.View %m %in (semaphore_t*)&address ) menuitem "Dump Semaphore Struct" ( &addr=address.offset(track.address()) Data.dump &addr ) ) menu "task.mtx" ( menuitem "Display Detailed" ( &addr=address.offset(track.address()) TASK.MuTeX &addr ) menuitem "Display Mutex Struct" ( &address=address.offset(track.address()) Var.View %m %in (mutex_t*)&address ) menuitem "Dump Mutex Struct" ( &addr=address.offset(track.address()) Data.dump &addr ) ) menu "task.evt" ( menuitem "Display Detailed" ( &addr=address.offset(track.address()) TASK.EVenT &addr ) menuitem "Display Event Group Struct" ( &address=address.offset(track.address()) Var.View %m %in (event_group_t*)&address ) menuitem "Dump Event Group Struct" ( &addr=address.offset(track.address()) Data.dump &addr ) ) menu "task.msg" ( menuitem "Display Detailed" ( &addr=address.offset(track.address()) TASK.MeSsaGe &addr ) menuitem "Display Message Queue Struct" ( &address=address.offset(track.address()) Var.View %m %in (message_queue_t*)&address ) menuitem "Dump Message Queue Struct" ( &addr=address.offset(track.address()) Data.dump &addr ) ) menu "task.part" ( menuitem "Display Detailed" ( &addr=address.offset(track.address()) TASK.PARTition &addr ) menuitem "Display Partition Struct" ( &address=address.offset(track.address()) Var.View %m %in (partition_t*)&address ) menuitem "Dump Partition Struct" ( &addr=address.offset(track.address()) Data.dump &addr ) ) add menu "Var" ( separator popup "OS21 Object" ( menuitem "Semaphore" ( &address=selection.string() TASK.SEMaphore v.value(&address) ) menuitem "Mutex" ( &address=selection.string() TASK.MuTeX v.value(&address) ) menuitem "Event Group" ( &address=selection.string() TASK.EVenT v.value(&address) ) menuitem "Message Queue" ( &address=selection.string() TASK.MeSsaGe v.value(&address) ) menuitem "Partition" ( &address=selection.string() TASK.PARTition v.value(&address) ) ) )