Files
2025-10-14 09:52:32 +09:00

809 lines
40 KiB
Plaintext

;@Extension.Container.Version.1
;-- DO NOT CHANGE THE LINE ABOVE --
IF (VERSION.BUILD.BASE()<138311.)
(
PRINTF %ERROR "%s: Software too old, please contact support@lauterbach.com." "LiteOS"
ENDDO
)
PMACRO.EXPLICIT
PRIVATE &sParamline &sPpf &sCmd &sParameters &sAccess &sAccessSpaces &sAccessMachine &sOptionAccess &sOptionAccessMisc &sName &sMachine &sArguments &nVariant
PRIVATE &bTaskConfig &bExtLoad &bCleanup
ENTRY &sCmd %LINE &sParamline
&sParameters=STRing.SCANAndExtract("&sParamline","PARAMETERS=","")
&sAccess=STRing.SCANAndExtract("&sParamline","ACCESS=","")
&sAccessSpaces=STRing.SCANAndExtract("&sParamline","ACCESSSPACES=","")
&sAccessMachine=STRing.SCANAndExtract("&sParamline","ACCESSMACHINE=","")
&sName=STRing.SCANAndExtract("&sParamline","NAME=","")
&sMachine=STRing.SCANAndExtract("&sParamline","MACHINE=","")
&sArguments=STRing.SCANAndExtract("&sParamline","ARGUMENTS=","")
&sParameters=STRing.Replace("&sParameters","""","",0.)
IF ("&sArguments"!="")
&sArguments=&sArguments
IF ("&sAccess"!="")
&sOptionAccess="/ACCESS &sAccess"
IF ("&sAccessSpaces"!="")
&sOptionAccessMisc="/ACCESSSPACES &sAccessSpaces"
IF ("&sAccessMachine"!="")
&sOptionAccessMisc="&(sOptionAccessMisc) /ACCESSMACHINE &sAccessMachine"
&sName=STRing.Replace("&sName","""","",0.)
&bTaskConfig=STRing.SCAN("task.config,ext.config",STRing.LoWeR("&sCmd"),0.)>=0.
&bExtLoad=STRing.SCAN("ext.load",STRing.LoWeR("&sCmd"),0.)>=0.
&bCleanup=STRing.SCAN("task.res,ext.res,ext.delete",STRing.LoWeR("&sCmd"),0.)>=0.
&sPpf=OS.PresentPracticeFile()
IF (&bTaskConfig||&bExtLoad)
(
IF ("&nVariant"!="32.")&&("&nVariant"!="64.")
(
IF CPUIS64BIT()
&nVariant="64."
ELSE
&nVariant="32."
)
IF STRing.ComPare("&sArguments","*32BIT*")
&nVariant="32."
ELSE IF STRing.ComPare("&sArguments","*64BIT*")
&nVariant="64."
)
IF (&bTaskConfig)
(
PRIVATE &sMachineName
&sMachineName="LiteOS"
TASK.RESet
IF (&nVariant==32.)
(
GOSUB extension_32bit "&sParameters" "&sOptionAccess"
IF !STRing.Compare("&sArguments","*MENU=NONE*")
GOSUB menu_32bit "&sMachineName" ""
GOSUB autoload_32bit ""
)
ELSE IF (&nVariant==64.)
(
PRINTF %ERROR "%s: No support for %ubit, please contact support@lauterbach.com." "LiteOS" &nVariant
)
)
ELSE IF (&bExtLoad)
(
PRIVATE &sMachineName &sInfix &sOptionName &sOptionMachine
&sInfix=""
&sMachineName="LiteOS"
IF ("&sName"!="")
(
&sInfix=STRing.UPpeR("&(sName).")
&sMachineName="&(sName)"
&sOptionName="/NAME &sMachineName"
)
ELSE IF PRACTICE.FUNCtion.AVAILable(SYStem.Option.MACHINESPACES)
(
IF SYStem.Option.MACHINESPACES()
&sInfix=TASK.TRANSPOSE.INFIX(OS.FILE.BASENAME("&sPpf",".**"))+"."
)
IF ("&sMachine"!="")
(
&sOptionMachine="/MACHINE &sMachine"
)
IF (&nVariant==32.)
(
GOSUB extension_32bit "&sParameters" "&sOptionAccess &sOptionAccessMisc &sOptionName &sOptionMachine"
IF !STRing.Compare("&sArguments","*MENU=NONE*")
GOSUB menu_32bit "&sMachineName" "&sInfix"
GOSUB autoload_32bit "&sOptionMachine"
)
ELSE IF (&nVariant==64.)
(
PRINTF %ERROR "%s: No support for %ubit, please contact support@lauterbach.com." "LiteOS" &nVariant
)
)
ELSE IF (&bCleanup)
(
PRIVATE &sMachineName &sOptionMachine
&sMachineName="LiteOS"
IF ("&sName"!="")
(
&sMachineName="&(sName)"
)
IF ("&sMachine"!="")
(
&sOptionMachine="/MACHINE &sMachine"
)
IF STRing.SCAN(HELP.FILTER(),"rtosliteos",0.)>=0.
HELP.FILTER.Delete rtosliteos
GOSUB menu_delete "&sMachineName"
GOSUB autoload_delete "&sOptionMachine"
)
ENDDO
extension_32bit: ; (options)
(
PARAMETERS &sParameters &sOptions
EXTension.LOAD &sParameters &sOptions
(
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGh0dHBz
Oi8vc3ZuLmludGVybi5sYXV0ZXJiYWNoLmNvbS9zdm4va2VybmVsc3JjAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAYmF1bWVpc3RlcgAAAAAAAGVkay1saW51eDY0Yml0LTcAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHQ0MgOS41LjAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+gAAAAGAAAA
DQAAAE4AACfSAAAH6AAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAABPOFMaXRlT1MAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg
AAAAQ1BVLkZFQVRVUkUoInNlY3VyZSIpAAAAQ1BVLkZFQVRVUkUoImZwdSIpAABnX3N0TG9zVGFz
awBnX2xvc1Rhc2sAAABnX3BzdFRhc2tDQkFycmF5AAAAAGdfdGFza0NCQXJyYXkAAABnX3V3VHNr
TWF4TnVtAAAAZ190YXNrTWF4TnVtAAAAAGdfcHN0QWxsTXV4AGdfYWxsTXV4AAAAAGdfcHN0QWxs
U2VtAGdfYWxsU2VtAAAAAGdfcHN0QWxsUXVldWUAAABnX2FsbFF1ZXVlAABtX3BzdFN3dG1yQ0JB
cnJheQAAAGdfc3d0bXJDQkFycmF5AABMT1NfVEFTS19DQgAucFN0YWNrUG9pbnRlcgAALnVzVGFz
a1N0YXR1cwAAAC51c1ByaW9yaXR5AC51d1N0YWNrU2l6ZQAAAAAudXdUb3BPZlN0YWNrAAAALnV3
VGFza0lEAAAALnBmblRhc2tFbnRyeQAAAC5wY1Rhc2tOYW1lAC5zdFBlbmRMaXN0AExvc1Rhc2tD
QgAAAC5zdGFja1BvaW50ZXIAAAAudGFza1N0YXR1cwAucHJpb3JpdHkAAAAuc3RhY2tTaXplAAAu
dG9wT2ZTdGFjawAudGFza0lEAC50YXNrRW50cnkAAC50YXNrTmFtZQAAAC5wZW5kTGlzdAAAAC5q
b2luTGlzdAAAAE1VWF9DQl9TAAAAAC51Y011eFN0YXQAAC51Y011eElEAAAAAC5wc3RPd25lcgAA
AExvc011eENCAAAAAC5tdXhTdGF0AAAAAC5tdXhJRAAALm93bmVyAABTRU1fQ0JfUwAAAAAudXNT
ZW1TdGF0AAAudXNTZW1JRAAAAAAuc3RTZW1MaXN0AABMb3NTZW1DQgAAAAAuc2VtU3RhdAAAAAAu
c2VtSUQAAC5zZW1MaXN0AAAAAFFVRVVFX0NCX1MAAC5wdWNRdWV1ZQAAAC51c1F1ZXVlU3RhdGUA
AAAudXNRdWV1ZUxlbgAudXNRdWV1ZVNpemUAAAAALnVzV3JpdGFibGVDbnQAAC51c1JlYWRXcml0
ZWFibGVDbnQALnVzUmVhZGFibGVDbnQAAExvc1F1ZXVlQ0IAAC5xdWV1ZQAALnF1ZXVlU3RhdGUA
LnF1ZXVlTGVuAAAALnF1ZXVlU2l6ZQAALnJlYWRXcml0ZWFibGVDbnQAAABTV1RNUl9DVFJMX1MA
AAAALnBzdE5leHQAAAAALnVjU3RhdGUAAAAALnVjTW9kZQAudXNUaW1lcklEAAAudXdDb3VudAAA
AAAucGZuSGFuZGxlcgBMT1NfRExfTElTVABDYW5ub3QgZmluZCBzeW1ib2xzICEhISBMaXRlT1Mg
c3ltYm9scyBsb2FkZWQ/AABEZWJ1ZyBpbmZvcm1hdGlvbiBtaXNzaW5nICEhIQAAAHRhc2sAAAAA
VEFTSy5UYXNrICV4AAAAAFRBU0suVAAAJTh4ACVkLgBydW5uaW5nAHJlYWR5AAAAZXhpdAAAAABz
dXNwZW5kAGRlbGF5ZWQAcGVuZF90aW1lAAAAcGVuZAAAAAB0aW1lb3V0AHVudXNlZAAAJXgAAHBl
bmRfc2VtYQAAAHBlbmRfbXV0ZXgAAHBlbmRfcXVldWUAAHN3dGltZXJfd19ldnQAAAByZWFkX2V2
ZW50AAB3YWl0X2V2ZW50AAB3X2V2dF90aW1lb3V0AAAAZGVsZXRlZAAlM2QuAAAAAExpc3QgJWEA
CgAAAG1hZ2ljICAgIAAAAGlkAABuYW1lICAgICAgICAgICAgIAAAAHN0YXRlICAgICAgAHByaW8A
AAAAZW50cnkgICAAAAAAU29ycnk6IHRhc2sgbm90IGZvdW5kLgAAVEFTSwAAAABUYXNrAAAAAEAo
PSlfX1JUT1NfTElURU9TX19UQVNLX1QAAABtdXRleAAAAERhdGEuZHVtcCAleAAAAABUQVNLLk0A
AHVzZWQAAAAAJWQAACVzAABzdGF0ZSAAAG93bmVyICAgIAAAAE1VVEVYAAAATVV0ZVgAAABAKD0p
X19SVE9TX0xJVEVPU19fVEFTS19NVVgAVEFTSy5TRU1BcGhvcmUgJXgAAABUQVNLLlNFTQAAAAA+
OTkuAAAAAAoKAAB3YWl0aW5nIHRhc2tzOiAAJTh4ICAgICVzCgAAd2FpdGluZwBTb3JyeTogc2Vt
YXBob3JlIG5vdCBmb3VuZC4AU0VNQVBIT1JFAAAAU0VNQQAAAABTRU1BcGhvcmUAAABAKD0pX19S
VE9TX0xJVEVPU19fVEFTS19TRU0AVEFTSy5RVUV1ZSAleAAAAFRBU0suUVVFAAAAACU1ZC4AAAAA
MHglNHgAAAAlOGQuAAAAACU3ZC4AAAAAbWVzc2FnZXM6IAAAbWVzc2FnZSAlZDogAAAAAGxlbmd0
aAAAc2l6ZSAgAAB3cml0ZV9jbnQAAAByZWFkX2NudAAAAABTb3JyeTogcXVldWUgbm90IGZvdW5k
LgBRVUVVRQAAAFFVRXVlAAAAQCg9KV9fUlRPU19MSVRFT1NfX1RBU0tfUVVFAFRBU0suVElNAAAA
AGVudW0gZW5Td1RtclR5cGUAAAAATE9TX1NXVE1SX01PREVfAG9uY2UAAAAAcGVyaW9kAABpbnZh
bGlkAGNyZWF0ZWQAdGlja2luZwAlNGQuAAAAAERhdGEuTGlzdCAleAAAAABtb2RlICAgIAAAAABz
dGF0ZSAgAGNvdW50AAAAaGFuZGxlciAAAAAAVElNRVIAAABUSU1lcgAAAEAoPSlfX1JUT1NfTElU
RU9TX19UQVNLX1RJTQAlQGNNVEQgVmVyc2lvbiAgJXMgICVzICAlMDJ1LiUwMnUuJTA0dSAoQnVp
bGQgJXMpCgoAcGFyX21hZ2ljICAgICAgICAlOHggICU4eCAgAHBhcl90YXNrX21heF9udW0gJTh4
ICAlOHggIABwYXJfdGFza19hcnJheSAgICU4eCAgJTh4ICAAcGFyX211dGV4ICAgICAgICAlOHgg
ICU4eCAgAHBhcl9zZW1hcGhvcmUgICAgJTh4ICAlOHggIABwYXJfcXVldWUgICAgICAgICU4eCAg
JTh4ICAAcGFyX3N3dGltZXIgICAgICAlOHggICU4eCAgAFRFU1QAAAAAYXJndW1lbnQgICAgICAg
ICB2YWx1ZSAgICAgY29udGVudCAgIHN5bWJvbAAtLS0gIFRBU0sgIG1hZ2ljID0gJTh4AAAgIGlk
ID0gJWQuAAAgIG5hbWUgPSAlcwAgIC0tLQAAAF9fUlRPU19MSUVUT1NfX0FMAAAAX19SVE9TX0xJ
RVRPU19fQVMAAABGUFVfSVJRSGFuZGxlcgAAU2lnbmFsQ29udGV4dFJlc3RvcmUAAAAAVGFza1N3
aXRjaAAATVNQAFBTUABQQwAAQ09OVFJPTABSMTMAQ09SVEVYTQByMAAAcjEAAHIyAAByMwAAcjQA
AHI1AAByNgAAcjcAAHI4AAByOQAAcjEwAHIxMQByMTIAcjEzAHIxNABwYwAAeHBzcgAAAABoYXJk
d2FyZXRocmVhZAAA///miP//6CD//+b0///oIP//6CD//+gg///oIP//51z//+gg///oEP//6Khw
YXJhbWV0ZXIgMTogMHglOHggPSAlcwBtYWdpYwAAAG1hZ2ljc2l6ZQAAAHVua25vd24gdG9waWMA
AABUQVNLLkNPTkZJRwBfX1JUT1NfTElURU9TX19GVU5DAHRjYgA8bm9uZT4AAHNlbWFwaG9yZQAA
AHF1ZXVlAAAAVEFTSy5TVFJVQ1QATGl0ZU9TAABBUk0AREFUQQAAAAMAWgAAAAQARAAAENwAAAAC
AAAAAAAARxwAAAAAAAAAAwBQAAAABABEAAAR+AAARzQAAEdcAABHPAAAR0QAAAu0AABG2AAARuQA
AEboAABG/AAARwgAAEcQAAAAAAAAAAMULQAAAAQAhAAAFAAAAEekAABHzAAAR6wAAEe0AAASSAAA
RtgAAEbkAABHkAAAR5gAAAAAAAAAAxQoAAAABADcAAAXLAAAAAIAAAAAAABIIAAAAAAAAAADFCgA
AAAEANwAABfwAABIPAAASEgAAEhQAABIXAAAFMQAAEbYAABG5AAAR5AAAEgYAAAAAAAAAAMPNwAA
AAQBNAAAG1gAAAACAAAAAAAASPgAAAAAAAAAAw83AAAABAE0AAAcIAAASRAAAEkQAABJGAAASSAA
ABkYAABG2AAARuQAAEeQAABI0AAASNgAAEjgAABI7AAAAAAAAAADFEYAAAAEAXgAACAEAABJ1AAA
SfwAAEncAABJ5AAAHYgAAEbYAABG5AAASawAAEm4AABJwAAAScgAAAAAAAAAAQA8AAAAAEsAAAAg
/AAASvgAAEr4AABJtAAASbQAACDIAAAl2AAAJjQAAEtkAAAlsAAAS3gAACcAAABL4AAAAAAAAAAE
AABL5AAAAAAAAAAEAABL6AAAAAAAAAAEAABL7AAAAAAAAAAEAABL8AAAAAAAAAAEAABL9AAAAAAA
AAAEAABL+AAAAAAAAAAEAABL/AAAAAAAAAAEAABMAAAAAAAAAAAEAABMBAAAAAAAAAAEAABMCAAA
AAAAAAAEAABMDAAAAAAAAAAEAABMEAAAAAAAAAAEAABMFAAAAAAAAAAAAABMGAAAAAAAAAAEAABM
HAAAAAAAAAAEAABMIAAAAAAAAAAAAAAAAAAAAAAAAAAAUjE0AFIxAAAAAEwoAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAEygAAAAAwAAABcAAAAAAABMrAAAOjwAAEzgAAAABwAAABcAAAAAAABMrAAAOvgA
AEm0AABM7AAATPQAAAAAVDMyRQ==
)
HELP.FILTER.Add rtosliteos
RETURN
)
menu_32bit: ;(header, infix)
(
PMACRO.LOCK
(
PRIVATE &sHeader &sInfix &sMenuName
PARAMETERS &sHeader &sInfix
&sMenuName=TASK.TRANSPOSE.INFIX("&sHeader")
IF MENU.EXIST("TASK.&(sMenuName)")
MENU.Delete.NAME TASK.&(sMenuName)
IF MENU.EXIST("EXT.&(sMenuName)")
MENU.Delete.NAME EXT.&(sMenuName)
MENU.ReProgram
(&+
; --------------------------------------------------------------------------------
; @Title: LiteOS specific menu
; @Description: -
; @Author: DIE YDA
; @Copyright: (c) 1989-2022 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: liteos.m 7846 2022-07-28 12:12:59Z amerkle $
NAME "TASK.&sMenuName"
IF !MENU.EXIST("TASK.&sMenuName")
(
add
menu
(
popup "&sHeader"
(
default
menuitem "[:objects]Display &Tasks" "TASK.&(sInfix)Task"
menuitem "[:objects]Display &Mutex" "TASK.&(sInfix)MUteX"
menuitem "[:objects]Display &Semaphore" "TASK.&(sInfix)SEMaphore"
menuitem "[:objects]Display &Queue" "TASK.&(sInfix)QUEue"
menuitem "[:objects]Display &Timer" "TASK.&(sInfix)TIMer"
IF PRACTICE.FUNCtion.AVAILable(SYStem.Option.MACHINESPACES)
(
IF !SYStem.Option.MACHINESPACES()
(
MENUITEM "[ X X X X X,XXXXXXXXXXXX, XxxxxxxxxXs,XXxxxxxxxxXs, XxxxxxxxxXX,XXxxxxxxxxXs, XxxxxxxxxXX,XXxxxxSSSSSSSS, XxxxxSBBwwwwwS,XXxxxxSBBwwwXwBS, XXXXXSBBwwwwwBB, XsXsXSBBBBBBBBB, SBBWWWWWBB, SBBWWWWWBB, SBBWRRRWBB, BBWWWWWBB]Generate RAM Dump"
(
PRIVATE &sPath
&sPath=OS.FILE.JOINPATH(TASK.&(sInfix)GETDIR(),"ramdump.cmm")
IF OS.FILE("&sPath")
(
DO "&sPath" /DIALOG
ENDDO
)
PRINT %ERROR "File ""ramdump.cmm"" not found. Please contact support@lauterbach.com ."
)
)
)
ELSE
(
MENUITEM "[ X X X X X,XXXXXXXXXXXX, XxxxxxxxxXs,XXxxxxxxxxXs, XxxxxxxxxXX,XXxxxxxxxxXs, XxxxxxxxxXX,XXxxxxSSSSSSSS, XxxxxSBBwwwwwS,XXxxxxSBBwwwXwBS, XXXXXSBBwwwwwBB, XsXsXSBBBBBBBBB, SBBWWWWWBB, SBBWWWWWBB, SBBWRRRWBB, BBWWWWWBB]Generate RAM Dump"
(
PRIVATE &sPath
&sPath=OS.FILE.JOINPATH(TASK.&(sInfix)GETDIR(),"ramdump.cmm")
IF OS.FILE("&sPath")
(
DO "&sPath" /DIALOG
ENDDO
)
PRINT %ERROR "File ""ramdump.cmm"" not found. Please contact support@lauterbach.com ."
)
)
separator
popup "[:coverage]&Stack Coverage"
(
menuitem "[:objects]&List Stacks" "TASK.&(sInfix)STacK.view"
menuitem "[:plus]Add Task" "TASK.&(sInfix)STacK.ADD"
menuitem "[:exit]Remove Task" "TASK.&(sInfix)STacK.RM"
menuitem "Reset Coverage"
(
if icd()||simulator()
(
PRIVATE &yes
dialog.yesno "Overwrite unused stack space" "with stack fill pattern?"
entry &yes
if !&yes
enddo
)
TASK.&(sInfix)STacK.Init
)
)
)
popup "Trace"
(
popup "[:alist]List"
(
separator
menuitem "[:alist]&Task Switches" "Trace.List List.TASK"
menuitem "[:alist]&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 "&Help"
(
MENUITEM "[:manual]OS Awareness Manual LiteOS" "HELP __RTOS_LITEOS_"
)
)
menu "task.&(sInfix)t"
(
default
menuitem "[:var]Display task struct"
(
PRIVATE &pAddress &sType
&pAddress=TRACK.ADDRESS()
&sType=TASK.&(sInfix)STRUCT("tcb")
Var.View %Open %String (&(sType)*)(&pAddress)
)
separator
menuitem "[:varframe]Display Stack Frame"
(
PRIVATE &nAddress
&nAddress=ADDRESS.OFFSET(TRACK.ADDRESS())
Var.Frame /Locals /Caller /Task &nAddress
)
menuitem "[:reg]Display Registers"
(
PRIVATE &nAddress
&nAddress=ADDRESS.OFFSET(TRACK.ADDRESS())
Register /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.&(sInfix)STacK.ADD &nAddress
)
menuitem "Rm from Stack Cov"
(
PRIVATE &nAddress
&nAddress=ADDRESS.OFFSET(TRACK.ADDRESS())
TASK.&(sInfix)STacK.RM &nAddress
)
separator
menuitem "[:dump]Dump task entry"
(
PRIVATE &pAddress
&pAddress=TRACK.ADDRESS()
Data.dump &pAddress /Long /DIALOG
)
)
menu "task.&(sInfix)m"
(
default
menuitem "[:var]Display Mutex struct"
(
PRIVATE &pAddress &sType
&pAddress=TRACK.ADDRESS()
&sType=TASK.&(sInfix)STRUCT("mutex")
Var.View %Open %String (&(sType)*)(&pAddress)
)
menuitem "[:dump]Dump Mutex Entry"
(
PRIVATE &pAddress
&pAddress=TRACK.ADDRESS()
Data.dump &pAddress /Long /DIALOG
)
)
menu "task.&(sInfix)sem"
(
default
menuitem "[:objects]Display Detailed"
(
PRIVATE &nAddress
&nAddress=ADDRESS.OFFSET(TRACK.ADDRESS())
TASK.&(sInfix)SEMaphore &nAddress
)
menuitem "[:var]Display Semaphore struct"
(
PRIVATE &pAddress &sType
&pAddress=TRACK.ADDRESS()
&sType=TASK.&(sInfix)STRUCT("semaphore")
Var.View %Open %String (&(sType)*)(&pAddress)
)
menuitem "[:dump]Dump Semaphore Entry"
(
PRIVATE &pAddress
&pAddress=TRACK.ADDRESS()
Data.dump &pAddress /Long /DIALOG
)
)
menu "task.&(sInfix)que"
(
default
menuitem "[:objects]Display Detailed"
(
PRIVATE &nAddress
&nAddress=ADDRESS.OFFSET(TRACK.ADDRESS())
TASK.&(sInfix)Queue &nAddress
)
menuitem "[:var]Display Queue struct"
(
PRIVATE &pAddress &sType
&pAddress=TRACK.ADDRESS()
&sType=TASK.&(sInfix)STRUCT("queue")
Var.View %Open %String (&(sType)*)(&pAddress)
)
menuitem "[:dump]Dump Queue Entry"
(
PRIVATE &pAddress
&pAddress=TRACK.ADDRESS()
Data.dump &pAddress /Long /DIALOG
)
)
menu "task.&(sInfix)tim"
(
default
menuitem "[:var]Display Timer Control struct"
(
PRIVATE &pAddress
&pAddress=TRACK.ADDRESS()
Var.View %Open %String (SWTMR_CTRL_S *)(&pAddress)
)
menuitem "[:dump]Dump Timer Entry"
(
PRIVATE &pAddress
&pAddress=TRACK.ADDRESS()
Data.dump &pAddress /Long /DIALOG
)
)
)
)
)
PMACRO.UNLOCK
RETURN
)
autoload_32bit: ;(options)
(
PARAMETERS &sOptions
RETURN
)
menu_delete: ;(header)
(
PRIVATE &sHeader &sMenuName
PARAMETERS &sHeader
&sMenuName=TASK.TRANSPOSE.INFIX("&sHeader")
IF MENU.EXIST("TASK.&(sMenuName)")
MENU.Delete.NAME TASK.&(sMenuName)
IF MENU.EXIST("EXT.&(sMenuName)")
MENU.Delete.NAME EXT.&(sMenuName)
RETURN
)
autoload_delete: ;(options)
(
PARAMETERS &sOptionMachine
RETURN
)