218 lines
5.2 KiB
Plaintext
218 lines
5.2 KiB
Plaintext
; --------------------------------------------------------------------------------
|
|
; @Title: Menu File for TRACE32 uC/OS-IIThreadX Awareness
|
|
; @Description: -
|
|
; @Keywords: threadx menu awareness
|
|
; @Author: DIE
|
|
; @Copyright: (C) 1989-2014 Lauterbach GmbH, licensed for use with TRACE32(R) only
|
|
; --------------------------------------------------------------------------------
|
|
; $Id: threadx.m 9983 2024-03-20 12:43:46Z rdienstbeck $
|
|
|
|
NAME "TASK.THREADX"
|
|
|
|
IF !MENU.EXIST("TASK.THREADX")
|
|
(
|
|
|
|
add
|
|
menu
|
|
(
|
|
popup "&ThreadX"
|
|
(
|
|
default
|
|
menuitem "Display &Threads" "TASK.THread"
|
|
menuitem "Display T&imers" "TASK.TImer"
|
|
menuitem "Display &Queues" "TASK.QUeue"
|
|
menuitem "Display &Semaphores" "TASK.SEmaphore"
|
|
menuitem "Display &Mutexes" "TASK.MUtex"
|
|
menuitem "Display &Events" "TASK.EVent"
|
|
menuitem "Display &Block Memory" "TASK.BLockmem"
|
|
menuitem "Display Byte &Memory" "TASK.BYtemem"
|
|
separator
|
|
popup "&Stack Coverage"
|
|
(
|
|
menuitem "List Stacks" "TASK.STacK"
|
|
menuitem "Add Task to Cov" "TASK.STacK.ADD"
|
|
menuitem "Remove Task from Cov" "TASK.STacK.ReMove"
|
|
menuitem "Reset Coverage"
|
|
(
|
|
PRIVATE &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 ThreadX" "HELP __RTOS_THREADX_"
|
|
)
|
|
)
|
|
|
|
|
|
menu "task.th"
|
|
(
|
|
default
|
|
menuitem "Display Detailed"
|
|
(
|
|
PRIVATE &magic
|
|
&magic=address.offset(track.address())
|
|
TASK.THread &magic
|
|
)
|
|
menuitem "Display Thread Struct"
|
|
(
|
|
PRIVATE &address
|
|
&address=track.address()
|
|
Var.View %Open %String (TX_THREAD*)(&address)
|
|
)
|
|
separator
|
|
menuitem "Display Stack Frame"
|
|
(
|
|
PRIVATE &magic
|
|
&magic=address.offset(track.address())
|
|
Var.Frame /Locals /Caller /Task &magic
|
|
)
|
|
menuitem "Display Registers"
|
|
(
|
|
PRIVATE &magic
|
|
&magic=address.offset(track.address())
|
|
Register /SpotLight /Task &magic
|
|
)
|
|
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 Thread Struct"
|
|
(
|
|
PRIVATE &address
|
|
&address=track.address()
|
|
Data.dump &address
|
|
)
|
|
)
|
|
|
|
|
|
menu "task.by"
|
|
(
|
|
default
|
|
menuitem "Display Detailed"
|
|
(
|
|
PRIVATE &magic
|
|
&magic=address.offset(track.address())
|
|
TASK.BYtemem &magic
|
|
)
|
|
menuitem "Display Byte Pool Struct"
|
|
(
|
|
PRIVATE &address
|
|
&address=track.address()
|
|
Var.View %Open %String (TX_BYTE_POOL*)(&address)
|
|
)
|
|
separator
|
|
menuitem "Dump Byte Pool Struct"
|
|
(
|
|
PRIVATE &address
|
|
&address=track.address()
|
|
Data.dump &address
|
|
)
|
|
)
|
|
|
|
|
|
menu "task.bl"
|
|
(
|
|
default
|
|
menuitem "Display Detailed"
|
|
(
|
|
PRIVATE &magic
|
|
&magic=address.offset(track.address())
|
|
TASK.BLockmem &magic
|
|
)
|
|
menuitem "Display Block Pool Struct"
|
|
(
|
|
PRIVATE &address
|
|
&address=track.address()
|
|
Var.View %Open %String (TX_BLOCK_POOL*)(&address)
|
|
)
|
|
separator
|
|
menuitem "Dump Block Pool Struct"
|
|
(
|
|
PRIVATE &address
|
|
&address=track.address()
|
|
Data.dump &address
|
|
)
|
|
)
|
|
|
|
)
|