; -------------------------------------------------------------------------------- ; @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 ) ) )