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

1000 lines
47 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." "NuttX"
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="NuttX"
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="NuttX"
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="NuttX"
IF ("&sName"!="")
(
&sMachineName="&(sName)"
)
IF ("&sMachine"!="")
(
&sOptionMachine="/MACHINE &sMachine"
)
GOSUB menu_delete "&sMachineName"
GOSUB autoload_delete "&sOptionMachine"
)
ENDDO
extension_32bit: ; (options)
(
PARAMETERS &sParameters &sOptions
EXTension.LOAD &sParameters &sOptions
(
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
AAAAAAABPmROdXR0WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQ1BVLkZFQVRVUkUoImZwdSIpAABnX2Fzc2lnbmVk
dGFza3MAZ19hc3NpZ25lZF90YXNrcwAAAABnX3BpZGhhc2gAAABnX25waWRoYXNoAABzdHJ1Y3Qg
dGNiX3MAAAAAcGlkaGFzaF90AAAAc3RydWN0IHBpZGhhc2hfcwAAAABnX2J1aWx0aW5zAABnX2J1
aWx0aW5fY291bnQAc3RydWN0IGJ1aWx0aW5fcwAAAAAuZmxpbmsAAC5waWQAAAAALnNjaGVkX3By
aW9yaXR5AC50YXNrX3N0YXRlAC5hZGpfc3RhY2tfc2l6ZQAuYWRqX3N0YWNrX3B0cgAALnN0YWNr
X2FsbG9jX3B0cgAAAAAuc3RhY2tfYmFzZV9wdHIALm5hbWUAAAAueGNwLnJlZ3MAAAAucHJpb3Jp
dHkAAAAuc3RhY2tzaXplAAAubWFpbgAAAGdfdGNiaW5mbwAAAC5iYXNpY19udW0AAC50b3RhbF9u
dW0AAC5yZWdfb2ZmAAAAAGdfaWRsZV90b3BzdGFjawAhIU51dHRYIGtlcm5lbCBzeW1ib2xzIG5v
dCBmb3VuZAAAAAAhIUhhcmR3YXJlIHRocmVhZCBleGNlZWRzIG51bWJlciBvZiBjb25maWd1cmVk
IENQVXMhAAAAAGdfcmVhZHl0b3J1bgAAAABUQVNLLlRhc2sgJXgAAAAAVEFTSy5UAAAlOHgAJWQu
AHRzdGF0ZV90AAAAAFRTVEFURV8AVEFTS18AAAAoJTJ4KQAAACUzZC4AAAAACgAAAG1hZ2ljICAg
IAAAAGlkICAAAAAAc3RhdGUgICAgICAAcHJpbwAAAABuYW1lICAgAFRBU0sAAAAAVAAAAFRhc2sA
AAAAQCg9KV9fUlRPU19OVVRUWF9fVEFTS19UAAAAAERhdGEuTGlzdCAleAAAAABuYW1lICAgICAg
ICAgICAgICAgICAgICAgICAgAAAAAHByaW9yaXR5IAAAAHN0YWNrc2l6ZQAAAG1haW4gYWRkcgAA
AEJVSUxUSU5BUFAAAEJMVEFQUAAAQnVpTFRpbkFQUAAAQCg9KV9fUlRPU19OVVRUWF9fVEFTS19C
TFRBUFAAAAAlQGNNVEQgVmVyc2lvbiAgJXMgICVzICAlMDJ1LiUwMnUuJTA0dSAoQnVpbGQgJXMp
CgoAbWFnaWMgICAgICAgICAgICAlOHggICU4eCAgAHhjcF9yZWdzIHNpemUgJTh4CgAAVEVTVAAA
AABhcmd1bWVudCAgICAgICAgIHZhbHVlICAgICBjb250ZW50ICAgc3ltYm9sAC0tLSAgVEFTSyAg
bWFnaWMgPSAlOHgAACAgaWQgPSAlZC4AACAgbmFtZSA9ICVzACAgLS0tAAAAX19SVE9TX05VVFRY
X19BTAAAAABfX1JUT1NfTlVUVFhfX0FTAAAAAGV4Y2VwdGlvbl9jb21tb24AAAAAUEMAAE1TUABS
MAAAQ09OVFJPTABzaXplIHhjcF9yZWdzICU4eCAKACEhc3ltYm9sIGBnX3RjYmluZm9gIG1pc3Np
bmcgLSBjaGVjayBDT05GSUdfREVCVUdfVENCSU5GTwAAACEhTnV0dFg6IEluY29uc2lzdGVudCBU
Q0JJTkZPIGRldGVjdGVkLiBDb250YWN0IHN1cHBvcnRAbGF1dGVyYmFjaC5jb20gLgAAAABDT1JU
RVhNAENPUlRFWEEAQ09SVEVYUgBtc3AAcHJpbWFzawByNAAAcjUAAHI2AAByNwAAcjgAAHI5AABy
MTAAcjExAHIwAAByMQAAcjIAAHIzAAByMTIAcjE0AHBjAAB4cHNyAAAAAHIxMwBjcHNyAAAAAGhh
cmR3YXJldGhyZWFkAABwYXJhbWV0ZXIgMTogMHglOHggPSAlcwBtYWdpYwAAAG1hZ2ljc2l6ZQAA
AHVua25vd24gdG9waWMAAABUQVNLLkNPTkZJRwBfX1JUT1NfTlVUVFhfX0ZVTkMAAE51dHRYAAAA
QVJNAP//7Qz//+6k///teP//7qT//+6k///upP//7qT//+3g///upP//7pT//+8sREFUQQAALPgA
AC0EAAAtDAAALRgAAC0gAAAAAAAAAAMALQAAAAQAAAAAB1gAAC0oAAAtMAAALTQAAC08AAAFQAAA
AAMAXwAAAAQAYAAACdwAAC2sAAAtuAAALcAAAC3MAAAIiAAALPgAAC1oAAAtiAAALZQAAC2gAAAA
AAAAAAEAPAAAAAAuWAAACtAAAC5QAAAuUAAALYQAAC2EAAAKnAAAD2wAAA/IAAAuvAAAD0QAAC7Q
AAAQlAAAL8AAAAAAAAAABAAAL8QAAAAAAAAABAAAL8wAAAAAAAAABAAAL9AAAAAAAAAABAAAL9QA
AAAAAAAABAAAL9gAAAAAAAAABAAAL9wAAAAAAAAABAAAL+AAAAAAAAAABAAAL+QAAAAAAAAABAAA
L+gAAAAAAAAABAAAL+wAAAAAAAAABAAAL/AAAAAAAAAABAAAL/QAAAAAAAAABAAAL/gAAAAAAAAA
BAAAL/wAAAAAAAAABAAAMAAAAAAAAAAABAAAMAQAAAAAAAAABAAAMAgAAAAAAAAABAAAAAAAAAAA
AAAAAAAAL+wAAAAAAAAABAAAL/AAAAAAAAAABAAAL/QAAAAAAAAABAAAL/gAAAAAAAAABAAAL8wA
AAAAAAAABAAAL9AAAAAAAAAABAAAL9QAAAAAAAAABAAAL9gAAAAAAAAABAAAL9wAAAAAAAAABAAA
L+AAAAAAAAAABAAAL+QAAAAAAAAABAAAL+gAAAAAAAAABAAAL/wAAAAAAAAABAAAMBAAAAAAAAAA
BAAAMAAAAAAAAAAABAAAMAQAAAAAAAAABAAAMBQAAAAAAAAABAAAAAAAAAAAAAAAAAAAL+wAAAAA
AAAABAAAL/AAAAAAAAAABAAAL/QAAAAAAAAABAAAL/gAAAAAAAAABAAAL8wAAAAAAAAABAAAL9AA
AAAAAAAABAAAL9QAAAAAAAAABAAAL9gAAAAAAAAABAAAL9wAAAAAAAAABAAAL+AAAAAAAAAABAAA
L+QAAAAAAAAABAAAL+gAAAAAAAAABAAAL/wAAAAAAAAABAAAMBAAAAAAAAAABAAAMAAAAAAAAAAA
BAAAMAQAAAAAAAAABAAAMBQAAAAAAAAABAAAAAAAAAAAAAAAAAAAMBwAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAMGgAAAADAAAAFwAAAAAAADB0AAAXzAAALYQAADCIAAAwkAAAAABUMzJF
)
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: NuttX specific menu
; @Description: -
; @Author: DIE
; @Copyright: (c) 1989-2022 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: nuttx.m 9021 2023-05-15 13:22:45Z amerkle $
NAME "TASK.&sMenuName"
IF !MENU.EXIST("TASK.&sMenuName")
(
ADD
MENU
(
POPUP "&sHeader"
(
default
menuitem "Display &Tasks" "TASK.&(sInfix)Task"
menuitem "Display &Builtin Applications" "TASK.&(sInfix)BuiLTinApp"
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 "&Stack Coverage"
(
menuitem "&List Stacks" "TASK.&(sInfix)STacK.view"
menuitem "Add Task" "TASK.&(sInfix)STacK.ADD"
menuitem "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 "&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 "&Help"
(
MENUITEM "[:manual]OS Awareness Manual NuttX" "HELP __RTOS_NUTTX_"
)
)
menu "task.&(sInfix)t"
(
default
menuitem "Display task struct"
(
PRIVATE &pAddress
&pAddress=TRACK.ADDRESS()
Var.View %Open %String (struct tcb_s *)(&pAddress)
)
separator
menuitem "Display Stack Frame"
(
PRIVATE &nAddress
&nAddress=ADDRESS.OFFSET(TRACK.ADDRESS())
Var.Frame /Locals /Caller /TASK &nAddress
)
menuitem "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 task entry"
(
PRIVATE &pAddress
&pAddress=TRACK.ADDRESS()
Data.dump &pAddress /Long /DIALOG
)
)
)
)
)
PMACRO.UNLOCK
RETURN
)
autoload_32bit: ;(options)
(
PARAMETERS &sOptions
RETURN
)
extension_64bit: ; (options)
(
PARAMETERS &sParameters &sOptions
EXTension.LOAD &sParameters &sOptions
(
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
YXV0ZXJiYWNoLmNvbS9zdm4va2VybmVsc3JjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYmF1bWVp
c3RlcgAAAAAAAGVkay1saW51eDY0Yml0LTcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABHQ0MgOS41LjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+gAAAAGAAAADQAAAE4AACfSAAAH6AAA
AAYAAAAAAAAAAAAAAAAAAAAAAAAAAAABPmROdXR0WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQ1BVLkZFQVRVUkUo
ImZwdSIpAABnX2Fzc2lnbmVkdGFza3MAZ19hc3NpZ25lZF90YXNrcwAAAABnX3BpZGhhc2gAAABn
X25waWRoYXNoAABzdHJ1Y3QgdGNiX3MAAAAAcGlkaGFzaF90AAAAc3RydWN0IHBpZGhhc2hfcwAA
AABnX2J1aWx0aW5zAABnX2J1aWx0aW5fY291bnQAc3RydWN0IGJ1aWx0aW5fcwAAAAAuZmxpbmsA
AC5waWQAAAAALnNjaGVkX3ByaW9yaXR5AC50YXNrX3N0YXRlAC5hZGpfc3RhY2tfc2l6ZQAuYWRq
X3N0YWNrX3B0cgAALnN0YWNrX2FsbG9jX3B0cgAAAAAuc3RhY2tfYmFzZV9wdHIALm5hbWUAAAAu
eGNwLnJlZ3MAAAAucHJpb3JpdHkAAAAuc3RhY2tzaXplAAAubWFpbgAAAGdfdGNiaW5mbwAAAC5i
YXNpY19udW0AAC50b3RhbF9udW0AAC5yZWdfb2ZmAAAAAGdfaWRsZV90b3BzdGFjawAhIU51dHRY
IGtlcm5lbCBzeW1ib2xzIG5vdCBmb3VuZAAAAAAhIUhhcmR3YXJlIHRocmVhZCBleGNlZWRzIG51
bWJlciBvZiBjb25maWd1cmVkIENQVXMhAAAAAGdfcmVhZHl0b3J1bgAAAABUQVNLLlRhc2sgJXgA
AAAAVEFTSy5UAAAlMTZ4AAAAACVkLgB0c3RhdGVfdAAAAABUU1RBVEVfAFRBU0tfAAAAKCUyeCkA
AAAlM2QuAAAAAAoAAABtYWdpYyAgICAgICAgICAgAAAAAGlkICAAAAAAc3RhdGUgICAgICAAcHJp
bwAAAABuYW1lICAgAFRBU0sAAAAAVAAAAFRhc2sAAAAAQCg9KV9fUlRPU19OVVRUWF9fVEFTS19U
AAAAACU4eABEYXRhLkxpc3QgJXgAAAAAbmFtZSAgICAgICAgICAgICAgICAgICAgICAgIAAAAABw
cmlvcml0eSAAAABzdGFja3NpemUAAABtYWluIGFkZHIAAABCVUlMVElOQVBQAABCTFRBUFAAAEJ1
aUxUaW5BUFAAAEAoPSlfX1JUT1NfTlVUVFhfX1RBU0tfQkxUQVBQAAAAJUBjTVREIFZlcnNpb24g
ICVzICAlcyAgJTAydS4lMDJ1LiUwNHUgKEJ1aWxkICVzKQoKAG1hZ2ljICAgICAgICAgICAgJTE2
eCAgJTE2eCAgAAAAeGNwX3JlZ3Mgc2l6ZSAlMTZ4CgBURVNUAAAAAGFyZ3VtZW50ICAgICAgICAg
dmFsdWUgICAgIGNvbnRlbnQgICBzeW1ib2wALS0tICBUQVNLICBtYWdpYyA9ICU4eAAAICBpZCA9
ICVkLgAAICBuYW1lID0gJXMAICAtLS0AAABfX1JUT1NfTlVUVFhfX0FMAAAAAF9fUlRPU19OVVRU
WF9fQVMAAAAAISFzeW1ib2wgYGdfdGNiaW5mb2AgbWlzc2luZyAtIGNoZWNrIENPTkZJR19ERUJV
R19UQ0JJTkZPAAAAISFOdXR0WDogSW5jb25zaXN0ZW50IFRDQklORk8gZGV0ZWN0ZWQuIENvbnRh
Y3Qgc3VwcG9ydEBsYXV0ZXJiYWNoLmNvbSAuAAAAAENPUlRFWEEAQ09SVEVYUgB4MAAAeDEAAHgy
AAB4MwAAeDQAAHg1AAB4NgAAeDcAAHg4AAB4OQAAeDEwAHgxMQB4MTIAeDEzAHgxNAB4MTUAeDE2
AHgxNwB4MTgAeDE5AHgyMAB4MjEAeDIyAHgyMwB4MjQAeDI1AHgyNgB4MjcAeDI4AHgyOQB4MzAA
c3AAAHBjAABoYXJkd2FyZXRocmVhZAAAcGFyYW1ldGVyIDE6IDB4JTh4ID0gJXMAbWFnaWMAAABt
YWdpY3NpemUAAAB1bmtub3duIHRvcGljAAAAVEFTSy5DT05GSUcAX19SVE9TX05VVFRYX19GVU5D
AABOdXR0WAAAAEFSTTY0AERBVEEAACAkAAAgOAAAIEAAACBMAAAgVAAAAAAAAAADADUAAAAEAAAA
AAgUAAAgXAAAIGQAACBoAAAgcAAABfQAAAADAGcAAAAEAGAAAAsgAAAg5AAAIPAAACD4AAAhBAAA
CagAACAkAAAgoAAAIMAAACDMAAAg2AAAAAAAAAABADwAAAAAIZQAAAw4AAAhjAAAIYwAACC8AAAg
vAAADAQAABIYAAASgAAAIfgAABHwAAAiDAAAE0wAAAAAAAAiuAAAAAAAAAAAAAAAAAAAAAgAAAAA
AAAivAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAiwAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAixAAAAAAA
AAAAAAAAAAAAAAgAAAAAAAAiyAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAizAAAAAAAAAAAAAAAAAAA
AAgAAAAAAAAi0AAAAAAAAAAAAAAAAAAAAAgAAAAAAAAi1AAAAAAAAAAAAAAAAAAAAAgAAAAAAAAi
2AAAAAAAAAAAAAAAAAAAAAgAAAAAAAAi3AAAAAAAAAAAAAAAAAAAAAgAAAAAAAAi4AAAAAAAAAAA
AAAAAAAAAAgAAAAAAAAi5AAAAAAAAAAAAAAAAAAAAAgAAAAAAAAi6AAAAAAAAAAAAAAAAAAAAAgA
AAAAAAAi7AAAAAAAAAAAAAAAAAAAAAgAAAAAAAAi8AAAAAAAAAAAAAAAAAAAAAgAAAAAAAAi9AAA
AAAAAAAAAAAAAAAAAAgAAAAAAAAi+AAAAAAAAAAAAAAAAAAAAAgAAAAAAAAi/AAAAAAAAAAAAAAA
AAAAAAgAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAjBAAAAAAAAAAAAAAAAAAAAAgAAAAA
AAAjCAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAjDAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAjEAAAAAAA
AAAAAAAAAAAAAAgAAAAAAAAjFAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAjGAAAAAAAAAAAAAAAAAAA
AAgAAAAAAAAjHAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAjIAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAj
JAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAjKAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAjLAAAAAAAAAAA
AAAAAAAAAAgAAAAAAAAjMAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAjNAAAAAAAAAAAAAAAAAAAAAgA
AAAAAAAjOAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjPAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjiAAAAAMAAAAXAAAA
AAAAI5QAABdQAAAgvAAAI6gAACOwAAAAAFQzMkU=
)
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: NuttX specific menu
; @Description: -
; @Author: DIE
; @Copyright: (c) 1989-2022 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: nuttx.m 9021 2023-05-15 13:22:45Z amerkle $
NAME "TASK.&sMenuName"
IF !MENU.EXIST("TASK.&sMenuName")
(
ADD
MENU
(
POPUP "&sHeader"
(
default
menuitem "Display &Tasks" "TASK.&(sInfix)Task"
menuitem "Display &Builtin Applications" "TASK.&(sInfix)BuiLTinApp"
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 "&Stack Coverage"
(
menuitem "&List Stacks" "TASK.&(sInfix)STacK.view"
menuitem "Add Task" "TASK.&(sInfix)STacK.ADD"
menuitem "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 "&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 "&Help"
(
MENUITEM "[:manual]OS Awareness Manual NuttX" "HELP __RTOS_NUTTX_"
)
)
menu "task.&(sInfix)t"
(
default
menuitem "Display task struct"
(
PRIVATE &pAddress
&pAddress=TRACK.ADDRESS()
Var.View %Open %String (struct tcb_s *)(&pAddress)
)
separator
menuitem "Display Stack Frame"
(
PRIVATE &nAddress
&nAddress=ADDRESS.OFFSET(TRACK.ADDRESS())
Var.Frame /Locals /Caller /TASK &nAddress
)
menuitem "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 task entry"
(
PRIVATE &pAddress
&pAddress=TRACK.ADDRESS()
Data.dump &pAddress /Long /DIALOG
)
)
)
)
)
PMACRO.UNLOCK
RETURN
)
autoload_64bit: ;(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
)