; -------------------------------------------------------------------------------- ; @Title: OSE Delta specific menu ; @Description: - ; @Author: DIE ; @Copyright: (c) 1989-2022 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: osed.m 7852 2022-07-28 12:13:26Z amerkle $ NAME "TASK.OSEDELTA" IF !MENU.EXIST("TASK.OSEDELTA") ( ADD MENU ( POPUP "OSE Delta" ( ; enable !icd() ; menuitem "&RTOS Terminal" "TERM T32OUT T32IN" ; separator default menuitem "Display &Processes" "TASK.DProc" menuitem "Display &Blocks" "TASK.DBLock" menuitem "Display &Pools" "TASK.DPOOL" menuitem "Display &Bios Modules" "TASK.DBIOS" menuitem "Display &Configuration" "TASK.DConf" menuitem "Display &Programs" "TASK.DProGram" menuitem "Display &Load Modules" "TASK.DLoadMod" menuitem "Display &Ramlog" "TASK.RAMLOG" separator popup "&Stack Coverage" ( menuitem "&List Stacks" ( TASK.STacK.PATtern 0xEE TASK.STacK ) menuitem "Add Task" "TASK.STacK.ADD" menuitem "Remove Task" "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 ) ) separator popup "Symbol &Autoloader" ( menuitem "List Components" "sYmbol.AutoLoad.List" menuitem "Check Now!" "sYmbol.AutoLoad.CHECK" menuitem "Set Loader Script" ( dialog ( header "sYmbol.AutoLoad.CHECKCoMmanD" pos 0. 0. 40. 3. box "autoload batch script" pos 1. 1. 30. 1 cmmfile: edit "autoload.cmm" "" pos 32. 1. 7. 1. button "Browse..." ( PRIVATE &file dialog.file "*.cmm" entry %line &file dialog.set cmmfile "&file" ) pos 1. 3. 16. 1. checkon: checkbox "automatic check" "" pos 10. 4.5 8. defbutton "Ok" ( PRIVATE &log &cmm &cmm=dialog.string(cmmfile) sYmbol.AutoLoad.CHECKCoMmanD "do &cmm " sYmbol.AutoLoad.CHECK ; trigger check manually if dialog.boolean(checkon) sYmbol.AutoLoad.CHECK ON ; automatic check enabled else sYmbol.AutoLoad.CHECK OFF ; automatic check disabled dialog.end ) pos 22. 4.5 8. button "Cancel" "dialog.end" ) ) ) ) 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 "OSE Multitask Debugger Manual" "HELP __RTOS_OSED_" ) ) menu "task.dp" ( menuitem "Display detailed" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) TASK.DProc &nAddress ) menuitem "Display PCB" ( PRIVATE &pAddress &pAddress=TRACK.ADDRESS() Var.View %Open %String (struct _pcb*)(&pAddress) ) separator menuitem "Display Stack Frame" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) Frame /Locals /Caller /TASK &nAddress ) menuitem "Switch Context" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) Register.TASK &nAddress ) separator menuitem "Add to Stack Cov" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) TASK.STacK.ADD &nAddress ) menuitem "Rm from Stack Cov" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) TASK.STacK.RM &nAddress ) separator menuitem "Dump PCB" ( PRIVATE &pAddress &pAddress=TRACK.ADDRESS() Data.dump &pAddress /Long /DIALOG ) ) menu "task.dbl" ( menuitem "Display Detailed" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) TASK.DBLock &nAddress ) menuitem "Dump BCB" ( PRIVATE &pAddress &pAddress=TRACK.ADDRESS() Data.dump &pAddress /Long /DIALOG ) ) )