;@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." "embOS" 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="embOS" 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." "embOS" &nVariant ) ) ELSE IF (&bExtLoad) ( PRIVATE &sMachineName &sInfix &sOptionName &sOptionMachine &sInfix="" &sMachineName="embOS" 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." "embOS" &nVariant ) ) ELSE IF (&bCleanup) ( PRIVATE &sMachineName &sOptionMachine &sMachineName="embOS" IF ("&sName"!="") ( &sMachineName="&(sName)" ) IF ("&sMachine"!="") ( &sOptionMachine="/MACHINE &sMachine" ) IF STRing.SCAN(HELP.FILTER(),"rtosembos",0.)>=0. HELP.FILTER.Delete rtosembos GOSUB menu_delete "&sMachineName" GOSUB autoload_delete "&sOptionMachine" ) ENDDO extension_32bit: ; (options) ( PARAMETERS &sParameters &sOptions EXTension.LOAD &sParameters &sOptions ( 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+gAAAAGAAAADQAA AE4AACfSAAAH6AAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAABOCllbWJPUwAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAA QWxwaGEgQnJlYWtwb2ludHMgc2V0IG9uICVkIHRhc2sgc3RhdGUgd29yZHMAAAAATVREIFZlcnNp b24gICVzICAlcyAgJXMgIAoKAG1hZ2ljICAgICAgICAgICAgJTh4ICAAAApUYXNrIExpc3QgICAg ICAgICU4eCAgAApUQ0IgTGVuZ3RoICAgICAgICU4eCAgAApUaW1lciBMaXN0ICAgICAgICU4eCAg AApUaW1DQiBMZW5ndGggICAgICU4eCAgAApNQlhDQiBMZW5ndGggICAgICU4eCAgAC0tLSBUQVNL ID0gJXgAAAAsIAAAIC0tLQAAAABPU19HbG9iYWwAAABPU19HTE9CQUwAAABzdHJ1Y3QgT1NfR0xP QkFMX1NUUlVDVAAucEN1cnJlbnRUYXNrAAAALnBUYXNrAAAucFRpbWVyAC5wRXZlbnRSb290AC5w TXV0ZXhSb290AC5wU2VtYVJvb3QAAC5wUldMb2NrUm9vdAAAAAAucE1haWxib3hSb290AAAALnBR dWV1ZVJvb3QALnBPYmpOYW1lUm9vdAAAAE9TX3BDdXJyZW50VGFzawBPU19wVGFzawAAAABPU19U QVNLAHN0cnVjdCBPU19UQVNLX1NUUlVDVAAAAC5wTmV4dAAALlByaW9yaXR5AAAALlN0YXQAAAAu TmFtZQAAAC5zTmFtZQAALkV2ZW50cwAucFN0YWNrAC5TdGFja1NpemUAAC5wU3RhY2tCb3QAAC5w U3RhY2tCYXNlAC5UaW1lb3V0AAAAAC5UaW1lU2xpY2VSZW0AAAAuVGltZVNsaWNlUmVsb2FkAAAA AC5wV2FpdExpc3QAAE9TX3BUaW1lcgAAAE9TX1RJTUVSAAAAAHN0cnVjdCBPU190aW1lcgAuSG9v awAAAC5wZlRpbWVyUm91dGluZQAuVGltZQAAAC5QZXJpb2QALkFjdGl2ZQBPU19FVkVOVAAAAAAu U2lnbmFsZWQAAAAuTWFza01vZGUAAAAuUmVzZXRNb2RlAAAuV2FpdE9iagAAAABPU19NVVRFWAAA AAAuVXNlQ250AE9TX3BSU2VtYQAAAE9TX1JTRU1BAAAAAHN0cnVjdCBPU19SU0VNQV9TVFJVQ1QA AC5XYWl0Q250AAAAAE9TX3BDU2VtYQAAAE9TX0NTRU1BAAAAAHN0cnVjdCBPU19DU0VNQV9TVFJV Q1QAAC5DbnQAAAAAT1NfUldMT0NLAAAALlNlbWFwaG9yZQAALk11dGV4AAAuTnVtUmVhZGVycwAu SWQAT1NfcE1haWxib3gAT1NfTUFJTEJPWAAAc3RydWN0IE9TX01BSUxCT1hfU1RSVUNUAAAAAC5w RGF0YQAALm5vZk1zZwAubWF4TXNnAC5pUmQAAAAALnNpemVvZk1zZwAALldhaXRDbnRORQAALldh aXRDbnRORgAAT1NfcFFIZWFkAAAAT1NfUQAAAABPU19RVUVVRQAAAABzdHJ1Y3QgT1NfUV9TVFJV Q1QAAC5TaXplAAAALk1zZ0NudAAuSW5Vc2UAAC5vZmZGaXJzdAAAAE9TX1dBSVRfTElTVAAAAABz dHJ1Y3QgT1NfV0FJVF9MSVNUX1NUUlVDVAAALnBXYWl0T2JqAAAAT1NfT0JKTkFNRQAALnBPU09i aklEAAAAT1NfU0VNQVBIT1JFAAAAACU4eAAlZC4gIAAAAFNvcnJ5OiBDb3VsZG4ndCBnZXQgc3lt Ym9sIGFkZHJlc3NlcwAAAABfX1JUT1NfRU1CT1NfX0VYVF9BVAAAAABfX1JUT1NfRU1CT1NfX0VY VF9BUwAAAABfX1JUT1NfRU1CT1NfX0VYVF9BTAAAAABURVNUAAAAAFRBU0tTVEFURQAAAFRBU0tT AAAAVEFTS1N0YXRlAAAAYXJndW1lbnQgICAgICAgICB2YWx1ZSAgICAgc3ltYm9sAAAAPHRhc2s+ AABUQVNLLlRhc2tMaXN0ICV4AAAAAFRBU0suVEwAJTNkLgAAAAAgICUyeAAAAHJ1bm5pbmcgICAg IAAAAAByZWFkeSAgICAgICAAAAAAd2FpdCBxdWV1ZSAgAAAAAHdhaXQgbWJ4LXAgIAAAAAB3YWl0 IHF1ZS1wICAAAAAAc3VzcGVuZGVkICAgAAAAAHRlcm1pbmF0ZWQgIAAAAAB3YWl0IHRpbWUgICAA AAAAJWQuAHdhaXQgZXZlbnQgIAAAAAB3YWl0IG11dGV4ICAAAAAAd2FpdCBzZW1heiAgAAAAAHdh aXQgc2VtYSAgIAAAAAB3YWl0IHNlbWFueiAAAAAAd2FpdCBtYnggICAgAAAAAHdhaXQgbWJuZiAg IAAAAAA/Pz8gKCUyeCkgICAgAAAAdGltZW91dCAgIAAAdGltZSBzbGljZSByZW1haW5pbmcvcmVs b2FkACU4eCAgAAAAJTJ4IC8gJTJ4AAAACgoAAHN0YWNrIHB0ciAgAHNpemUgICAgICAAAGJhc2UA AAAARGF0YS5kdW1wICV4AAAAACU4eCAgIAAAUi5UQVNLICV4AAAAY29udGV4dABSLlRBU0sAAGN1 cnJlbnQAbWFnaWMgICAgAAAAbmFtZSAgICAgICAgICAgAHByaW8AAAAAZXZlbnRzAABzdGF0dXMg AFRBU0tMSVNUAAAAAFRMAABUYXNrTGlzdAAAAABAKD0pX19SVE9TX0VNQk9TX19UQVNLX1RMAAAA VmFyLlZpZXcgJSVPcGVuIChPU19USU1FUiopJXgAAABUQVNLLlRJTQAAAAAlNWQuAAAAAExpc3Qg JXgAbmFtZSAgICAgICAgICAgICAAAAB0aW1lICAAAHBlcmlvZAAAYWN0aXZlAABob29rIAAAAFRJ TUVSAAAAVElNAFRJTWVyAAAAQCg9KV9fUlRPU19FTUJPU19fVEFTS19USU0AADxldmVudD4ATWlz bWF0Y2hpbmcgT1NfRVZFTlRfU1RSVUNUIGRlZmluaXRpb25zICglZC8lZCkhIENoZWNrIHNZbWJv bC5MaXN0LlRZUEUhAAAAAGFuZABvcgAAYXV0bwAAAABtYW51YWwAAHNlbWkAAAAAVmFyLlZpZXcg JSVPcGVuIChPU19FVkVOVCopJXgAAABUQVNLLkVWVAAAAABzaWduYWwgICAAAABtYXNrAAAAAHJl c2V0IAAAd2FpdGluZyAAAAAARVZFTlQAAABFVlQARVZlblQAAABAKD0pX19SVE9TX0VNQk9TX19U QVNLX0VWVAAAPG11dGV4PgBWYXIuVmlldyAlJU9wZW4gKE9TX01VVEVYKikleAAAAFRBU0suTVRY AAAAACAlZC4AAAAAdXNlY250AABvd25lciAgICAgIABNVVRFWAAAAE1UWABNdVRlWAAAAEAoPSlf X1JUT1NfRU1CT1NfX1RBU0tfTVRYAAA8c2VtYT4AAFZhci5WaWV3ICUlT3BlbiAoT1NfU0VNQVBI T1JFKikleAAAAFRBU0suU0VNQQAAAGNvdW50AAAAU0VNQVBIT1JFAAAAU0VNQXBob3JlAAAAQCg9 KV9fUlRPU19FTUJPU19fVEFTS19TRU1BADxyc2VtYT4AVmFyLlZpZXcgJSVPcGVuIChPU19SU0VN QSopJXgAAABUQVNLLlJTAD8AAAAlOHggAAAAAD45OS4AAAAAc3ltYm9sICAgICAgICAgICAAAAB1 c2UgAAAAAHdhaXQAAAAAb3duZXIgAABQbGVhc2Ugc3BlY2lmeSBhIHJzZW1hIChzeW1ib2wgb3Ig YWRkcmVzcykAAFJTRU1BAAAAUlMAAEAoPSlfX1JUT1NfRU1CT1NfX1RBU0tfUlMAAAA8Y3NlbWE+ AFZhci5WaWV3ICUlT3BlbiAoT1NfQ1NFTUEqKSV4AAAAVEFTSy5DUwBQbGVhc2Ugc3BlY2lmeSBh IGNzZW1hIChzeW1ib2wgb3IgYWRkcmVzcykAAENTRU1BAAAAQ1MAAEAoPSlfX1JUT1NfRU1CT1Nf X1RBU0tfQ1MAAAA8cndsb2NrPgAAAABWYXIuVmlldyAlJU9wZW4gKE9TX1JXTE9DSyopJXgAAFRB U0suUldMAAAAAHc6IABudW0tcgAAAGF2YWlsAAAAUldMT0NLAABSV0wAUldMb2NrAABAKD0pX19S VE9TX0VNQk9TX19UQVNLX1JXTAAAPG1haWxib3g+AAAAVEFTSy5NYWlsQm94ICV4AFRBU0suTUIA bmU6ICUzZC4gbmY6ICUzZC4gIABidWZmZXI6IAAAAABtZXNzYWdlcyBpbiBtYWlsYm94OgoAAABt ZXNzYWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNjaWkK AAAlMnggAAAAAC4uLiAAAAAAI21zZ3MgAABtYXggICAAAHNpemUgAAAAUGxlYXNlIHNwZWNpZnkg YSBtYWlsYm94IChzeW1ib2wgb3IgYWRkcmVzcykAAAAATUFJTEJPWABNQgAATWFpbEJveABAKD0p X19SVE9TX0VNQk9TX19UQVNLX01CAAAAPHF1ZXVlPgB5ZXMAbm8AAFRBU0suUXVldWUgJXgAAABU QVNLLlEAACVzAABzaXplICAAAGludXNlAAAAUGxlYXNlIHNwZWNpZnkgYSBxdWV1ZSAoc3ltYm9s IG9yIGFkZHJlc3MpAABRVUVVRQAAAFEAAABRdWV1ZQAAAEAoPSlfX1JUT1NfRU1CT1NfX1RBU0tf UQAAAABnZXRBcm1Db250ZXh0OiBtYWdpYz0lOHgsIHNwPSU4eAAAAABnZXRBcm1Db250ZXh0OiBj cHU9JXMAAABDT1JURVhNAGdldEFybUNvbnRleHQ6IHBzcj0lcwAAAE9TX1JFR1MALlBDAE9TX1JF R1NfQkFTRQAAAAAuUjQALlIxNAAAAAAuWFBTUgAAAGdldEFybUNvbnRleHQ6IGN0eHNpemU9JTh4 LCBwYz0lOHgAAC5PU19SRUdfUjQAAC5PU19SRUdfUjE0AC5PU19SRUdfUEMAAC5PU19SRUdfWFBT UgAAAABPU19Td2l0Y2gAAABwYwAAcHNwAHIxNAB4cHNyAAAAAHI0AAByNQAAcjYAAHI3AAByOAAA cjkAAHIxMAByMTEAcjEzX3VzcgByMTRfdXNyAGNwc3IAAAAAcjhfdXNyAAByOV91c3IAAHIxMF91 c3IAcjExX3VzcgBoYXJkd2FyZXRocmVhZAAAbWFnaWMAAABtYWdpY3NpemUAAAB1bmtub3duIHRv cGljAAAAVEFTSy5DT05GSUcAX19SVE9TX1FOWF9fRlVOQwAAAABFVkVOVExJU1QAAABNVVRFWExJ U1QAAABSU0VNQUxJU1QAAABDU0VNQUxJU1QAAABTRU1BUEhPUkVMSVNUAAAAUldMT0NLTElTVAAA TUFJTEJPWExJU1QAUVVFVUVMSVNUAAAAVEFTSy5BVkFJTAAAX19SVE9TX0VNQk9TX19FWFRfRlVO QwAAZW1iT1MAAABBUk0AREFUQQAAVFgAAFRkAABUbAAAVOwAAAAkAABUUAAAVFAAAFTsAABU7AAA ADAAAFQ4AAATwAAAVCAAABPsAABUCAAAFEAAAAACAAAAAAAAU+AAAAAAAAAAAgAAAAAAAAAAAAAA PAAAAAEAPAAAAABUeAAAAQQAAAHwAAACTAAAAAIAAAAAAABT4AAAAAAAAAADCVAAAAAEALwAAB0c AAAAAwBQAAAABAC8AAAf6AAAVqQAAFawAABWtAAAVsAAABiMAABWcAAAVnwAAFaMAABWlAAAVpwA AAAAAAAAAwBQAAAABAEIAAAg5AAAAAIAAAAAAABT4AAAAAAAAFdMAABXVAAAV1gAAFdgAAAglAAA VnAAAFcYAABXLAAAVzQAAFc8AABXRAAAAAAAAAACAAAAAAAAU+AAAAAAAAAAAwBQAAAABAFoAAAl qAAAAAMCUAAAAAQBaAAAJYAAAFhEAABYTAAAWFAAAFhYAAAjAAAAVnAAAFcYAABYHAAAWCgAAFgw AABYOAAAAAAAAAADAFAAAAAEAcgAACgAAAAAAgAAAAAAAFPgAAAAAAAAAAMCUAAAAAQByAAAJ9gA AFjEAABYzAAAWNAAAFjYAAAmNAAAVnAAAFcYAABYsAAAWLgAAFg4AAAAAAAAAAIAAAAAAABT4AAA AAAAAAADAFAAAAAEAiQAACoYAAAAAwJQAAAABAIkAAAp8AAAWTQAAFJMAABZQAAAWUwAACiMAABW cAAAVxgAAFksAABYOAAAAAAAAAACAAAAAAAAU+AAAAAAAAAAAwA8AAAABAKMAAAtEAAAAAMCPAAA AAQCjAAALcwAAAACAAAAAAAAWdgAAAAAAABaBAAAWgwAAFIEAABaEAAAKqQAAFZwAABZrAAAWcAA AFnIAABZ0AAAAAAAAAACAAAAAAAAU+AAAAAAAAAAAwAyAAAABAL4AAAweAAAAAMCMgAAAAQC+AAA MTQAAAACAAAAAAAAWlwAAAAAAABaiAAAWpAAAFJAAABalAAALoAAAFZwAABZrAAAWcAAAFnIAAAA AAAAAAIAAAAAAABT4AAAAAAAAAADAFAAAAAEA1AAADRAAAAAAwJQAAAABANQAAA0GAAAWvwAAFsE AABbCAAAWxAAADHoAABWcAAAVxgAAFrsAABa9AAAWDgAAAAAAAAAAgAAAAAAAFPgAAAAAAAAAAMA UAAAAAQDvAAANtwAAAADAFAAAAAEA7wAADc8AAAAAgAAAAAAAFvsAAAAAAAAXBwAAFwkAABcKAAA XDAAADTMAABWcAAAVxgAAFvUAABb3AAAW+QAAFg4AAAAAAAAAAIAAAAAAABT4AAAAAAAAAADAFAA AAAEBCwAADxAAAAAAwBQAAAABAQsAAA8oAAAAAIAAAAAAABciAAAAAAAAFy0AABcvAAAXMAAAFzI AAA6dAAAVnAAAFmsAABceAAAWSwAAFyAAABYOAAAAAAAAF3UAAAAAAAAAAQAAF4IAAAAAAAAAAAA AF4QAAAAAAAAAAQAAF4YAAAAAAAAAAQAAF3oAAAAAAAAAAQAAF3sAAAAAAAAAAQAAF3wAAAAAAAA AAQAAF30AAAAAAAAAAQAAF4gAAAAAAAAAAQAAF4oAAAAAAAAAAQAAF4wAAAAAAAAAAQAAF44AAAA AAAAAAQAAAAAAAAAAAAAAAAAAF3UAAAAAAAAAAQAAF3YAAAAAAAAAAAAAF3cAAAAAAAAAAQAAF3g AAAAAAAAAAQAAF3oAAAAAAAAAAQAAF3sAAAAAAAAAAQAAF3wAAAAAAAAAAQAAF30AAAAAAAAAAQA AF34AAAAAAAAAAQAAF38AAAAAAAAAAQAAF4AAAAAAAAAAAQAAF4EAAAAAAAAAAQAAAAAAAAAAAAA AAAAAF5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF50AAAAAwAAABcAAAAAAABegAAARPgAAF74AAAA AwAAABcAAAAAAABfBAAARaAAAFTsAABfHAAAXyQAAAAAVDMyRQ== ) HELP.FILTER.Add rtosembos 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: embOS specific menu ; @Description: - ; @Author: DIE ; @Copyright: (c) 1989-2022 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: embos.m 9390 2023-08-21 14:18:18Z rdienstbeck $ NAME "TASK.&sMenuName" IF !MENU.EXIST("TASK.&sMenuName") ( add menu ( popup "&sHeader" ( default menuitem "Display Tasks" "TASK.&(sInfix)TaskList" menuitem "Display Timers" "TASK.&(sInfix)TIMer" IF TASK.AVAIL(EVENT)!=0 ( menuitem "Display Events" ( if TASK.AVAIL(EVENTLIST)!=0 TASK.&(sInfix)EVenT else sYmbol.Browse *event* /Click "Task.&(sInfix)EVenT *" /Delete ) ) IF TASK.AVAIL(MUTEXLIST)!=0 ( menuitem "Display Mutexes" "TASK.&(sInfix)MuTeX" ) IF TASK.AVAIL(RSEMA)!=0 ( menuitem "Display RSemas" ( if TASK.AVAIL(RSEMALIST)!=0 TASK.&(sInfix)RSema else sYmbol.Browse *rsema* /Click "Task.&(sInfix)RSema *" /Delete ) ) IF TASK.AVAIL(CSEMA)!=0 ( menuitem "Display CSemas" ( if TASK.AVAIL(CSEMALIST)!=0 TASK.&(sInfix)CSema else sYmbol.Browse *csema* /Click "Task.&(sInfix)CSema *" /Delete ) ) IF TASK.AVAIL(SEMAPHORE)!=0 ( menuitem "Display Semaphores" ( if TASK.AVAIL(SEMAPHORELIST)!=0 TASK.&(sInfix)SEMAphore else sYmbol.Browse *sema* /Click "Task.&(sInfix)SEMAphore *" /Delete ) ) IF TASK.AVAIL(RWLOCK)!=0 ( menuitem "Display RW Locks" ( if TASK.AVAIL(RWLOCKLIST)!=0 TASK.&(sInfix)RWLock else sYmbol.Browse *rwl* /Click "Task.&(sInfix)RWLock *" /Delete ) ) menuitem "Display &Mailbox" ( if TASK.AVAIL(MAILBOXLIST)!=0 TASK.&(sInfix)MailBox else sYmbol.Browse *mailbox* /Click "Task.&(sInfix)MailBox *" /Delete ) IF TASK.AVAIL(QUEUE)!=0 ( menuitem "Display Queues" ( if TASK.AVAIL(QUEUELIST)!=0 TASK.&(sInfix)Queue else sYmbol.Browse *queue* /Click "Task.&(sInfix)Queue *" /Delete ) ) separator popup "&Stack Coverage" ( menuitem "List Stacks" "TASK.&(sInfix)STacK" menuitem "Add Task to Cov" "TASK.&(sInfix)STacK.ADD" menuitem "Remove Task from Cov" "TASK.&(sInfix)STacK.ReMove" menuitem "Reset Coverage" ( PRIVATE &yes DIALOG.YESNO "Overwrite unused stack space" "with stack fill pattern?" ENTRY &yes IF !&yes ENDDO TASK.&(sInfix)STacK.Init ) ) ) popup "&Trace" ( popup "&List" ( separator menuitem "&Task Switches" "Trace.List List.TASK" menuitem "Default and Tasks" "Trace.List List.TASK def" ) ) popup "Perf" ( separator popup "&Task Runtime" ( menuitem "&Prepare" ( if t.method.analyzer() ( Analyzer.AutoInit on ) Break.Delete /Alpha Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha ) 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 ) Break.Delete /Alpha /Beta /Charly Break.SetFunc /PreFetch Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha ) 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 ) Break.Delete /Alpha Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha TASK.&(sInfix)TASKState ) 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 "embOS RTOS Debugger Manual" "HELP __RTOS_EMBOS_" ) ) menu "task.&(sInfix)tl" ( default menuitem "Display Detailed" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) TASK.&(sInfix)TaskList &nAddress ) menuitem "Display TCB" ( PRIVATE &nAddress &nAddress=address.offset(track.address()) Var.View %Open %String (OS_TASK *)&nAddress ) 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.&(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 ) ) menu "task.&(sInfix)tim" ( default ;menuitem "Display Detailed" ;( ; PRIVATE &nAddress ; &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) ; TASK.&(sInfix)TIMER &nAddress ;) menuitem "Display Timer Struct" ( PRIVATE &nAddress &nAddress=address.offset(track.address()) Var.View %Open %String (OS_TIMER *)&nAddress ) menuitem "Dump Timer Entry" ( PRIVATE &pAddress &pAddress=TRACK.ADDRESS() Data.dump &pAddress /Long /DIALOG ) ) menu "task.&(sInfix)evt" ( default ;menuitem "Display Detailed" ;( ; PRIVATE &nAddress ; &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) ; TASK.&(sInfix)EVenT &nAddress ;) menuitem "Display Event Struct" ( PRIVATE &nAddress &nAddress=address.offset(track.address()) Var.View %Open %String (OS_EVENT *)&nAddress ) menuitem "Dump Event Entry" ( PRIVATE &pAddress &pAddress=TRACK.ADDRESS() Data.dump &pAddress /Long /DIALOG ) ) menu "task.&(sInfix)mtx" ( default ;menuitem "Display Detailed" ;( ; PRIVATE &nAddress ; &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) ; TASK.&(sInfix)MuTeX &nAddress ;) menuitem "Display Mutex Struct" ( PRIVATE &nAddress &nAddress=address.offset(track.address()) Var.View %Open %String (OS_MUTEX *)&nAddress ) menuitem "Dump Mutex Entry" ( PRIVATE &pAddress &pAddress=TRACK.ADDRESS() Data.dump &pAddress /Long /DIALOG ) ) menu "task.&(sInfix)sema" ( default ;menuitem "Display Detailed" ;( ; PRIVATE &nAddress ; &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) ; TASK.&(sInfix)SEMAphore &nAddress ;) menuitem "Display Semaphore Struct" ( PRIVATE &nAddress &nAddress=address.offset(track.address()) Var.View %Open %String (OS_SEMAPHORE *)&nAddress ) menuitem "Dump Semaphore Entry" ( PRIVATE &pAddress &pAddress=TRACK.ADDRESS() Data.dump &pAddress /Long /DIALOG ) ) menu "task.&(sInfix)rwl" ( default ;menuitem "Display Detailed" ;( ; PRIVATE &nAddress ; &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) ; TASK.&(sInfix)RWLock &nAddress ;) menuitem "Display RW Lock Struct" ( PRIVATE &nAddress &nAddress=address.offset(track.address()) Var.View %Open %String (OS_RWLOCK *)&nAddress ) menuitem "Dump RW Lock Entry" ( PRIVATE &pAddress &pAddress=TRACK.ADDRESS() Data.dump &pAddress /Long /DIALOG ) ) menu "task.&(sInfix)mb" ( default menuitem "Display Detailed" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) TASK.&(sInfix)MailBox &nAddress ) menuitem "Display Mailbox Struct" ( PRIVATE &nAddress &nAddress=address.offset(track.address()) Var.View %Open %String (OS_MAILBOX *)&nAddress ) menuitem "Dump Mailbox Entry" ( PRIVATE &pAddress &pAddress=TRACK.ADDRESS() Data.dump &pAddress /Long /DIALOG ) ) menu "task.&(sInfix)q" ( default menuitem "Display Detailed" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) TASK.&(sInfix)Queue &nAddress ) menuitem "Display Queue Struct" ( PRIVATE &nAddress &nAddress=address.offset(track.address()) Var.View %Open %String (OS_QUEUE *)&nAddress ) menuitem "Dump Queue 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 )