Files
Gen4_R-Car_Trace32/2_Trunk/demo/arm/kernel/ucos-iii/ucos3.t32
2025-10-14 09:52:32 +09:00

1575 lines
79 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." "uCOS-III"
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)
(
GOSUB execute_container_selection "&sParameters" "&sAccess" "&sMachine" "&sArguments"
RETURNVALUES &nVariant
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="uCOS-III"
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.)
(
GOSUB extension_64bit "&sParameters" "&sOptionAccess"
IF !STRing.Compare("&sArguments","*MENU=NONE*")
GOSUB menu_64bit "&sMachineName" ""
GOSUB autoload_64bit ""
)
)
ELSE IF (&bExtLoad)
(
PRIVATE &sMachineName &sInfix &sOptionName &sOptionMachine
&sInfix=""
&sMachineName="uCOS-III"
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.)
(
GOSUB extension_64bit "&sParameters" "&sOptionAccess &sOptionAccessMisc &sOptionName &sOptionMachine"
IF !STRing.Compare("&sArguments","*MENU=NONE*")
GOSUB menu_64bit "&sMachineName" "&sInfix"
GOSUB autoload_64bit "&sOptionMachine"
)
)
ELSE IF (&bCleanup)
(
PRIVATE &sMachineName &sOptionMachine
&sMachineName="uCOS-III"
IF ("&sName"!="")
(
&sMachineName="&(sName)"
)
IF ("&sMachine"!="")
(
&sOptionMachine="/MACHINE &sMachine"
)
IF STRing.SCAN(HELP.FILTER(),"rtosucos3",0.)>=0.
HELP.FILTER.Delete rtosucos3
GOSUB menu_delete "&sMachineName"
GOSUB autoload_delete "&sOptionMachine"
)
ENDDO
extension_32bit: ; (options)
(
PARAMETERS &sParameters &sOptions
EXTension.LOAD &sParameters &sOptions
(
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
AAAAAAAAAAAAAAfoAAAABgAAAA0AAABOAAAn0gAAB+gAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AUUqdUNPUy1JSUkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAIAAAAE9TVENCQ3VyUHRyACEhdUNPUyBzeW1ib2xzIG1pc3NpbmcA
AE9TVGFza0RiZ0xpc3RQdHIAAAAAISF1Q09TIERCR19FTiBtaXNzaW5nAAAAISF1Q09TIFRDQiBz
dHJ1Y3R1cmUgbWlzc2luZwAAAAAuU3RrUHRyAC5PcHQAAAAALk5hbWVQdHIAAAAALlN0a0Jhc2VQ
dHIALlRhc2tFbnRyeUFkZHIAAC5UYXNrRW50cnlBcmcAAAAuUGVuZERhdGFUYmxQdHIALlBlbmRE
YXRhVGJsRW50cmllcwAuUGVuZE5leHRQdHIAAAAALlBlbmRPYmpQdHIALk1zZ1EAAAAuTXNnUVBl
bmRUaW1lAAAALk1zZ1FQZW5kVGltZU1heAAAAAAuU2VtQ3RyAC5TZW1QZW5kVGltZQAAAAAuU2Vt
UGVuZFRpbWVNYXgALlN0a1NpemUAAAAALlN0a1VzZWQAAAAALlN0a0ZyZWUAAAAALlRpY2tSZW1h
aW4ALkNQVVVzYWdlAAAALkN0eFN3Q3RyAAAALkludERpc1RpbWVNYXgAAC5TY2hlZExvY2tUaW1l
TWF4AAAALlBlbmRPbgAuVGFza1N0YXRlAAAuUHJpbwAAAC5EYmdOZXh0UHRyAC5OYnJFbnRyaWVz
AC5OZXh0UHRyAAAAAC5UQ0JQdHIAT1NTZW1EYmdMaXN0UHRyAC5QZW5kTGlzdAAAAC5DdHIAAAAA
T1NNdXRleERiZ0xpc3RQdHIAAAAuT3duZXJUQ0JQdHIAAAAALk93bmVyTmVzdGluZ0N0cgAAAABP
U0ZsYWdEYmdMaXN0UHRyAAAAAC5GbGFncwAAT1NRRGJnTGlzdFB0cgAAAC5PdXRQdHIALk5ickVu
dHJpZXNTaXplAC5OYnJFbnRyaWVzTWF4AAAuTXNnUHRyAC5Nc2dTaXplAAAAAE9TTWVtRGJnTGlz
dFB0cgAuQWRkclB0cgAAAAAuQmxrU2l6ZQAAAAAuTmJyTWF4AC5OYnJGcmVlAAAAAE9TVG1yRGJn
TGlzdFB0cgAuQ2FsbGJhY2tQdHIAAAAALlJlbWFpbgAuRGx5AAAAAC5QZXJpb2QALlN0YXRlAAAt
AAAALCAAAE9TX1RNUgAAc3RydWN0IG9zX3RtcgAAAE9TX01FTQAAc3RydWN0IG9zX21lbQAAAE9T
X01TRwAAc3RydWN0IG9zX21zZwAAAE9TX01TR19RAAAAAHN0cnVjdCBvc19tc2dfcQBPU19RAAAA
AHN0cnVjdCBvc19xAE9TX0ZMQUdfR1JQAHN0cnVjdCBvc19mbGFnX2dycAAAT1NfTVVURVgAAAAA
c3RydWN0IG9zX211dGV4AE9TX1NFTQAAc3RydWN0IG9zX3NlbQAAAE9TX1BFTkRfT0JKAHN0cnVj
dCBvc19wZW5kX29iagAAT1NfUEVORF9EQVRBAAAAAHN0cnVjdCBvc19wZW5kX2RhdGEAT1NfUEVO
RF9MSVNUAAAAAHN0cnVjdCBvc19wZW5kX2xpc3QAT1NfVENCAABzdHJ1Y3Qgb3NfdGNiAAAAAABB
KAAAQTAAAAAAAABBBAAAQRQAAAAAAABA4AAAQPAAAAAAAABAwAAAQMwAAAAAAABAqAAAQLAAAAAA
AABAjAAAQJgAAAAAAABAbAAAQHgAAAAAAABAWAAAQGAAAAAAAABAPAAAQEgAAAAAAABAJAAAQCwA
AAAAAABADAAAQBQAAAAAAAA/9AAAP/wAAAAAPHRhc2s+AABUQVNLLlRhc2sgJXgAAAAAVEFTSy5U
QVNLAAAAJTNkLgAAAABydW5uaW5nAHJlYWR5AAAAZGVsYXllZABwZW5kaW5nAHBlbmQrdGltZW91
dAAAAABzdXNwZW5kZWQAAABkbHkrc3VzcGVuZABwZW5kK3N1c3BlbmQAAAAAcGVuZCt0bytzdXNw
AAAAAGRlbGV0ZWQAKCUyeCkAAABub3RoaW5nAGZsYWcgAAAAdGFza19xIABtdWx0aSAAAG11dGV4
IAAAcXVldWUgAABzZW0gAAAAAHRhc2tfc2VtIAAAACglZCkgAAAAJTZkLgAAAABUYXNrIGVudHJ5
ICAgICAgICAgICAgICAgICAgYXJndW1lbnQKAAAARGF0YS5MaXN0ICV4AAAAACAgJTh4CgoAUGVy
Zm9ybWFuY2U6CgAAAENwdVVzYWdlICBDdHhTd0N0ciAgAAAAAEludERpc1RpbWVNYXggIABTY2hl
ZExvY2tUaW1lTWF4ICAAACAgJTNkJSUgICAgIAAAAAAlNWQuICAAACAgICAgICU1ZHVzICAAAAAg
ICAgICAgICAlNWR1cyAgAAAAAFN0YWNrOgoAICBGcmVlICAgIFVzZWQgICAgAABTaXplICAgIAAA
AAAlNWQuICAlNWQuICAAAAAAJTVkLgoKAABUYXNrIFF1ZXVlOgoAAAAAICBTaXplICBFbnRyaWVz
ICAgIEVudHJpZXNNYXggIABNc2dTZW50VGltZSAgTXNnU2VudFRpbWVNYXgAJTVkLiAgJTVkLiAg
ICAgICAgJTVkLiAAICAgICAgJTVkLiAgICAgICAgICAlNWQuAAAAAFRhc2sgU2VtYXBob3JlOgoA
AAAAIFNlbUN0ciAgAAAAU2lnbmFsVGltZSAgU2lnbmFsVGltZU1heAAAACAgICAlNWQuICAgICAg
ICAgJTVkLgAAAENvbnRleHQ6CgAAAHIudGFzayAleAAAAGNvbnRleHQAci50YXNrAABjdXJyZW50
ACAKCgBtYWdpYyAgICAAAABuYW1lICAgICAgICAgICAgICAgIAAAAABwcmlvAAAAAHN0YXRlICAg
ICAgICAAAABwZW5kaW5nIG9uICAgAAAAdGltZW91dABTb3JyeTogQ291bGRuJ3QgZ2V0IHN5bWJv
bCBhZGRyZXNzZXMAAAAAVEFTSwAAAABUAAAAVGFzawAAAABAKD0pX19SVE9TX1VDT1MzX19UQVNL
X1QAAAAA///JcP//ybT//8nE///KDP//yhz//8os///KPP//ykz//8qM///K0P//yuD//8rw///L
AP//yxD//8sg///LMDxzZW0+AAAAVEFTSy5TRU1hcGhvcmUgJXgAAABUQVNLLlNFTQAAAABuYW1l
ICAgICAgICAAAAAAY291bnRlcgBwZW5kaW5nICAAAABTRU1BUEhPUkUAAABTRU0AU0VNYXBob3Jl
AAAAQCg9KV9fUlRPU19VQ09TM19fVEFTS19TRU0AADxtdXRleD4AVEFTSy5NVVRFWCAleAAAAFRB
U0suTVVURVgAAG93bmVyICAgIAAAAE1VVEVYAAAAQCg9KV9fUlRPU19VQ09TM19fVEFTS19NVVRF
WAAAAAA8ZmxhZz4AAFRBU0suZXZlbnRGTEFHICV4AAAAVEFTSy5GTEFHAAAAZmxhZ3MgICAgAAAA
RVZFTlRGTEFHAAAARkxBRwAAAABldmVudEZMQUcAAABAKD0pX19SVE9TX1VDT1MzX19UQVNLX0ZM
QUcAPHF1ZXVlPgBUQVNLLlF1ZXVlICV4AAAAVEFTSy5RAABtZXNzYWdlczoKAABhZGRyZXNzICAg
ICBzaXplICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgYXNjaWkKAAAAAERhdGEuZHVtcCAl
eAAAAAAlMnggAAAAACAgIAAuLi4gAAAAAGVudHJpZXMAc2l6ZSAgAABRVUVVRQAAAFF1ZXVlAAAA
QCg9KV9fUlRPU19VQ09TM19fVEFTS19RAAAAADxtZW1vcnk+AAAAAFRBU0suTUVNb3J5ICV4AABU
QVNLLk1FTQAAAABhZGRyZXNzICAAAABibGtzaXplICAAAAAjYmxvY2tzACAgdXNlZCAATUVNT1JZ
AABNRU0ATUVNb3J5AABAKD0pX19SVE9TX1VDT1MzX19UQVNLX01FTQAAPHRpbWVyPgBUQVNLLlRp
TWVSICV4AAAAVEFTSy5UTVIAAAAAdW51c2VkAABzdG9wcGVkAGNvbXBsZXRlZAAAAHBlcmlvZGlj
AAAAAG9uZS1zaG90AAAAAHN0YXRlICAgIAAAAHR5cGUgICAgIAAAAGRlbGF5IAAAcGVyaW9kAABy
ZW1haW4AAGNhbGxiYWNrIAAAAFRJTUVSAAAAVE1SAFRpTWVSAAAAQCg9KV9fUlRPU19VQ09TM19f
VEFTS19UTVIAAEFSTQBNVEQgVmVyc2lvbiB1Qy9PUy1JSUkgICVzICAlcwoKAG1hZ2ljICAgICAg
ICAgICAlOHggIAAAAHRhc2sgbGlzdCAgICAgICAlOHggIAAAAFRDQiBzaXplICAgICAgICAlOHgg
IAAAACAgICAgICAgICAlcwoAAABPU0RiZ19WZXJzaW9uTmJyAAAAAE9TIHZlcnNpb24gICAgICAl
OHggIAAAACU1ZC4gICAgAAAAAFRFU1QAAAAAYXJndW1lbnQgICAgICAgIHZhbHVlICAgICBjb250
ZW50ICAgc3ltYm9sAABwYXJhbWV0ZXIgMTogMHglOHggPSAlcwBtYWdpYwAAAG1hZ2ljc2l6ZQAA
AHVua25vd24gdG9waWMAAABUQVNLLkNPTkZJRwBfX1JUT1NfVUNPUzNfX0ZVTkMAAHRjYgBUQVNL
LlNUUlVDVABDUFVfU1RLAGdldENvcnRleE0zQ29udGV4dDogbWFnaWM9JTh4AAAAZ2V0Q29ydGV4
TTNDb250ZXh0OiBzcD0lOHgAAFBlbmRTVl9IYW5kbGVyAABnZXRDb3J0ZXhNM0NvbnRleHQ6IHJl
dD0lOHgAZ2V0Q29udGV4dDogbWFnaWM9JTh4AAAAT1NfQ1BVX1BlbmRTVkhhbmRsZXIAAAAAcjQA
AHI1AAByNgAAcjcAAHI4AAByOQAAcjEwAHIxMQByMAAAcjEAAHIyAAByMwAAcjEyAHIxNABwYwAA
eHBzcgAAAABwc3AAY3BzcgAAAAByOF91c3IAAHI5X3VzcgAAcjEwX3VzcgByMTFfdXNyAHIxMl91
c3IAcjE0X3N2YwByMTNfc3ZjAGhhcmR3YXJldGhyZWFkAAAtLS0gIFRBU0sgIG1hZ2ljID0gJTh4
AAAgIG5hbWUgPSAlcyAgLS0tAAAAAF9fUlRPU19VQ09TM19fQUwAAAAAX19SVE9TX1VDT1MzX19B
UwAAAABfX1JUT1NfVUNPUzNfX0FUAAAAAHVDL09TLUlJSQBEQVRBAAAAAgAAAAAAAEUsAAAAAAAA
AAMYSAAAAAQARAAAEXgAAAADAEgAAAAEAEQAABfEAABFVAAARVwAAEVgAABFaAAADOgAAETYAABE
5AAARPwAAEUEAABFFAAARSQAAAAAAAAAAgAAAAAAAEUsAAAAAAAAAAMVMgAAAAQApAAAGhAAAAAD
ADIAAAAEAKQAABqYAABGEAAARhwAAEYgAABGLAAAGKAAAETYAABF7AAARfwAAEYEAAAAAAAAAAIA
AAAAAABFLAAAAAAAAAADFTwAAAAEAPwAAB0MAAAAAwA8AAAABAD8AAAdlAAARngAAEZ4AABGeAAA
RoAAABuAAABE2AAARewAAEZsAABF/AAARgQAAAAAAAAAAgAAAAAAAEUsAAAAAAAAAAMVMgAAAAQB
WAAAH+wAAAADADIAAAAEAVgAACB0AABG1AAARuAAAEboAABG9AAAHnwAAETYAABF7AAARsgAAEYE
AAAAAAAAAAIAAAAAAABFLAAAAAAAAAADFTwAAAAEAbAAACNEAAAAAwAyAAAABAGwAAAl/AAAR6gA
AD2oAABHsAAAR7gAACFcAABE2AAARewAAEeYAABHoAAARgQAAAAAAAAAAgAAAAAAAEUsAAAAAAAA
AAMVPAAAAAQCDAAAKKwAAAADADwAAAAEAgwAACk0AABIJAAASCwAAEgwAABIOAAAJrgAAETYAABF
7AAAR/wAAEgIAABIFAAASBwAAAAAAAAAAgAAAAAAAEUsAAAAAAAAAAMVWgAAAAQCbAAALNwAAAAD
AFoAAAAEAmwAAC1kAABI6AAASPAAAEj0AABI/AAAKhwAAETYAABF7AAASKwAAEi4AABIxAAASMwA
AEjUAABI3AAAAAAAAAABDDwAAAAASdQAAC6EAABJzAAAScwAAERgAABEYAAALkwAAEo8AAAAAwAA
ABcAAAAAAABKSAAAMCwAAEpgAAAABwAAABcAAAAAAABKSAAAMOwAAEtUAAAAAAAAAAQAAEssAAAA
AAAAAAQAAEswAAAAAAAAAAQAAEs0AAAAAAAAAAQAAEs4AAAAAAAAAAQAAEsMAAAAAAAAAAQAAEsQ
AAAAAAAAAAQAAEsUAAAAAAAAAAQAAEsYAAAAAAAAAAQAAEtcAAAAAAAAAAQAAEtkAAAAAAAAAAQA
AEtsAAAAAAAAAAQAAEt0AAAAAAAAAAQAAEt8AAAAAAAAAAQAAEuEAAAAAAAAAAQAAEtEAAAAAAAA
AAQAAEuMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEsMAAAAAAAAAAQAAEsQAAAAAAAAAAQAAEsUAAAA
AAAAAAQAAEsYAAAAAAAAAAQAAEscAAAAAAAAAAQAAEsgAAAAAAAAAAQAAEskAAAAAAAAAAQAAEso
AAAAAAAAAAQAAEssAAAAAAAAAAQAAEswAAAAAAAAAAQAAEs0AAAAAAAAAAQAAEs4AAAAAAAAAAQA
AEs8AAAAAAAAAAQAAEtAAAAAAAAAAAQAAEtEAAAAAAAAAAQAAEtIAAAAAAAAAAQAAEtQAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAEuUAAAAAAAAAAAAAAAAAAAAAAAAAAAAADSwAAA1DAAAS9AAADSEAABL
5AAANZQAAEv4AAA2fAAARGAAAEwMAABJGAAAAABUMzJF
)
HELP.FILTER.Add rtosucos3
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: µC/OS-III specific menu
; @Description: -
; @Author: DIE
; @Copyright: (c) 1989-2014 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: ucos3.m 7861 2022-07-29 13:45:42Z amerkle $
NAME "TASK.&sMenuName"
IF !MENU.EXIST("TASK.&sMenuName")
(
add
menu
(
popup "&sHeader"
(
if y.exist(T32OUT)
(
menuitem "&RTOS Terminal" "TERM T32OUT 0"
separator
)
default
menuitem "Display &Tasks" "TASK.&(sInfix)Task"
menuitem "Display &Semaphores" "TASK.&(sInfix)SEMaphore"
menuitem "Display &Mutexes" "TASK.&(sInfix)Mutex"
menuitem "Display &Event Flags" "TASK.&(sInfix)eventFLAG"
menuitem "Display &Message Queues" "TASK.&(sInfix)Queue"
menuitem "Display &Memory Partitions" "TASK.&(sInfix)MEMory"
menuitem "Display &Timers" "TASK.&(sInfix)TiMeR"
separator
popup "&Stack Coverage"
(
menuitem "&List Stacks" "TASK.&(sInfix)STacK.view"
menuitem "Add Task" "TASK.&(sInfix)STacK.ADD"
menuitem "Remove Task" "TASK.&(sInfix)STacK.ReMove"
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 "&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 trace.flow()
(
Break.Delete /TraceEnable
Break.Set task.config(magic) /Write /TraceEnable
)
Trace.Init
)
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 trace.flow()
(
Break.Delete /TraceData
Break.Set task.config(magic) /Write /TraceData
)
Trace.Init
)
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]µC/OS RTOS Debugger Manual" "HELP __RTOS_UCOS_"
)
)
menu "task.&(sInfix)task"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)Task track.address()"
menuitem "Display TCB"
(
PRIVATE &address &struct
&address=address.offset(track.address())
&struct=task.struct(tcb)
Var.View %Open %String (&struct)*&address
)
menuitem "List Task Body"
(
PRIVATE &address &struct
&address=address.offset(track.address())
&struct=task.struct(tcb)
Data.List v.value(((&struct)*&address).TaskEntryAddr)
)
separator
menuitem "Display Stack Frame"
(
PRIVATE &address
&address=address.offset(track.address())
Var.Frame /Locals /Caller /Task &address
)
menuitem "Switch Context" "Register.TASK address.offset(track.address())"
separator
menuitem "Add to Stack Cov" "TASK.&(sInfix)STK.ADD address.offset(track.address())"
menuitem "Rm from Stack Cov" "TASK.&(sInfix)STK.RM address.offset(track.address())"
separator
menuitem "Dump TCB"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.&(sInfix)sem"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)SEMaphore track.address()"
menuitem "Display Semaphore struct"
(
PRIVATE &address
&address=address.offset(track.address())
v.v %m (struct os_sem*)&address
)
menuitem "Dump Semaphore"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.&(sInfix)mutex"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)MUTEX track.address()"
menuitem "Display Mutex struct"
(
PRIVATE &address
&address=address.offset(track.address())
v.v %m (struct os_mutex*)&address
)
menuitem "Dump Mutex"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.&(sInfix)flag"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)eventFLAG track.address()"
menuitem "Display Event Flag struct"
(
PRIVATE &address
&address=address.offset(track.address())
v.v %m (struct os_flag_grp*)&address
)
menuitem "Dump Event Flag"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.&(sInfix)q"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)Queue track.address()"
menuitem "Display Queue struct"
(
PRIVATE &address
&address=address.offset(track.address())
v.v %m (struct os_q*)&address
)
menuitem "Dump Queue"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.&(sInfix)mem"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)MEMory track.address()"
menuitem "Display Memory Partition struct"
(
PRIVATE &address
&address=address.offset(track.address())
v.v %m (struct os_mem*)&address
)
menuitem "Dump Memory Partition"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.&(sInfix)tmr"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)TiMeR track.address()"
menuitem "Display Timer struct"
(
PRIVATE &address
&address=address.offset(track.address())
v.v %m (struct os_tmr*)&address
)
menuitem "Dump Timer"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
)
)
)
PMACRO.UNLOCK
RETURN
)
autoload_32bit: ;(options)
(
PARAMETERS &sOptions
RETURN
)
extension_64bit: ; (options)
(
PARAMETERS &sParameters &sOptions
EXTension.LOAD &sParameters &sOptions
(
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
fIIQCE6AACA4QAgDfIIQCE6AACA4QAoBfIIQCE6AACA4QAoCfIIQCE6AACA4QAoUfIIQCE6AACA4
QAsDfIIQCE6AACA4QAsEfIIQCE6AACC+AgMEAAAABQBAVkVSU0lPTi1JTkZPQAAxMDE5NAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ9IAAAfoAAAABgAAAA0AAAAAAAAAAAAAAABodHRwczov
L3N2bi5pbnRlcm4ubGF1dGVyYmFjaC5jb20vc3ZuL2tlcm5lbHNyYy9icmFuY2hlcy9uaWdodGx5
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAGh0dHBzOi8vc3ZuLmludGVybi5sYXV0ZXJiYWNoLmNvbS9zdm4va2VybmVsc3JjAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAYmF1bWVpc3RlcgAAAAAAAGVkay1saW51eDY0Yml0LTcAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHQ0MgOS41LjAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAB+gAAAAGAAAADQAAAE4AACfSAAAH6AAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAABRSp1Q09T
LUlJSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAgAAAAT1NUQ0JDdXJQdHIAISF1Q09TIHN5bWJvbHMgbWlzc2luZwAAT1NUYXNr
RGJnTGlzdFB0cgAAAAAhIXVDT1MgREJHX0VOIG1pc3NpbmcAAAAhIXVDT1MgVENCIHN0cnVjdHVy
ZSBtaXNzaW5nAAAAAC5TdGtQdHIALk9wdAAAAAAuTmFtZVB0cgAAAAAuU3RrQmFzZVB0cgAuVGFz
a0VudHJ5QWRkcgAALlRhc2tFbnRyeUFyZwAAAC5QZW5kRGF0YVRibFB0cgAuUGVuZERhdGFUYmxF
bnRyaWVzAC5QZW5kTmV4dFB0cgAAAAAuUGVuZE9ialB0cgAuTXNnUQAAAC5Nc2dRUGVuZFRpbWUA
AAAuTXNnUVBlbmRUaW1lTWF4AAAAAC5TZW1DdHIALlNlbVBlbmRUaW1lAAAAAC5TZW1QZW5kVGlt
ZU1heAAuU3RrU2l6ZQAAAAAuU3RrVXNlZAAAAAAuU3RrRnJlZQAAAAAuVGlja1JlbWFpbgAuQ1BV
VXNhZ2UAAAAuQ3R4U3dDdHIAAAAuSW50RGlzVGltZU1heAAALlNjaGVkTG9ja1RpbWVNYXgAAAAu
UGVuZE9uAC5UYXNrU3RhdGUAAC5QcmlvAAAALkRiZ05leHRQdHIALk5ickVudHJpZXMALk5leHRQ
dHIAAAAALlRDQlB0cgBPU1NlbURiZ0xpc3RQdHIALlBlbmRMaXN0AAAALkN0cgAAAABPU011dGV4
RGJnTGlzdFB0cgAAAC5Pd25lclRDQlB0cgAAAAAuT3duZXJOZXN0aW5nQ3RyAAAAAE9TRmxhZ0Ri
Z0xpc3RQdHIAAAAALkZsYWdzAABPU1FEYmdMaXN0UHRyAAAALk91dFB0cgAuTmJyRW50cmllc1Np
emUALk5ickVudHJpZXNNYXgAAC5Nc2dQdHIALk1zZ1NpemUAAAAAT1NNZW1EYmdMaXN0UHRyAC5B
ZGRyUHRyAAAAAC5CbGtTaXplAAAAAC5OYnJNYXgALk5ickZyZWUAAAAAT1NUbXJEYmdMaXN0UHRy
AC5DYWxsYmFja1B0cgAAAAAuUmVtYWluAC5EbHkAAAAALlBlcmlvZAAuU3RhdGUAAC0AAAAlMTZ4
AAAAACwgAABPU19UTVIAAHN0cnVjdCBvc190bXIAAABPU19NRU0AAHN0cnVjdCBvc19tZW0AAABP
U19NU0cAAHN0cnVjdCBvc19tc2cAAABPU19NU0dfUQAAAABzdHJ1Y3Qgb3NfbXNnX3EAT1NfUQAA
AABzdHJ1Y3Qgb3NfcQBPU19GTEFHX0dSUABzdHJ1Y3Qgb3NfZmxhZ19ncnAAAE9TX01VVEVYAAAA
AHN0cnVjdCBvc19tdXRleABPU19TRU0AAHN0cnVjdCBvc19zZW0AAABPU19QRU5EX09CSgBzdHJ1
Y3Qgb3NfcGVuZF9vYmoAAE9TX1BFTkRfREFUQQAAAABzdHJ1Y3Qgb3NfcGVuZF9kYXRhAE9TX1BF
TkRfTElTVAAAAABzdHJ1Y3Qgb3NfcGVuZF9saXN0AE9TX1RDQgAAc3RydWN0IG9zX3RjYgAAAAAA
RywAAEc0AAAAAAAARwgAAEcYAAAAAAAARuQAAEb0AAAAAAAARsQAAEbQAAAAAAAARqwAAEa0AAAA
AAAARpAAAEacAAAAAAAARnAAAEZ8AAAAAAAARlwAAEZkAAAAAAAARkAAAEZMAAAAAAAARigAAEYw
AAAAAAAARhAAAEYYAAAAAAAARfgAAEYAAAAAADx0YXNrPgAAVEFTSy5UYXNrICV4AAAAAFRBU0su
VEFTSwAAACUzZC4AAAAAcnVubmluZwByZWFkeQAAAGRlbGF5ZWQAcGVuZGluZwBwZW5kK3RpbWVv
dXQAAAAAc3VzcGVuZGVkAAAAZGx5K3N1c3BlbmQAcGVuZCtzdXNwZW5kAAAAAHBlbmQrdG8rc3Vz
cAAAAABkZWxldGVkACglMngpAAAAbm90aGluZwBmbGFnIAAAAHRhc2tfcSAAbXVsdGkgAABtdXRl
eCAAAHF1ZXVlIAAAc2VtIAAAAAB0YXNrX3NlbSAAAAAoJWQpIAAAACU2ZC4AAAAAVGFzayBlbnRy
eSAgICAgICAgICAgICAgICAgIGFyZ3VtZW50CgAAAERhdGEuTGlzdCAleAAAAAAgICU4eAoKAFBl
cmZvcm1hbmNlOgoAAABDcHVVc2FnZSAgQ3R4U3dDdHIgIAAAAABJbnREaXNUaW1lTWF4ICAAU2No
ZWRMb2NrVGltZU1heCAgAAAgICUzZCUlICAgICAAAAAAJTVkLiAgAAAgICAgICAlNWR1cyAgAAAA
ICAgICAgICAgJTVkdXMgIAAAAABTdGFjazoKACAgRnJlZSAgICBVc2VkICAgIAAAU2l6ZSAgICAA
AAAAJTVkLiAgJTVkLiAgAAAAACU1ZC4KCgAAVGFzayBRdWV1ZToKAAAAACAgU2l6ZSAgRW50cmll
cyAgICBFbnRyaWVzTWF4ICAATXNnU2VudFRpbWUgIE1zZ1NlbnRUaW1lTWF4ACU1ZC4gICU1ZC4g
ICAgICAgICU1ZC4gACAgICAgICU1ZC4gICAgICAgICAgJTVkLgAAAABUYXNrIFNlbWFwaG9yZToK
AAAAACBTZW1DdHIgIAAAAFNpZ25hbFRpbWUgIFNpZ25hbFRpbWVNYXgAAAAgICAgJTVkLiAgICAg
ICAgICU1ZC4AAABDb250ZXh0OgoAAAByLnRhc2sgJXgAAABjb250ZXh0AHIudGFzawAAY3VycmVu
dAAgCgoAbWFnaWMgICAgICAgICAgIAAAAABuYW1lICAgICAgICAgICAgICAgIAAAAABwcmlvAAAA
AHN0YXRlICAgICAgICAAAABwZW5kaW5nIG9uICAgAAAAdGltZW91dABTb3JyeTogQ291bGRuJ3Qg
Z2V0IHN5bWJvbCBhZGRyZXNzZXMAAAAAVEFTSwAAAABUAAAAVGFzawAAAABAKD0pX19SVE9TX1VD
T1MzX19UQVNLX1QAAAAA///EyP//xRD//8Ug///FaP//xXj//8WI///FmP//xaj//8X0///GOP//
xkj//8ZY///GaP//xnj//8aI///GmDxzZW0+AAAAVEFTSy5TRU1hcGhvcmUgJXgAAABUQVNLLlNF
TQAAAABuYW1lICAgICAgICAAAAAAY291bnRlcgBwZW5kaW5nICAAAABTRU1BUEhPUkUAAABTRU0A
U0VNYXBob3JlAAAAQCg9KV9fUlRPU19VQ09TM19fVEFTS19TRU0AADxtdXRleD4AVEFTSy5NVVRF
WCAleAAAAFRBU0suTVVURVgAAG93bmVyICAgIAAAAE1VVEVYAAAAQCg9KV9fUlRPU19VQ09TM19f
VEFTS19NVVRFWAAAAAA8ZmxhZz4AAFRBU0suZXZlbnRGTEFHICV4AAAAVEFTSy5GTEFHAAAAZmxh
Z3MgICAgAAAARVZFTlRGTEFHAAAARkxBRwAAAABldmVudEZMQUcAAABAKD0pX19SVE9TX1VDT1Mz
X19UQVNLX0ZMQUcAPHF1ZXVlPgBUQVNLLlF1ZXVlICV4AAAAVEFTSy5RAABtZXNzYWdlczoKAABh
ZGRyZXNzICAgICAgICAgICAgc2l6ZSAgY29udGVudCAgICAgICAgICAgICAgICAgICAgIGFzY2lp
CgBEYXRhLmR1bXAgJXgAAAAAJTJ4IAAAAAAgICAALi4uIAAAAABlbnRyaWVzAHNpemUgIAAAUVVF
VUUAAABRdWV1ZQAAAEAoPSlfX1JUT1NfVUNPUzNfX1RBU0tfUQAAAAA8bWVtb3J5PgAAAABUQVNL
Lk1FTW9yeSAleAAAVEFTSy5NRU0AAAAAJTh4AGFkZHJlc3MgICAgICAgICAAAAAAYmxrc2l6ZSAg
AAAAI2Jsb2NrcwAgIHVzZWQgAE1FTU9SWQAATUVNAE1FTW9yeQAAQCg9KV9fUlRPU19VQ09TM19f
VEFTS19NRU0AADx0aW1lcj4AVEFTSy5UaU1lUiAleAAAAFRBU0suVE1SAAAAAHVudXNlZAAAc3Rv
cHBlZABjb21wbGV0ZWQAAABwZXJpb2RpYwAAAABvbmUtc2hvdAAAAABzdGF0ZSAgICAAAAB0eXBl
ICAgICAAAABkZWxheSAAAHBlcmlvZAAAcmVtYWluAABjYWxsYmFjayAAAABUSU1FUgAAAFRNUgBU
aU1lUgAAAEAoPSlfX1JUT1NfVUNPUzNfX1RBU0tfVE1SAABBUk02NAAAAE1URCBWZXJzaW9uIHVD
L09TLUlJSSAgJXMgICVzCgoAbWFnaWMgICAgICAgICAgICUxNnggIAAAdGFzayBsaXN0ICAgICAg
ICUxNnggIAAAVENCIHNpemUgICAgICAgICU4eCAgAAAAICAgICAgICAgICVzCgAAAE9TRGJnX1Zl
cnNpb25OYnIAAAAAT1MgdmVyc2lvbiAgICAgICUxNnggIAAAJTVkLiAgICAAAAAAVEVTVAAAAABh
cmd1bWVudCAgICAgICAgdmFsdWUgICAgIGNvbnRlbnQgICBzeW1ib2wAAHBhcmFtZXRlciAxOiAw
eCUxNnggPSAlcwAAAABtYWdpYwAAAG1hZ2ljc2l6ZQAAAHVua25vd24gdG9waWMAAABUQVNLLkNP
TkZJRwBfX1JUT1NfVUNPUzNfX0ZVTkMAAHRjYgBUQVNLLlNUUlVDVABDUFVfU1RLAGdldENvbnRl
eHQ6IG1hZ2ljPSUxNngAAGNwc3IAAAAAeDMwAGVscl9lbDEAZWxyX2VsMwB4MgAAeDMAAHg0AAB4
NQAAeDYAAHg3AAB4OAAAeDkAAHgxMAB4MTEAeDEyAHgxMwB4MTQAeDE1AHgxNgB4MTcAeDE4AHgx
OQB4MjAAeDIxAHgyMgB4MjMAeDI0AHgyNQB4MjYAeDI3AHgyOAB4MjkAeDAAAHgxAABwYwAAc3Bf
ZWwxAABzcF9lbDMAAGhhcmR3YXJldGhyZWFkAAAtLS0gIFRBU0sgIG1hZ2ljID0gJTE2eAAgIG5h
bWUgPSAlcyAgLS0tAAAAAF9fUlRPU19VQ09TM19fQUwAAAAAX19SVE9TX1VDT1MzX19BUwAAAABf
X1JUT1NfVUNPUzNfX0FUAAAAAHVDL09TLUlJSQBEQVRBAAAAAgAAAAAAAEs4AAAAAAAAAAMYUAAA
AAQARAAAEwwAAAADAFAAAAAEAEQAABnwAABLYAAAS2gAAEtsAABLdAAADhgAAErcAABK8AAASwgA
AEsQAABLIAAASzAAAAAAAAAAAgAAAAAAAEs4AAAAAAAAAAMVPAAAAAQApAAAHKgAAAADADwAAAAE
AKQAAB1IAABMHAAATCgAAEwsAABMOAAAGwgAAErcAABL+AAATAgAAEwQAAAAAAAAAAIAAAAAAABL
OAAAAAAAAAADFUYAAAAEAPwAACAUAAAAAwBGAAAABAD8AAAgtAAATIQAAEyEAABMhAAATIwAAB5Y
AABK3AAAS/gAAEx4AABMCAAATBAAAAAAAAAAAgAAAAAAAEs4AAAAAAAAAAMVPAAAAAQBWAAAI2QA
AAADADwAAAAEAVgAACQEAABM4AAATOwAAEz0AABNAAAAIcQAAErcAABL+AAATNQAAEwQAAAAAAAA
AAIAAAAAAABLOAAAAAAAAAADFUYAAAAEAbAAACcwAAAAAwA8AAAABAGwAAAqTAAATbgAAEOkAABN
wAAATcgAACUUAABK3AAAS/gAAE2oAABNsAAATBAAAAAAAAAAAgAAAAAAAEs4AAAAAAAAAAMVUAAA
AAQCDAAALWQAAAADAFAAAAAEAgwAAC4EAABOQAAATkgAAE5MAABOVAAAKzAAAErcAABL+AAAThAA
AE4kAABOMAAATjgAAAAAAAAAAgAAAAAAAEs4AAAAAAAAAAMVWgAAAAQCbAAAMiAAAAADAFoAAAAE
AmwAADLAAABPBAAATwwAAE8QAABPGAAALxQAAErcAABL+AAATsgAAE7UAABO4AAATugAAE7wAABO
+AAAAAAAAAABDDwAAAAAT/QAADQIAABP7AAAT+wAAEpkAABKZAAAM9AAAFBgAAAAAwAAABcAAAAA
AABQbAAANdwAAFCEAAAABwAAABcAAAAAAABQbAAANrAAAAAAAABQsAAAAAAAAAAAAAAAAAAAAAAA
AAAAAABQuAAAAAAAAAAAAAAAAAAAAAgAAAAAAABQvAAAAAAAAAAAAAAAAAAAAAgAAAAAAABQxAAA
AAAAAAAAAAAAAAAAAAgAAAAAAABQzAAAAAAAAAAAAAAAAAAAAAgAAAAAAABQ0AAAAAAAAAAAAAAA
AAAAAAgAAAAAAABQ1AAAAAAAAAAAAAAAAAAAAAgAAAAAAABQ2AAAAAAAAAAAAAAAAAAAAAgAAAAA
AABQ3AAAAAAAAAAAAAAAAAAAAAgAAAAAAABQ4AAAAAAAAAAAAAAAAAAAAAgAAAAAAABQ5AAAAAAA
AAAAAAAAAAAAAAgAAAAAAABQ6AAAAAAAAAAAAAAAAAAAAAgAAAAAAABQ7AAAAAAAAAAAAAAAAAAA
AAgAAAAAAABQ8AAAAAAAAAAAAAAAAAAAAAgAAAAAAABQ9AAAAAAAAAAAAAAAAAAAAAgAAAAAAABQ
+AAAAAAAAAAAAAAAAAAAAAgAAAAAAABQ/AAAAAAAAAAAAAAAAAAAAAgAAAAAAABRAAAAAAAAAAAA
AAAAAAAAAAgAAAAAAABRBAAAAAAAAAAAAAAAAAAAAAgAAAAAAABRCAAAAAAAAAAAAAAAAAAAAAgA
AAAAAABRDAAAAAAAAAAAAAAAAAAAAAgAAAAAAABREAAAAAAAAAAAAAAAAAAAAAgAAAAAAABRFAAA
AAAAAAAAAAAAAAAAAAgAAAAAAABRGAAAAAAAAAAAAAAAAAAAAAgAAAAAAABRHAAAAAAAAAAAAAAA
AAAAAAgAAAAAAABRIAAAAAAAAAAAAAAAAAAAAAgAAAAAAABRJAAAAAAAAAAAAAAAAAAAAAgAAAAA
AABRKAAAAAAAAAAAAAAAAAAAAAgAAAAAAABRLAAAAAAAAAAAAAAAAAAAAAgAAAAAAABRMAAAAAAA
AAAAAAAAAAAAAAgAAAAAAABRNAAAAAAAAAAAAAAAAAAAAAgAAAAAAABROAAAAAAAAAAAAAAAAAAA
AAgAAAAAAABRPAAAAAAAAAAAAAAAAAAAAAgAAAAAAABRQAAAAAAAAAAAAAAAAAAAAAgAAAAAAABR
RAAAAAAAAAAAAAAAAAAAAAgAAAAAAABRSAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRUAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRWAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA58AAAOmQAAFGUAAA5xAAAUagAADsAAABRvAAA
PDwAAEpkAABR0AAATzQAAAAAVDMyRQ==
)
HELP.FILTER.Add rtosucos3
RETURN
)
menu_64bit: ;(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: µC/OS-III specific menu
; @Description: -
; @Author: DIE
; @Copyright: (c) 1989-2014 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: ucos3.m 7861 2022-07-29 13:45:42Z amerkle $
NAME "TASK.&sMenuName"
IF !MENU.EXIST("TASK.&sMenuName")
(
add
menu
(
popup "&sHeader"
(
if y.exist(T32OUT)
(
menuitem "&RTOS Terminal" "TERM T32OUT 0"
separator
)
default
menuitem "Display &Tasks" "TASK.&(sInfix)Task"
menuitem "Display &Semaphores" "TASK.&(sInfix)SEMaphore"
menuitem "Display &Mutexes" "TASK.&(sInfix)Mutex"
menuitem "Display &Event Flags" "TASK.&(sInfix)eventFLAG"
menuitem "Display &Message Queues" "TASK.&(sInfix)Queue"
menuitem "Display &Memory Partitions" "TASK.&(sInfix)MEMory"
menuitem "Display &Timers" "TASK.&(sInfix)TiMeR"
separator
popup "&Stack Coverage"
(
menuitem "&List Stacks" "TASK.&(sInfix)STacK.view"
menuitem "Add Task" "TASK.&(sInfix)STacK.ADD"
menuitem "Remove Task" "TASK.&(sInfix)STacK.ReMove"
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 "&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 trace.flow()
(
Break.Delete /TraceEnable
Break.Set task.config(magic) /Write /TraceEnable
)
Trace.Init
)
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 trace.flow()
(
Break.Delete /TraceData
Break.Set task.config(magic) /Write /TraceData
)
Trace.Init
)
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]µC/OS RTOS Debugger Manual" "HELP __RTOS_UCOS_"
)
)
menu "task.&(sInfix)task"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)Task track.address()"
menuitem "Display TCB"
(
PRIVATE &address &struct
&address=address.offset(track.address())
&struct=task.struct(tcb)
Var.View %Open %String (&struct)*&address
)
menuitem "List Task Body"
(
PRIVATE &address &struct
&address=address.offset(track.address())
&struct=task.struct(tcb)
Data.List v.value(((&struct)*&address).TaskEntryAddr)
)
separator
menuitem "Display Stack Frame"
(
PRIVATE &address
&address=address.offset(track.address())
Var.Frame /Locals /Caller /Task &address
)
menuitem "Switch Context" "Register.TASK address.offset(track.address())"
separator
menuitem "Add to Stack Cov" "TASK.&(sInfix)STK.ADD address.offset(track.address())"
menuitem "Rm from Stack Cov" "TASK.&(sInfix)STK.RM address.offset(track.address())"
separator
menuitem "Dump TCB"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.&(sInfix)sem"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)SEMaphore track.address()"
menuitem "Display Semaphore struct"
(
PRIVATE &address
&address=address.offset(track.address())
v.v %m (struct os_sem*)&address
)
menuitem "Dump Semaphore"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.&(sInfix)mutex"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)MUTEX track.address()"
menuitem "Display Mutex struct"
(
PRIVATE &address
&address=address.offset(track.address())
v.v %m (struct os_mutex*)&address
)
menuitem "Dump Mutex"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.&(sInfix)flag"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)eventFLAG track.address()"
menuitem "Display Event Flag struct"
(
PRIVATE &address
&address=address.offset(track.address())
v.v %m (struct os_flag_grp*)&address
)
menuitem "Dump Event Flag"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.&(sInfix)q"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)Queue track.address()"
menuitem "Display Queue struct"
(
PRIVATE &address
&address=address.offset(track.address())
v.v %m (struct os_q*)&address
)
menuitem "Dump Queue"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.&(sInfix)mem"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)MEMory track.address()"
menuitem "Display Memory Partition struct"
(
PRIVATE &address
&address=address.offset(track.address())
v.v %m (struct os_mem*)&address
)
menuitem "Dump Memory Partition"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.&(sInfix)tmr"
(
default
menuitem "Display Detailed" "TASK.&(sInfix)TiMeR track.address()"
menuitem "Display Timer struct"
(
PRIVATE &address
&address=address.offset(track.address())
v.v %m (struct os_tmr*)&address
)
menuitem "Dump Timer"
(
PRIVATE &address
&address=address.offset(track.address())
Data.dump &address
)
)
)
)
)
PMACRO.UNLOCK
RETURN
)
autoload_64bit: ;(options)
(
PARAMETERS &sOptions
RETURN
)
execute_container_selection:
(
PARAMETERS &sParameters &sAccess &sMachine &sArguments
PRIVATE &ptrsize
IF !Var.EXIST(char*)
(
PRINT %WARNING "uC/OS-III: kernel symbol types not found, detect address width from CPU selection"
RETURN "0."
)
&ptrsize=Var.SIZEOF(char*)
IF &ptrsize==4.
(
PRINT "uC/OS-III: detected 32bit address size"
RETURN "32."
)
ELSE IF &ptrsize==8.
(
PRINT "uC/OS-III: detected 64bit address size"
RETURN "64."
)
ELSE
(
PRINT %WARNING "uC/OS-III: unknown kernel symbol type size, detect address width from CPU selection"
RETURN "0."
)
RETURN "-1."
)
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
)