VIDEO.CDB
上传用户:dahaojd
上传日期:2008-01-29
资源大小:14357k
文件大小:1016k
- }
- object PRD_clock :: CLK {
- param iComment :: "This clock function calls PRD_tick from within the on-chip timer ISR"
- param iIsUsed :: 1
- param iId :: 0
- param iDelUser :: "PRD"
- param iDelMsg :: "This object is automatically deleted by disabling the 'Use CLK Manager to drive PRD' option of PRD"
- param function :: @PRD_F_tick
- param Order :: 1
- param iPri :: 0
- }
- type RTDX {
- isa ObjectMgr
- prop Label :: "RTDX - Real-Time Data Exchange Settings"
- prop name :: "RTDX"
- prop IsConfMod :: self.USERTDX
- prop IsContainedIn :: IOF
- prop GlobalIcon :: 145
- prop InstanceIcon :: 146
- prop GlobalHelpTopic :: (113)
- prop InstanceHelpTopic :: (213)
- prop InstancePropertyPage :: ("{f80273c0-3838-11d2-a32c-006097656921}")
- prop GlobalPropertyPage :: ("{050a0600-3839-11d2-a32c-006097656921}")
- prop AllocType :: (if self.USERTDX {"2, _rtdxDataAllocDesc, _rtdxDataSeg, _placement,
- _rtdxTextAllocDesc, _rtdxTextSeg, _placement"} else {""})
- prop _rtdxDataAllocDesc :: (" .%1L_data: {} , name")
- prop _rtdxTextAllocDesc :: (if (MEM.ENABLELOADSEG == 1) {if (MEM.RTDXTEXTMEMSEG == MEM.LOADRTDXTEXTMEMSEG) {" .%1L_text: {} , name"} else {" .%1L_text: {} load > %2s, run , name, _loadRtdxTextMemSeg"}} else {" .%1L_text: {} , name"})
- prop _rtdxDataSeg :: RTDX.DATAMEMSEG
- prop _rtdxTextSeg :: MEM.RTDXTEXTMEMSEG
- prop _loadRtdxTextMemSeg :: MEM.LOADRTDXTEXTMEMSEG
- prop _placement :: (0x7fffffff / 2)
- prop _objSize :: RTDX.BUFMEMSIZE
- prop GenLinkPrologue :: (if self.USERTDX {"_RTDX_interrupt_mask = 0x%1x;n, _interruptMask"} else {""})
- prop _interruptMask :: RTDX.MASK
- prop cGen :: 1
- prop noObjectAlias :: 1
- prop cHeaderName :: if self.gNumOf > 0 {"rtdx.h"} else {""}
- prop cGenHInst :: (if (GBL.DSPTYPE == 62) {if (self.iChannelMode == "output") {"extern far RTDX_outputChannel %0r;n"} else {"extern far RTDX_inputChannel %0r;n"}} else {if (self.iChannelMode == "output") {"extern RTDX_outputChannel %0r;n"} else {"extern RTDX_inputChannel %0r;n"}})
- prop cGenCInst :: (if (self.iChannelMode == "output") {"RTDX_CreateOutputChannel(%0r);n"} else {"RTDX_CreateInputChannel(%0r);n"})
- prop dataSize :: ($d = 0, if (self.USERTDX) {$d = RTDX.BUFMEMSIZE} else {$d = 0}, scan ($a; RTDX) {if ($a.iChannelMode == "output") {$d += 1} else {$d += 3}}, $d)
- prop localCanCreate :: ($e = "ok", if (RTDX.USERTDX != 1) {$e = self.error("RTDX manager not enabled")} , $e)
- global gUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gSetOf :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gNumOf :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gDirty :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInitFlag :: 1 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global USERTDX :: 1 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Enable Real-Time Data Exchange (RTDX)"
- prop JSName :: "ENABLERTDX"
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 0
- prop Set :: (if ($1 == 0) {if (HST.LNKTYPE == "RTDX") {self.error("RTDX is being used by HST; select a different host link type before attempting to disable RTDX")} else {if (self.gNumOf > 0) {self.error("Cannot disable RTDX until all RTDX objects are deleted.")} else {GlobalStatus.gDirty = 1, self.USERTDX = $1, if (RTDX.CALLBACKOBJ != nil) {RTDX.CALLBACKOBJ.call()} , "ok"}}} else {GlobalStatus.gDirty = 1, self.USERTDX = $1, if (RTDX.CALLBACKOBJ != nil) {RTDX.CALLBACKOBJ.call()} , "ok"})
- }
- global USERTEXECUTION :: = 0 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Enable Real-Time Execution Control"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- global RTDXTYPE :: "JTAG" {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "JTAG,HSRTDX,Simulator"
- prop Label :: "RTDX Mode"
- prop JSName :: "MODE"
- prop Visible :: 1
- prop Writable :: self.USERTDX
- prop NoGen :: 1
- prop Set :: (self.RTDXTYPE = $1, if (RTDX.CALLBACKOBJ != nil) {RTDX.CALLBACKOBJ.call()} , "ok")
- }
- global DATAMEMSEG :: SDRAM {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop MemberType :: MEM
- prop MemberTest :: MEM.dataMember($1)
- prop Label :: "RTDX Data Segment (.rtdx_data)"
- prop JSName :: "RTDXDATASEG"
- prop Visible :: 1
- prop Writable :: self.USERTDX
- prop NoGen :: 0
- }
- global BUFMEMSIZE :: = (256 + 2) * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE) {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x02
- prop Label :: "RTDX Buffer Size (MAUs)"
- prop JSName :: "BUFSIZE"
- prop Visible :: 1
- prop Writable :: self.USERTDX
- prop NoGen :: 0
- prop Set :: (if (HST.RTDX == 0) {self.BUFMEMSIZE = $1, GlobalStatus.gDirty = 1, "ok"} else {if ($1 < (HST.MAXFRAMESET + 2) * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)) {self.error("size (in MAUs) must be at least: (largest configured HST channel framesize in words + 2) * (MAUs per word)")} else {self.BUFMEMSIZE = $1, GlobalStatus.gDirty = 1, if (HST.LNKTYPE == "RTDX") {HST.MAXFRAMEALLOWED = (self.BUFMEMSIZE / (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)) - 2, "ok"} else {"ok"}}})
- }
- global TEXTMEMSEG :: SDRAM {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop MemberType :: MEM
- prop MemberTest :: MEM.codeMember($1)
- prop Label :: "RTDX Text Segment (.rtdx_text)"
- prop Visible :: 0
- prop Writable :: self.USERTDX
- prop NoGen :: 1
- }
- global MASK :: 0 {
- prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
- prop Format :: "0x%08x"
- prop Style :: 0x02
- prop Label :: "RTDX Interrupt Mask"
- prop JSName :: "INTERRUPTMASK"
- prop Visible :: 1
- prop Writable :: self.USERTDX
- prop NoGen :: 1
- prop Set :: (self.MASK = $1, "ok")
- }
- global CALLBACKOBJ :: HWI {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {
- prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "comment"
- prop JSName :: "comment"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "USER" {1} else {0}
- prop NoGen :: 1
- }
- inst iIsUsed :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iId :: 0 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x01
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 1
- }
- inst iDelUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iDelMsg :: "ok" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iChannelMode :: "output" {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Channel Mode"
- prop JSName :: "channelMode"
- prop Enum :: "input,output"
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 0
- prop Set :: (GlobalStatus.gDirty = 1, self.iChannelMode = $1, "ok")
- }
- }
- type HST {
- isa ObjectMgr
- prop name :: "HST"
- prop Label :: "HST - Host Channel Manager"
- prop IsContainedIn :: IOF
- prop FileStream :: 1
- prop GlobalIcon :: 107
- prop InstanceIcon :: 108
- prop GlobalHelpTopic :: (104)
- prop InstanceHelpTopic :: (204)
- prop maxObjs :: (GBL.DSPWORDSIZE)
- prop dataSize :: ($b = 0, scan ($i; HST) {if ($i.IsConfObj()) {$b += (12 + $i.framesize) * $i.numframes + 100 + (5 * 4)} }, $b)
- prop InstancePropertyPage :: ("{B7240DEA-AA51-11cf-9BFE-0000C0AC14C8}")
- prop GlobalPropertyPage :: ("{B7240DEB-AA51-11cf-9BFE-0000C0AC14C8}")
- prop DependsOn :: "HWI"
- prop localCreate :: (PIP.gNumEmbed += 1, if (self.gNumOf == 0) {(LNK_dataPump.Create("HST"))} , "ok")
- prop localDelete :: (PIP.gNumEmbed -= 1, $b = 0, scan ($i; HST) {if ($i != self) {if ($i.IsConfObj()) {if ($i.framesize > $b) {$b = $i.framesize} } } }, self.MAXFRAMESET = $b, if (self.gNumOf == 1) {(LNK_dataPump.Delete("HST"))} , "ok")
- prop AllocType :: ("2, _globalAllocDesc, _memSeg, _placement,
- _dsmAllocDesc, _dsmMemSeg, _placement")
- prop _globalAllocDesc :: ("%8t .%1L: {%12tn %1U_A_TABBEG = .;n _%1U_A_TABBEG = .;n %2Sn %1U_A_TABEND = .;n _%1U_A_TABEND = .;n %1U_A_TABLEN = (. - _%1U_A_TABBEG) / %3d;n _%1U_A_TABLEN = (. - _%1U_A_TABBEG) / %3d;%8tn }, name, _linkString, _objSize")
- prop _dsmAllocDesc :: ("%8t .dsm: {}")
- prop _placement :: (0x7fffffff / 2)
- prop AllocInst :: ("1, _instAllocDesc, _objMemSeg, _placement")
- prop _instAllocDesc :: ("/* %0s buffer */n.hst%2d: %3S, name, _objId, _alignString, _objAlign")
- prop _alignString :: if self.bufalign > 1 {"align = 0x%4x {}"} else {""}
- prop _objId :: self.iId
- prop _objAlign :: self.bufalign
- prop _objMemSeg :: self.bufseg
- prop _linkString :: if (self.gNumOf + self.gNumEmbed) > 0 {"*(.%1L)"} else {"/* no %1U objects */"}
- prop _memSeg :: HST.OBJMEMSEG
- prop _dsmMemSeg :: HST.DSMBUFSEG
- prop _objSize :: (5 * 4)
- prop cGen :: 1
- prop cHeaderName :: if self.gNumOf > 0 {"hst.h"} else {""}
- prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far HST_Obj %0r;n"} else {"extern HST_Obj %0r;n"})
- prop modifiable :: ((if self.iDelUser == "USER" {1} else {0}))
- global gUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gSetOf :: 3 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gNumOf :: 2 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gDirty :: 1 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInitFlag :: 1 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gNumEmbed :: 0 {
- prop NoGen :: 1
- }
- global OBJMEMSEG :: SDRAM {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop MemberType :: MEM
- prop MemberTest :: MEM.dataMember($1)
- prop Label :: "Object Memory"
- prop JSName :: "OBJMEMSEG"
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 1
- }
- global LNKTYPE :: "RTDX" {
- prop Label :: "Host Link Type"
- prop JSName :: "HOSTLINKTYPE"
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "RTDX,NONE"
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 1
- prop Set :: (if ($1 == "RTDX") {if (RTDX.USERTDX == 0) {self.error("RTDX module must be enabled before it can be used by HST")} else {if ((RTDX.BUFMEMSIZE / (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)) - 2 < self.MAXFRAMESET) {self.error("RTDX buffer size too small for largest configured HST channel")} else {if (self.LNKTYPE == "NONE") {GlobalStatus.gDirty = 1, self.LNKTYPE = $1, $b = 0, scan ($i; HST) {if ($i.IsConfObj()) {if ($i.framesize > $b) {$b = $i.framesize} } }, self.MAXFRAMESET = $b, self.MAXFRAMEALLOWED = (RTDX.BUFMEMSIZE / (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)) - 2, "ok"} else {self.LNKTYPE = $1, self.MAXFRAMEALLOWED = (RTDX.BUFMEMSIZE / (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)) - 2, "ok"}}}} else {if ($1 == "Shared Memory") {if ((self.DSMMEMSIZE / 4) < self.MAXFRAMESET) {self.error("Shared memory buffer too small for largest configured HST channel")} else {if (self.LNKTYPE == "NONE") {GlobalStatus.gDirty = 1, self.LNKTYPE = $1, $b = 0, scan ($i; HST) {if ($i.IsConfObj()) {if ($i.framesize > $b) {$b = $i.framesize} } }, self.MAXFRAMESET = $b, self.MAXFRAMEALLOWED = self.DSMMEMSIZE / 4, "ok"} else {self.LNKTYPE = $1, self.MAXFRAMEALLOWED = self.DSMMEMSIZE / 4, "ok"}}} else {GlobalStatus.gDirty = 1, self.LNKTYPE = $1, "ok"}})
- }
- global RTDX :: = if self.LNKTYPE == "RTDX" {1} else {0} {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Use RTDX for host link"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- global DSM :: = if self.LNKTYPE == "Shared Memory" {1} else {0} {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Use Shared Memory for host link"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- global EVM54 :: = if self.LNKTYPE == "EVM54" {1} else {0} {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Use EVM54's I/O ports for host link"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global NONE :: = if self.LNKTYPE == "NONE" {1} else {0} {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "No host link"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- global MAXFRAMESET :: 64 {
- prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
- prop Label :: "MAXFRAMESET"
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 0
- }
- global MAXFRAMEALLOWED :: 256 {
- prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
- prop Label :: "MAXFRAMEALLOWED"
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 0
- }
- global DSMBUFSEG :: = self.OBJMEMSEG {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop MemberType :: MEM
- prop MemberTest :: MEM.dataMember($1)
- prop Label :: "Shared Memory Segment"
- prop Visible :: 0
- prop Writable :: self.DSM
- prop NoGen :: 0
- }
- global DSMMEMSIZE :: = 1024 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x01 | 0x02
- prop Label :: "Shared Memory Frame Size (MAUs)"
- prop Visible :: 0
- prop Writable :: self.DSM
- prop NoGen :: 0
- prop Set :: (if ($1 < HST.MAXFRAMESET * 4) {self.error("size (in MAUs) must be at least: 4 * largest configured HST channel framesize (in words)")} else {self.DSMMEMSIZE = $1, GlobalStatus.gDirty = 1, if (self.LNKTYPE == "Shared Memory") {self.MAXFRAMEALLOWED = self.DSMMEMSIZE / 4, "ok"} else {"ok"}})
- }
- inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {
- prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "comment"
- prop JSName :: "comment"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "USER" {1} else {0}
- prop NoGen :: 1
- }
- inst iIsUsed :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iId :: 0 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x01
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 1
- }
- inst iDelUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iDelMsg :: "ok" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst mode :: "output" {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop JSName :: "mode"
- prop Enum :: "input,output"
- prop Visible :: 1
- prop Writable :: self.modifiable()
- prop NoGen :: 0
- }
- inst bufseg :: = self.OBJMEMSEG {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "bufseg"
- prop JSName :: "bufSeg"
- prop MemberType :: MEM
- prop MemberTest :: MEM.dataMember($1)
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 1
- }
- inst bufalign :: 4 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x01 | 0x02
- prop JSName :: "bufAlign"
- prop Visible :: 1
- prop Writable :: self.modifiable()
- prop NoGen :: 1
- prop Set :: (if ($1 < 4) {self.error("Alignment must be greater than or equal to 4")} else {if (($1 % 2) != 0) {self.error("Alignment must be a power of 2")} else {$i = $1, while ((($i % 2) == 0) && ($i != 2)) {$i = $i / 2}, if (($i % 2) != 0) {self.error("Alignment must be a power of 2")} else {self.bufalign = $1, "ok"}}})
- }
- inst buf :: "<NULL>" {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- inst framesize :: 0x80 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "framesize (words)"
- prop JSName :: "frameSize"
- prop Style :: 0x01 | 0x02
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 0
- prop Set :: (if ($1 < 1) {self.error("framesize must be >= 1.")} else {if (($1 > self.MAXFRAMEALLOWED) && ((self.RTDX == 1) || (self.DSM == 1))) {if (self.RTDX == 1) {self.error("size (in words) is limited to: (RTDX buffer size in MAUs) / (MAUs per word) - 2")} else {self.error("size (in words) is limited to: shared memory frame size (in MAUs)/4")}} else {self.framesize = $1, $b = 0, scan ($i; HST) {if ($i.IsConfObj()) {if ($i.framesize > $b) {$b = $i.framesize} } }, self.MAXFRAMESET = $b, GlobalStatus.gDirty = 1, "ok"}})
- }
- inst numframes :: 2 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x01
- prop JSName :: "numFrames"
- prop Visible :: 1
- prop Writable :: self.modifiable()
- prop NoGen :: 0
- prop Set :: (if ($1 < 1) {self.error("Channels must contain at least 1 frame.")} else {GlobalStatus.gDirty = 1, self.numframes = $1, "ok"})
- }
- inst stsflg :: 0 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "statistics"
- prop JSName :: "statistics"
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 0
- }
- inst notify :: @_FXN_F_nop {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop JSName :: "notifyFxn"
- prop Visible :: 1
- prop Writable :: (if self.iDelUser == "DHL" || self.iDelUser != "USER" {0} else {1})
- prop NoGen :: 0
- prop TabName :: "Notify Function"
- }
- inst arg0 :: 0 {
- prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
- prop JSName :: "arg0"
- prop Visible :: 1
- prop Writable :: (if self.iDelUser == "DHL" || self.iDelUser != "USER" {0} else {1})
- prop NoGen :: 0
- prop TabName :: "Notify Function"
- }
- inst arg1 :: 0 {
- prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
- prop JSName :: "arg1"
- prop Visible :: 1
- prop Writable :: (if self.iDelUser == "DHL" || self.iDelUser != "USER" {0} else {1})
- prop NoGen :: 0
- prop TabName :: "Notify Function"
- }
- inst lnk :: = if self.RTDX {"RTDX"} else {"NOTRTDX"} {
- prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "link type"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- inst iDHLAvailable :: 0 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Make this channel available for a new DHL device"
- prop JSName :: "availableForDHL"
- prop Set :: (if (($1 == 0) && (self.iDHLAvailable == 1)) {DHL.gChannelsAvailable--} else {if (($1 == 1) && (self.iDHLAvailable == 0)) {DHL.gChannelsAvailable++} }, self.iDHLAvailable = $1, "ok")
- prop Writable :: self.modifiable()
- prop Visible :: 1
- prop NoGen :: 1
- }
- inst bufFrameAlign :: = self.bufalign {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- }
- object LNK_dataPump :: IDL {
- param iComment :: "This object cannot be deleted"
- param iIsUsed :: 1
- param iId :: 0
- param iDelUser :: "HST"
- param iDelMsg :: "This object cannot be deleted"
- param function :: @LNK_F_dataPump
- param cycles :: 0
- param calibration :: 1
- param Order :: 1
- param iPri :: 0
- }
- object RTA_dispatcher :: IDL {
- param iComment :: "This object cannot be deleted"
- param iIsUsed :: 1
- param iId :: 0
- param iDelUser :: "HST"
- param iDelMsg :: "This object cannot be deleted"
- param function :: @RTA_F_dispatch
- param cycles :: 0
- param calibration :: 1
- param Order :: 2
- param iPri :: 0
- }
- object RTA_fromHost :: HST {
- param iComment :: "Used to access LOG and STS data"
- param iIsUsed :: 1
- param iId :: 1
- param iDelUser :: "HST"
- param iDelMsg :: "This object cannot be deleted"
- param mode :: "input"
- param bufalign :: 4
- param buf :: "<NULL>"
- param framesize :: 4
- param numframes :: 1
- param stsflg :: 0
- param notify :: @_FXN_F_nop
- param arg0 :: 0
- param arg1 :: 0
- param iDHLAvailable :: 0
- }
- object RTA_toHost :: HST {
- param iComment :: "Used to access LOG and STS data"
- param iIsUsed :: 1
- param iId :: 0
- param iDelUser :: "HST"
- param iDelMsg :: "This object cannot be deleted"
- param mode :: "output"
- param bufalign :: 4
- param buf :: "<NULL>"
- param framesize :: 64
- param numframes :: 1
- param stsflg :: 0
- param notify :: @_FXN_F_nop
- param arg0 :: 0
- param arg1 :: 0
- param iDHLAvailable :: 0
- }
- type HWI {
- isa ObjectMgr
- prop name :: "HWI"
- prop Label :: "HWI - Hardware Interrupt Service Routine Manager"
- prop IsContainedIn :: SCH
- prop SortChildHierView :: 0
- prop GlobalIcon :: 109
- prop InstanceIcon :: 110
- prop InstanceHelpTopic :: (205)
- prop GlobalHelpTopic :: (105)
- prop dataSize :: (0 * HWI.gNumOf)
- prop localCanCreate :: (self.error("New hardware interrupt objects cannot be created"))
- prop InstancePropertyPage :: ("{B7240DE6-AA51-11cf-9BFE-0000C0AC14C7}")
- prop GlobalPropertyPage :: ("{B7240DE7-AA51-11cf-9BFE-0000C0AC14C7}")
- prop DependsOn :: "GBL,OBJ,CLK,IDL,LCK,LOG,MBX,MEM,PIP,PRD,QUE,RTDX,SEM,STS,SYS"
- prop AllocType :: (if self.ZEROTAB {"1, _stubsAllocDesc, _memSeg, _placement"} else {if ((MEM.ENABLELOADSEG) && (MEM.VECMEMSEG != MEM.LOADVECMEMSEG)) {"2, _stubsAllocDesc, _memSeg, _placement,
- _vectAllocDesc, _loadvecSeg, _minplace"} else {"2, _stubsAllocDesc, _memSeg, _placement,
- _vectAllocDesc, _vecSeg, _minplace"}})
- prop _stubsAllocDesc :: (if ((MEM.ENABLELOADSEG) && (MEM.STUBMEMSEG != MEM.LOADSTUBMEMSEG)) {"%8t .%1L: {} load > %2s, run, name, _loadstubSeg"} else {"%8t .%1L: {} , name"})
- prop _vectAllocDesc :: (if ((MEM.ENABLELOADSEG) && (MEM.VECMEMSEG != MEM.LOADVECMEMSEG)) {"%8t .%1L_vec: {%12tn %1U_A_VECS = .;n *(.hwi_vec)%8tn } run > %2s align = 0x400, load , name, _vecSeg"} else {"%8t .%1L_vec: {%12tn %1U_A_VECS = .;n *(.hwi_vec)%8tn } align = 0x400, name"})
- prop _placement :: (0x7fffffff / 2)
- prop _minplace :: 0
- prop GenLinkPrologue :: (if self.ZEROTAB {if ((MEM.ENABLELOADSEG) && (MEM.VECMEMSEG != MEM.LOADVECMEMSEG)) {"SECTIONS {%4tn .%1L_vec: {%8tn %1U_A_VECS = .;n *(.hwi_vec)%4tn } load > %2s, run = 0x0 %0tn}n , name, _loadvecSeg"} else {"SECTIONS {%4tn .%1L_vec: 0x0 {%8tn %1U_A_VECS = .;n *(.hwi_vec)%4tn }%0tn}n, name"}} else {if self.GENERATE_RESET_VEC {"SECTIONS {%4tn .%1L_reset: 0x0 {}%0tn}n, name"} else {""}})
- prop localInit :: (if (RTDX.CALLBACKOBJ != nil) {self.error("HWI initialization failure.")} , RTDX.CALLBACKOBJ = HWI)
- prop call :: (if (RTDX.USERTDX == 0) {HWI_RESERVED1.function = @HWI_unused, HWI_RESERVED1.iUseDispatcher = 0, if (HWI_INT9.iSource == JTAGRTDX9 && HWI_INT9.function == @_RTDX_Poll) {HWI_INT9.iSource = MCSP_0_Transmit, HWI_INT9.iReMappable = 1, HWI_INT9.function = @HWI_unused, HWI_INT9.iUseDispatcher = 0, HWI_INT9.iIntrMask = "self", HWI_INT9.IntrMask = 0x200, HWI_INT9.client = "USER"} , if (HWI_INT11.iSource == HSRTDX11 && HWI_INT11.function == @_HSRTDX_xmt) {HWI_INT11.iSource = MCSP_0_Receive, HWI_INT11.iReMappable = 1, HWI_INT11.function = @HWI_unused, HWI_INT11.iUseDispatcher = 0, HWI_INT11.iIntrMask = "self", HWI_INT11.IntrMask = 0x800, HWI_INT11.client = "USER"} , if (HWI_INT12.iSource == HSRTDX12 && HWI_INT12.function == @_HSRTDX_rec) {HWI_INT12.iSource = MCSP_1_Transmit, HWI_INT12.iReMappable = 1, HWI_INT12.function = @HWI_unused, HWI_INT12.iUseDispatcher = 0, HWI_INT12.iIntrMask = "self", HWI_INT12.IntrMask = 0x1000, HWI_INT12.client = "USER"} } else {HWI_RESERVED1.function = @_RTDX_Poll, HWI_RESERVED1.iUseDispatcher = 1, if (RTDX.RTDXTYPE == "HSRTDX") {if (HWI_INT9.iSource == JTAGRTDX9 && HWI_INT9.function == @_RTDX_Poll) {HWI_INT9.iSource = MCSP_0_Transmit, HWI_INT9.iReMappable = 1, HWI_INT9.function = @HWI_unused, HWI_INT9.iUseDispatcher = 0, HWI_INT9.iIntrMask = "self", HWI_INT9.IntrMask = 0x200, HWI_INT9.client = "USER"} , HWI_INT11.iSource = HSRTDX11, HWI_INT11.iReMappable = 0, HWI_INT11.function = @_HSRTDX_xmt, HWI_INT11.iUseDispatcher = 1, HWI_INT11.iIntrMask = "bitmask", HWI_INT11.IntrMask = 0x1808, HWI_INT11.client = "RTDX", HWI_INT12.iSource = HSRTDX12, HWI_INT12.iReMappable = 0, HWI_INT12.function = @_HSRTDX_rec, HWI_INT12.iUseDispatcher = 1, HWI_INT12.iIntrMask = "bitmask", HWI_INT12.IntrMask = 0x1808, HWI_INT12.client = "RTDX"} else {HWI_INT9.iSource = JTAGRTDX9, HWI_INT9.iReMappable = 0, HWI_INT9.function = @_RTDX_Poll, HWI_INT9.iUseDispatcher = 1, HWI_INT9.iIntrMask = "self", HWI_INT9.IntrMask = 0x208, HWI_INT9.client = "RTDX", if (HWI_INT11.iSource == HSRTDX11 && HWI_INT11.function == @_HSRTDX_xmt) {HWI_INT11.iSource = MCSP_0_Receive, HWI_INT11.iReMappable = 1, HWI_INT11.function = @HWI_unused, HWI_INT11.iUseDispatcher = 0, HWI_INT11.iIntrMask = "self", HWI_INT11.IntrMask = 0x800, HWI_INT11.client = "USER"} , if (HWI_INT12.iSource == HSRTDX12 && HWI_INT12.function == @_HSRTDX_rec) {HWI_INT12.iSource = MCSP_1_Transmit, HWI_INT12.iReMappable = 1, HWI_INT12.function = @HWI_unused, HWI_INT12.iUseDispatcher = 0, HWI_INT12.iIntrMask = "self", HWI_INT12.IntrMask = 0x1000, HWI_INT12.client = "USER"} }})
- prop _memSeg :: MEM.STUBMEMSEG
- prop _loadstubSeg :: MEM.LOADSTUBMEMSEG
- prop _linkString :: ($b = 0, scan ($a; HWI) {if ($a.monitor != "Nothing") {$b = 1} }, if ($b == 1) {"*(.hwi)"} else {"/* no HWI stubs are necessary */"})
- prop name2addr :: ($i = 0, $b = nil, scan ($a; {"Nothing", "Data Value", "Stack Pointer", "Top of SW Stack", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A11", "A12", "A13", "A14", "A15", "B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", "B11", "B12", "B13", "B14", "B15"}) {if ($b == nil) {if ($a == $1) {$b = {0, 0, 0, @GBL_stackbeg, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}[$i]} , $i++} }, if ($b == nil) {$b = 0} , $b)
- prop name2type :: ($i = 0, $b = nil, scan ($a; {"Nothing", "Data Value", "Stack Pointer", "Top of SW Stack", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A11", "A12", "A13", "A14", "A15", "B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", "B11", "B12", "B13", "B14", "B15"}) {if ($b == nil) {if ($a == $1) {if ($i < 5) {$b = {"unsigned", "signed", "unsigned", "unsigned", "unsigned"}[$i]} } , $i++} }, if ($b == nil) {$b = "unsigned"} , $b)
- prop _vecSeg :: MEM.VECMEMSEG
- prop _loadvecSeg :: MEM.LOADVECMEMSEG
- global gUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gSetOf :: 65535 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gNumOf :: 16 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gDirty :: 1 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInitFlag :: 1 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global STUBMEMSEG :: SDRAM {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop MemberType :: MEM
- prop MemberTest :: MEM.codeMember($1)
- prop Label :: "Function Stub Memory"
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 1
- }
- global ZEROTAB :: = MEM.VECMEMSEG.base == 0 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Writable :: 0
- prop Visible :: 0
- }
- global VECMEMSEG :: SDRAM {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop MemberType :: MEM
- prop Label :: "Interrupt Service Table Memory"
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 1
- prop MemberTest :: MEM.codeMember($1)
- prop Set :: (self.VECMEMSEG = $1, if ($1.base == 0) {self.GENERATE_RESET_VEC = 0} , "ok")
- }
- global GENERATE_RESET_VEC :: 0 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Generate RESET vector at address 0 "
- prop JSName :: "RESETVECTOR"
- prop Writable :: self.ZEROTAB == 0
- prop Visible :: 1
- prop NoGen :: 0
- }
- global EXT4_POLARITY :: "low-to-high" {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "low-to-high,high-to-low"
- prop Label :: "External Interrupt Pin 4 Polarity"
- prop JSName :: "EXTPIN4POLARITY"
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 1
- }
- global EXT5_POLARITY :: "low-to-high" {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "low-to-high,high-to-low"
- prop Label :: "External Interrupt Pin 5 Polarity"
- prop JSName :: "EXTPIN5POLARITY"
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 1
- }
- global EXT6_POLARITY :: "low-to-high" {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "low-to-high,high-to-low"
- prop Label :: "External Interrupt Pin 6 Polarity"
- prop JSName :: "EXTPIN6POLARITY"
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 1
- }
- global EXT7_POLARITY :: "low-to-high" {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "low-to-high,high-to-low"
- prop Label :: "External Interrupt Pin 7 Polarity"
- prop JSName :: "EXTPIN7POLARITY"
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 1
- }
- global POLARITYMASK :: = (if self.EXT4_POLARITY == "high-to-low" {1} else {0}) | (if self.EXT5_POLARITY == "high-to-low" {1} else {0}) << 1 | (if self.EXT6_POLARITY == "high-to-low" {1} else {0}) << 2 | (if self.EXT7_POLARITY == "high-to-low" {1} else {0}) << 3 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- global INTRMULTLOW :: = (HWI_INT4.iSource.iIntrSelectNum) | (HWI_INT5.iSource.iIntrSelectNum << 5) | (HWI_INT6.iSource.iIntrSelectNum << 10) | (HWI_INT7.iSource.iIntrSelectNum << 16) | (HWI_INT8.iSource.iIntrSelectNum << 21) | (HWI_INT9.iSource.iIntrSelectNum << 26) {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x02
- prop Writable :: 0
- prop Visible :: 0
- prop NoGen :: 0
- }
- global INTRMULTHIGH :: = (HWI_INT10.iSource.iIntrSelectNum) | (HWI_INT11.iSource.iIntrSelectNum << 5) | (HWI_INT12.iSource.iIntrSelectNum << 10) | (HWI_INT13.iSource.iIntrSelectNum << 16) | (HWI_INT14.iSource.iIntrSelectNum << 21) | (HWI_INT15.iSource.iIntrSelectNum << 26) {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x02
- prop Writable :: 0
- prop Visible :: 0
- prop NoGen :: 0
- }
- inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {
- prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "comment"
- prop JSName :: "comment"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "USER" {1} else {0}
- prop NoGen :: 1
- }
- inst iIsUsed :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iId :: 0 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x01
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 1
- }
- inst iDelUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iDelMsg :: "ok" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iSource :: Reset {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop MemberType :: ISRC
- prop MemberTest :: 1
- prop Label :: "interrupt source"
- prop JSName :: "interruptSource"
- prop Visible :: 1
- prop Writable :: self.iReMappable
- prop NoGen :: 1
- prop Set :: ($a = $1, if ($a == Reset) {self.error("The Reset interrupt source cannot be remapped")} else {if ($a == Non_Maskable) {self.error("The Non-Maskable interrupt source cannot be remapped")} else {if ($a == Reserved) {self.error("The Reserved interrupt source cannot be remapped")} else {if (CLK.WHICHHWI == self && $a != self.iSource && CLK.USETIMER) {self.error("This interrupt is in use by CLK, settings may be changed in the CLK Manager")} else {if ($a == CLK.WHICHHWI.iSource && CLK.USETIMER == 1) {self.error("Interrupt source is in use by CLK, settings may be changed in the CLK Manager.")} else {$a.iHwi = self, self.iSource.iHwi = HWI_UNUSED, self.iSource = $1, "ok"}}}}})
- }
- inst iReMappable :: 1 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iIntrEnableMask :: 0 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x02
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst function :: @HWI_unused {
- prop JSName :: "fxn"
- prop Visible :: 1
- prop Writable :: if ((self.function == @RESERVED) || (self.client != "USER")) {0} else {1}
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop NoGen :: 0
- prop Set :: (self.function = $1, GlobalStatus.gDirty = 1, "ok")
- }
- inst iSTSObj :: HWI_RESETSTS {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst monitor :: "Nothing" {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "Nothing,Data Value,Stack Pointer,Top of SW Stack,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15"
- prop JSName :: "monitor"
- prop Visible :: 1
- prop Writable :: ((self.function != @HWI_unused && self.function != @RESERVED) && (self.iId != 0))
- prop NoGen :: 0
- prop Set :: (if ($1 != self.monitor) {$e = "ok", if ($1 == "Nothing") {if (($e = self.iSTSObj.Delete("HWI")) == "ok") {self.monitor = "Nothing", self.addr = self.name2addr(self.monitor), self.dataType = self.name2type(self.monitor)} } else {if (self.iSTSObj.iIsUsed || ($e = self.iSTSObj.Create("HWI")) == "ok") {self.monitor = $1, if (self.monitor == "Data Value") {self.addr = self.saveAddr, self.dataType = self.saveType} else {self.addr = self.name2addr(self.monitor), self.dataType = self.name2type(self.monitor)}} else {self.monitor = "Nothing"}}, $e} else {"ok"})
- }
- inst saveAddr :: 0 {
- prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst saveType :: "signed" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst addr :: 0 {
- prop JSName :: "addr"
- prop Visible :: 1
- prop Writable :: (if self.monitor == "Data Value" {1} else {0})
- prop NoGen :: 0
- prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
- prop Format :: if GBL.DSPTYPE == 62 {"0x%08x"} else {"0x%04x"}
- prop Set :: (self.addr = $1, self.saveAddr = $1, "ok")
- }
- inst dataType :: "signed" {
- prop Visible :: 1
- prop Writable :: (if self.monitor == "Nothing" {0} else {1})
- prop NoGen :: 0
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "signed,unsigned"
- prop Label :: "type"
- prop JSName :: "dataType"
- prop Set :: (if (self.monitor != "Nothing") {self.dataType = $1, self.saveType = $1, "ok"} else {self.error("The monitor field must set to modify this field")})
- }
- inst operation :: "STS_add(*addr)" {
- prop Visible :: 1
- prop Writable :: (if self.monitor == "Nothing" {0} else {1})
- prop NoGen :: 0
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop JSName :: "operation"
- prop Enum :: "STS_add(*addr),STS_delta(*addr),STS_add(-*addr),STS_delta(-*addr),STS_add(|*addr|),STS_delta(|*addr|)"
- prop Set :: (if (self.monitor != "Nothing") {self.operation = $1, "ok"} else {self.error("The monitor field must set to modify this field")})
- }
- inst client :: "USER" {
- prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- inst iUseDispatcher :: 0 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Use Dispatcher"
- prop JSName :: "useDispatcher"
- prop Visible :: 1
- prop Writable :: if (self.client == "USER") {1} else {0}
- prop NoGen :: 0
- prop TabName :: "Dispatcher"
- prop Set :: (if (self == HWI_NMI) {self.error("HWI dispatcher can't be used for NMI")} else {self.iUseDispatcher = $1, "ok"})
- }
- inst iArg :: 0 {
- prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Arg"
- prop JSName :: "arg"
- prop Visible :: 1
- prop Writable :: if ((self.iUseDispatcher == 1) && (self.client == "USER")) {1} else {0}
- prop NoGen :: 0
- prop TabName :: "Dispatcher"
- prop Set :: (self.iArg = $1, "ok")
- }
- inst iIntrMask :: "self" {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Interrupt Mask"
- prop JSName :: "interruptMask"
- prop Enum :: "all,none,self,bitmask"
- prop Visible :: 1
- prop Writable :: if (self.iUseDispatcher == 1) {1} else {0}
- prop NoGen :: 1
- prop TabName :: "Dispatcher"
- prop Set :: (if ($1 == "all") {self.IntrMask = 0xffff} else {if ($1 == "self") {self.IntrMask = 1 << self.iId} else {if ($1 == "none") {self.IntrMask = 0} }}, self.iIntrMask = $1, "ok")
- }
- inst IntrMask :: (1 << self.iId) {
- prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
- prop Format :: "0x%04x"
- prop Style :: 0x02
- prop Label :: "Interrupt Bit Mask"
- prop JSName :: "interruptBitMask"
- prop Visible :: 1
- prop Writable :: if ((self.iUseDispatcher == 1) && (self.iIntrMask == "bitmask")) {1} else {0}
- prop NoGen :: 0
- prop TabName :: "Dispatcher"
- prop Set :: (if ($1 > 0xffff) {self.error("Invalid Number")} else {self.IntrMask = $1, "ok"})
- }
- inst iCacheControl :: 1 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Don't modify cache control"
- prop JSName :: "cacheControl"
- prop Visible :: 1
- prop Writable :: if (self.iUseDispatcher == 1) {1} else {0}
- prop NoGen :: 1
- prop TabName :: "Dispatcher"
- prop Set :: (if ($1 == 1) {self.iCCBitMask = 0x1} else {self.iCCBitMask = (self.iPCCBitMask | self.iDCCBitMask)}, self.iCacheControl = $1, "ok")
- }
- inst iPCCMask :: (if (GBL.DSPSUBTYPE == 6200 || GBL.DSPSUBTYPE == 6700) {"mapped"} else {"cache enable"}) {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "mapped,cache enable,cache freeze,cache bypass"
- prop Label :: "Program Cache Control Mask"
- prop JSName :: "progCacheMask"
- prop Visible :: 1
- prop Writable :: if ((self.iUseDispatcher == 1) && (self.iCacheControl == 0)) {1} else {0}
- prop NoGen :: 1
- prop TabName :: "Dispatcher"
- prop Set :: (if ((GBL.DSPSUBTYPE == 6211 || GBL.DSPSUBTYPE == 6711 || GBL.DSPSUBTYPE == 6400) && $1 != "cache enable") {self.error("unsupported cache mode for 6x1x/64x device (cache enable must be selected)")} else {if ($1 == "mapped") {self.iPCCBitMask = 0x0000} else {if ($1 == "cache enable") {self.iPCCBitMask = 0x0040} else {if ($1 == "cache freeze") {self.iPCCBitMask = 0x0060} else {self.iPCCBitMask = 0x0080}}}, self.iPCCMask = $1, self.iCCBitMask = self.iPCCBitMask | self.iDCCBitMask, "ok"})
- }
- inst iPCCBitMask :: 0x0000 {
- prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iDCCMask :: (if (GBL.DSPSUBTYPE == 6200 || GBL.DSPSUBTYPE == 6700) {"mapped"} else {"cache enable"}) {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "mapped,cache enable,cache freeze,cache bypass"
- prop Label :: "Data Cache Control Mask"
- prop JSName :: "dataCacheMask"
- prop Visible :: 1
- prop Writable :: if ((self.iUseDispatcher == 1) && (self.iCacheControl == 0)) {1} else {0}
- prop NoGen :: 1
- prop TabName :: "Dispatcher"
- prop Set :: (if ((GBL.DSPSUBTYPE == 6211 || GBL.DSPSUBTYPE == 6711 || GBL.DSPSUBTYPE == 6400) && $1 != "cache enable") {self.error("unsupported cache mode for 6x1x/64x device (cache enable must be selected)")} else {if ($1 == "mapped") {self.iDCCBitMask = 0x0000} else {if ($1 == "cache enable") {self.iDCCBitMask = 0x0008} else {if ($1 == "cache freeze") {self.iDCCBitMask = 0x000C} else {self.iDCCBitMask = 0x0010}}}, self.iDCCMask = $1, self.iCCBitMask = self.iPCCBitMask | self.iDCCBitMask, "ok"})
- }
- inst iDCCBitMask :: 0x0000 {
- prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iCCBitMask :: 1 {
- prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- }
- object HWI_RESET_STS :: STS {
- param iComment :: "provides statistics for the RESET ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_RESET :: HWI {
- param iComment :: "defines function for the RESET ISR"
- param iIsUsed :: 1
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: Reset
- param iReMappable :: 0
- param iIntrEnableMask :: 1
- param function :: @_c_int00
- param iSTSObj :: HWI_RESET_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "USER"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 1
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_NMI_STS :: STS {
- param iComment :: "provides statistics for the NMI ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_NMI :: HWI {
- param iComment :: "defines function for the NMI ISR"
- param iIsUsed :: 1
- param iId :: 1
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: Non_Maskable
- param iReMappable :: 0
- param iIntrEnableMask :: 2
- param function :: @HWI_unused
- param iSTSObj :: HWI_NMI_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "USER"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 2
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_RESERVED0_STS :: STS {
- param iComment :: "This STS object is being used by a HWI object and cannot be deleted"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_RESERVED0 :: HWI {
- param iComment :: "RESERVED for RTDX"
- param iIsUsed :: 1
- param iId :: 2
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: Reserved
- param iReMappable :: 0
- param iIntrEnableMask :: 4
- param function :: @RESERVED
- param iSTSObj :: HWI_RESERVED0_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "RTDX"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 4
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_RESERVED1_STS :: STS {
- param iComment :: "This STS object is being used by a HWI object and cannot be deleted"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_RESERVED1 :: HWI {
- param iComment :: "RESERVED for RTDX"
- param iIsUsed :: 1
- param iId :: 3
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: Reserved
- param iReMappable :: 0
- param iIntrEnableMask :: 8
- param function :: @_RTDX_Poll
- param iSTSObj :: HWI_RESERVED1_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "RTDX"
- param iUseDispatcher :: 1
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 8
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_INT4_STS :: STS {
- param iComment :: "provides statistics for the INT4 ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_INT4 :: HWI {
- param iComment :: "defines the INT4 Interrupt"
- param iIsUsed :: 1
- param iId :: 4
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: External_Pin_4
- param iReMappable :: 1
- param iIntrEnableMask :: 16
- param function :: @HWI_unused
- param iSTSObj :: HWI_INT4_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "USER"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 16
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_INT5_STS :: STS {
- param iComment :: "provides statistics for the INT5 ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_INT5 :: HWI {
- param iComment :: "defines the INT5 Interrupt"
- param iIsUsed :: 1
- param iId :: 5
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: External_Pin_5
- param iReMappable :: 1
- param iIntrEnableMask :: 32
- param function :: @HWI_unused
- param iSTSObj :: HWI_INT5_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "USER"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 32
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_INT6_STS :: STS {
- param iComment :: "provides statistics for the INT6 ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_INT6 :: HWI {
- param iComment :: "defines the INT6 Interrupt"
- param iIsUsed :: 1
- param iId :: 6
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: External_Pin_6
- param iReMappable :: 1
- param iIntrEnableMask :: 64
- param function :: @HWI_unused
- param iSTSObj :: HWI_INT6_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "USER"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 64
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_INT7_STS :: STS {
- param iComment :: "provides statistics for the INT7 ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_INT7 :: HWI {
- param iComment :: "defines the INT7 Interrupt"
- param iIsUsed :: 1
- param iId :: 7
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: External_Pin_7
- param iReMappable :: 1
- param iIntrEnableMask :: 128
- param function :: @HWI_unused
- param iSTSObj :: HWI_INT7_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "USER"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 128
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_INT8_STS :: STS {
- param iComment :: "provides statistics for the INT8 ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_INT8 :: HWI {
- param iComment :: "defines the INT8 Interrupt"
- param iIsUsed :: 1
- param iId :: 8
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: EDMA_Controller
- param iReMappable :: 1
- param iIntrEnableMask :: 256
- param function :: @HWI_unused
- param iSTSObj :: HWI_INT8_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "USER"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 256
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_INT9_STS :: STS {
- param iComment :: "provides statistics for the INT9 ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_INT9 :: HWI {
- param iComment :: "defines the INT9 Interrupt"
- param iIsUsed :: 1
- param iId :: 9
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: JTAGRTDX9
- param iReMappable :: 0
- param iIntrEnableMask :: 520
- param function :: @_RTDX_Poll
- param iSTSObj :: HWI_INT9_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "RTDX"
- param iUseDispatcher :: 1
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 520
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_INT10_STS :: STS {
- param iComment :: "provides statistics for the INT10 ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_INT10 :: HWI {
- param iComment :: "defines the INT10 Interrupt"
- param iIsUsed :: 1
- param iId :: 10
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: EMIF_SDRAM_Timer
- param iReMappable :: 1
- param iIntrEnableMask :: 1024
- param function :: @HWI_unused
- param iSTSObj :: HWI_INT10_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "USER"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 1024
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_INT11_STS :: STS {
- param iComment :: "provides statistics for the INT11 ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_INT11 :: HWI {
- param iComment :: "defines the INT11 Interrupt"
- param iIsUsed :: 1
- param iId :: 11
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: MCSP_0_Receive
- param iReMappable :: 1
- param iIntrEnableMask :: 2048
- param function :: @HWI_unused
- param iSTSObj :: HWI_INT11_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "USER"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 2048
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_INT12_STS :: STS {
- param iComment :: "provides statistics for the INT12 ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_INT12 :: HWI {
- param iComment :: "defines the INT12 Interrupt"
- param iIsUsed :: 1
- param iId :: 12
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: MCSP_1_Transmit
- param iReMappable :: 1
- param iIntrEnableMask :: 4096
- param function :: @HWI_unused
- param iSTSObj :: HWI_INT12_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "USER"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 4096
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_INT13_STS :: STS {
- param iComment :: "provides statistics for the INT13 ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_INT13 :: HWI {
- param iComment :: "defines the INT13 Interrupt"
- param iIsUsed :: 1
- param iId :: 13
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: Host_Port_Host_to_DSP
- param iReMappable :: 1
- param iIntrEnableMask :: 8192
- param function :: @HWI_unused
- param iSTSObj :: HWI_INT13_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "USER"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 8192
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_INT14_STS :: STS {
- param iComment :: "provides statistics for the INT14 ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_INT14 :: HWI {
- param iComment :: "defines the INT14 Interrupt"
- param iIsUsed :: 1
- param iId :: 14
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: Timer_0
- param iReMappable :: 1
- param iIntrEnableMask :: 16384
- param function :: @CLK_F_isr
- param iSTSObj :: HWI_INT14_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "CLK"
- param iUseDispatcher :: 1
- param iArg :: @CLK_A_TABBEG
- param iIntrMask :: "self"
- param IntrMask :: 16384
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_INT15_STS :: STS {
- param iComment :: "provides statistics for the INT15 ISR"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "HWI"
- param iDelMsg :: "This STS object is being used by a HWI object and cannot be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- object HWI_INT15 :: HWI {
- param iComment :: "defines the INT15 Interrupt"
- param iIsUsed :: 1
- param iId :: 15
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: Timer_1
- param iReMappable :: 1
- param iIntrEnableMask :: 32768
- param function :: @HWI_unused
- param iSTSObj :: HWI_INT15_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "USER"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 32768
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- object HWI_UNUSED :: HWI {
- param iComment :: "a dummy DSP interrupt for unused sources"
- param iIsUsed :: 0
- param iId :: 16
- param iDelUser :: "HWI"
- param iDelMsg :: "Hardware interrupt objects cannot be deleted"
- param iSource :: Reset
- param iReMappable :: 1
- param iIntrEnableMask :: 0
- param function :: @HWI_unused
- param iSTSObj :: HWI_INT15_STS
- param monitor :: "Nothing"
- param saveAddr :: 0
- param saveType :: "signed"
- param addr :: 0
- param dataType :: "signed"
- param operation :: "STS_add(*addr)"
- param client :: "USER"
- param iUseDispatcher :: 0
- param iArg :: 0
- param iIntrMask :: "self"
- param IntrMask :: 65536
- param iCacheControl :: 1
- param iPCCMask :: "cache enable"
- param iPCCBitMask :: 0
- param iDCCMask :: "cache enable"
- param iDCCBitMask :: 0
- param iCCBitMask :: 1
- }
- type SWI {
- isa ObjectMgr
- prop name :: "SWI"
- prop Label :: "SWI - Software Interrupt Manager"
- prop IsContainedIn :: SCH
- prop GlobalIcon :: 123
- prop InstanceIcon :: 124
- prop InstanceHelpTopic :: (211)
- prop GlobalHelpTopic :: (111)
- prop HighTimeBased :: (if CLK.HIRES == 1 {1} else {0})
- prop LowTimeBased :: (if CLK.HIRES == 1 {0} else {1})
- prop STSGetMaxFmt :: (if (SWI.STSUNITS == "raw") {if CLK.HIRES {"%g inst"} else {"%g ints"}} else {if SWI.STSUNITS == "microseconds" {"%.1f us"} else {"%.2f ms"}})
- prop STSGetSumFmt :: (SWI.STSGetMaxFmt())
- prop STSGetAvgFmt :: (if (SWI.STSUNITS == "raw") {if CLK.HIRES {"%.2f inst"} else {"%.2f ints"}} else {if SWI.STSUNITS == "microseconds" {"%.1f us"} else {"%.2f ms"}})
- prop STSFilterMax :: ($a = if (CLK.HIRES) {$1 * CLK.INSTRPERCLK} else {$1}, $a = $a * (CLK.TDDR + 1), $a)
- prop STSFilterSum :: (SWI.STSFilterMax($1))
- prop GetPriority :: (self.pri)
- prop GenLinkPrologue :: ("SECTIONS {%4tn.%1L: {%8tn %1U_A_TABBEG = .;n %4Sn %1U_A_TABEND = .;n %1U_A_TABLEN = (. - %1U_A_TABBEG) / %2d;%4tn} > %3s%5s, name, objSize, memSeg, linkString, pageString")
- prop GenLinkEpilogue :: ("%0t}n")
- prop linkString :: if self.gNumOf > 0 {"*(.%1L)"} else {"/* no %1U objects */"}
- prop pageString :: if GBL.DSPTYPE == 62 {""} else {if GBL.DSPTYPE == 55 {""} else {" PAGE 1"}}
- prop memSeg :: SWI.OBJMEMSEG
- prop objSize :: if GBL.DSPTYPE == 55 {(2 * (11 * 4))} else {(11 * 4)}
- prop maxObjs :: (32767)
- prop dataSize :: ((11 * 4) * SWI.gNumOf)
- prop localCanCreate :: (if (GlobalStatus.MinStackSize >= MEM.STACKSIZE) {self.error("System stack size (see MEM) is too small to support a new SWI priority level.")} else {"ok"})
- prop localCreate :: (STS.gNumEmbed += 1, SWI.EXECFXN = @SWI_F_iexec, SWI.RUNFXN = @SWI_F_run, "ok")
- prop localDelete :: (STS.gNumEmbed -= 1, if (self.gNumOf == 1) {SWI.EXECFXN = @FXN_F_nop, SWI.RUNFXN = @FXN_F_nop} , "ok")
- prop SortByField :: "pri"
- prop SortGroups :: 15
- prop InstancePropertyPage :: ("{B7240DEC-AA51-11cf-9BFE-0000C0AC14C7}")
- prop GlobalPropertyPage :: ("{B7240DED-AA51-11cf-9BFE-0000C0AC14C7}")
- prop DependsOn :: "HWI,SIO"
- prop cGen :: 1
- prop cHeaderName :: if self.gNumOf > 0 {"swi.h"} else {""}
- prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far SWI_Obj %0r;n"} else {"extern SWI_Obj %0r;n"})
- global gUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gSetOf :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gNumOf :: 1 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gDirty :: 1 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInitFlag :: 1 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global EHOOKFXN :: @GBL_NULL {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Enable Scheduler and Return to Idle Function"
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 0
- }
- global IHOOKFXN :: @GBL_NULL {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Exit Scheduler and Return to Idle Function"
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 0
- }
- global EXECFXN :: @SWI_F_iexec {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Configured SWI executive"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- global RUNFXN :: @SWI_F_run {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Configured SWI executive body"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- global OBJMEMSEG :: SDRAM {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop MemberType :: MEM
- prop MemberTest :: MEM.dataMember($1)
- prop Label :: "Object Memory"
- prop JSName :: "OBJMEMSEG"
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 1
- }
- global STSUNITS :: "raw" {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "raw,milliseconds,microseconds"
- prop Label :: "Statistics Units"
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 1
- }
- inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {
- prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "comment"
- prop JSName :: "comment"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "USER" {1} else {0}
- prop NoGen :: 1
- }
- inst iIsUsed :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iId :: 0 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x01
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 1
- }
- inst iDelUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iDelMsg :: "ok" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst priority :: = (self.pri + 1) {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "priority"
- prop JSName :: ""
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst function :: @_FXN_F_nop {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop JSName :: "fxn"
- prop Visible :: 1
- prop Writable :: (if self.iDelUser == "USER" {1} else {0})
- prop NoGen :: 0
- }
- inst pri :: 1 {
- prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14"
- prop Label :: "priority"
- prop JSName :: "priority"
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 0
- prop Set :: ($a = self.pri, self.pri = $1, if (self == KNL_swi) {if ($1 != 0) {self.pri = $a, self.error("KNL_swi must remain at Priority 0.")} else {"ok"}} else {if ($1 == 0 && KNL_swi.iIsUsed == 1) {self.pri = $a, self.error("Priority 0 reserved for KNL_swi only.")} else {GlobalStatus.gDirty = 1, if (GlobalStatus.MinStackSize >= MEM.STACKSIZE) {self.pri = $a, self.error("System stack size (see MEM) is too small to support a new SWI priority level.")} else {if ($1 > 14) {self.pri = $a, self.error("SWI can only support 15 priority levels.")} else {"ok"}}}})
- }
- inst mailbox :: 0 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x01 | 0x02
- prop JSName :: "mailbox"
- prop Visible :: 1
- prop Writable :: (if self.iDelUser == "USER" {1} else {0})
- prop NoGen :: 0
- }
- inst arg0 :: 0 {
- prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
- prop JSName :: "arg0"
- prop Visible :: 1
- prop Writable :: (if self.iDelUser == "USER" {1} else {0})
- prop NoGen :: 0
- }
- inst arg1 :: 0 {
- prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
- prop JSName :: "arg1"
- prop Visible :: 1
- prop Writable :: (if self.iDelUser == "USER" {1} else {0})
- prop NoGen :: 0
- }
- inst dorta :: 1 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- inst Order :: 0 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop JSName :: "order"
- prop NoGen :: 1
- prop Writable :: 1
- }
- }
- type TSK {
- isa ObjectMgr
- prop name :: "TSK"
- prop Label :: "TSK - Task Manager"
- prop IsConfMod :: self.USETSK
- prop IsContainedIn :: SCH
- prop DependsOn :: "SWI,HOOK"
- prop GlobalIcon :: 143
- prop InstanceIcon :: 144
- prop GlobalHelpTopic :: (314)
- prop InstanceHelpTopic :: (414)
- prop InstancePropertyPage :: ("{473C4A64-B1A8-11d0-9885-0020AFEE33C6}")
- prop GlobalPropertyPage :: ("{473C4A65-B1A8-11d0-9885-0020AFEE33C6}")
- prop SortByField :: "iPRI"
- prop SortGroups :: 17
- prop AllocType :: (if (self.USETSK) {"1, _bssAllocDesc, _bssmemSeg, _placement"} else {""})
- prop _objAllocDesc :: ("%8t .TSK$obj: {}")
- prop _bssAllocDesc :: ("%8t .tsk: {%12tn *(.tsk)%8tn }")
- prop _bssmemSeg :: self.OBJMEMSEG
- prop _objmemSeg :: MEM.CFGOBJSEG
- prop AllocInst :: (if self.iAUTOSTK {"1, _instStackDesc, _instStackSeg, _placement"} else {"0"})
- prop _instStackDesc :: (if (GBL.DSPTYPE == 40) {"%8t .%0s$stk: fill = 0xC0FFEE {%12tn %0s$stack = .;n . += %1d;%8tn }, _instStackSize"} else {"%8t .%0s$stk: {%12tn *(.%0s$stk)%8tn }"})
- prop _self :: self
- prop _instStackSize :: self.iSTKSZ * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)
- prop _instStackSeg :: self.iSTKSEG
- prop _placement :: (0x7fffffff / 2)
- prop localInit :: (KNL_swi.Create("SWI"), if (self.STACKSEG.iAllocHeap == 1) {self.STACKSEG.iReqHeapCount++, "ok"} else {self.error("TSK default stack segment must be a memory segment with a heap")})
- prop HighTimeBased :: (if CLK.HIRES == 1 {1} else {0})
- prop LowTimeBased :: (if CLK.HIRES == 1 {0} else {1})
- prop STSGetMaxFmt :: (if (TSK.STSUNITS == "raw") {if CLK.HIRES {"%g inst"} else {"%g ints"}} else {if TSK.STSUNITS == "microseconds" {"%.1f us"} else {"%.2f ms"}})
- prop STSGetSumFmt :: (TSK.STSGetMaxFmt())
- prop STSGetAvgFmt :: (if (TSK.STSUNITS == "raw") {if CLK.HIRES {"%.2f inst"} else {"%.2f ints"}} else {if TSK.STSUNITS == "microseconds" {"%.1f us"} else {"%.2f ms"}})
- prop STSFilterMax :: ($a = if (CLK.HIRES) {$1 * CLK.INSTRPERCLK} else {$1}, $a = $a * (CLK.TDDR + 1), $a)
- prop STSFilterSum :: (TSK.STSFilterMax($1))
- prop localCreate :: (STS.gNumEmbed += 1, "ok")
- prop localCanCreate :: ($e = "ok", if (TSK.USETSK != 1) {$e = self.error("TSK manager not enabled")} , $e)
- prop localDelete :: (STS.gNumEmbed -= 1, "ok")
- prop GenLinkPrologue :: (if (self.USETSK == 0) {"_KNL_swi = 0;"} )
- prop cGen :: 1
- prop cHeaderName :: if self.gNumOf > 0 {"tsk.h"} else {""}
- prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far TSK_Obj %0r;n"} else {"extern TSK_Obj %0r;n"})
- prop _objId :: self.iId
- prop dataSize :: ($d = 0, scan ($i; TSK) {$d += ($i.iSTKSZ + (3 + 21) * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE))}, $d)
- prop minStackSize :: ($a = self.STACKSIZE, scan ($i; TSK) {if ($i.STACKSIZE < $a) {$a = $i.STACKSIZE} }, $a)
- prop maxObjs :: (32767)
- prop GetPriority :: (self.iPRI)
- global gUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gSetOf :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gNumOf :: 2 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gDirty :: 1 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInitFlag :: 1 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global USETSK :: 1 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Enable TSK Manager"
- prop JSName :: "ENABLETSK"
- prop Visible :: 1
- prop Writable :: if GBL.DSPSUBTYPE == 0x55DA200 {0} else {1}
- prop NoGen :: 1
- prop Set :: (if ($1 == 0) {if (self.gNumOf > 1) {self.error("Cannot disable TSK until all TSK objects are deleted.")} else {self.STACKSEG.iReqHeapCount--, TSK.STACKSEG = MEM_NULL, TSK.OBJMEMSEG = MEM_NULL, TSK_idle.iSTKSEG = MEM_NULL, TSK_idle.Delete("TSK"), KNL_swi.Delete("TSK"), PRD.THOOKFXN = @FXN_F_nop, if (PRD.gNumOf == 0) {if (PRD_clock.iIsUsed == 1) {PRD_clock.function = @FXN_F_nop} } , self.USETSK = $1, "ok"}} else {$e = "ok", GlobalStatus.gDirty = 1, if (GlobalStatus.MinStackSize >= MEM.STACKSIZE) {$e = self.error("Current stack size inadequate to enable TSK"), break} , scan ($a; SWI) {if ($a != KNL_swi && $a.pri == 0 && $a.iIsUsed == 1) {$e = self.error("Cannot enable TSK when there are SWI objects at Priority 0."), break} }, if ($e == "ok") {TSK.STACKSEG = MEM_NULL, scan ($b; MEM) {if ($b.iAllocHeap && $b != MEM_NULL) {TSK.STACKSEG = $b, break} }, self.STACKSEG.iReqHeapCount++, self.USETSK = $1, TSK.OBJMEMSEG = SWI.OBJMEMSEG, TSK_idle.iSTKSEG = self.OBJMEMSEG, TSK_idle.Create("TSK"), KNL_swi.Create("TSK"), PRD.THOOKFXN = PRD.DEFAULT_THOOKFXN, if (TSK.TSKTICK == "PRD") {if (PRD_clock.iIsUsed == 1) {PRD_clock.function = @PRD_F_tick} } , if (MEM.NOHEAPS) {self.STACKSEG.iReqHeapCount++, $e = "No Memory Heaps Are Allocated for Dynamic TSK creation"} , $e} else {$e}})
- }
- global OBJMEMSEG :: SDRAM {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop JSName :: "OBJMEMSEG"
- prop MemberType :: MEM
- prop MemberTest :: MEM.dataNullMember($1)
- prop Label :: "Object Memory"
- prop Visible :: 1
- prop Writable :: self.USETSK
- prop NoGen :: 1
- }
- global CALLBACKOBJ :: nil {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global STACKSIZE :: 1024 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x01
- prop Label :: "Default stack size (MAUs)"
- prop JSName :: "STACKSIZE"
- prop Visible :: 1
- prop Writable :: self.USETSK
- }
- global STACKSEG :: SDRAM {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop MemberType :: MEM
- prop MemberTest :: MEM.dataNullMember($1) && $1.iAllocHeap
- prop Label :: "Stack segment for dynamic tasks"
- prop JSName :: "STACKSEG"
- prop Visible :: 1
- prop Writable :: self.USETSK && (MEM.NOHEAPS == 0)
- prop Set :: (if (self.STACKSEG.iReqHeapCount > 0) {self.STACKSEG.iReqHeapCount--} , self.STACKSEG = $1, self.STACKSEG.iReqHeapCount++, "ok")
- }
- global PRIORITY :: 1 {
- prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"
- prop JSName :: "PRIORITY"
- prop Enum :: "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
- prop Label :: "Default task priority"
- prop Visible :: 1
- prop Writable :: self.USETSK
- }
- global CREATEFXN :: @_FXN_F_nop {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Create function"
- prop JSName :: "CREATEFXN"
- prop Visible :: 1
- prop Writable :: self.USETSK
- prop TabName :: "Function Hooks"
- prop Set :: (self.CREATEFXN = $1, HOOK_KNL.createFxn = self.CREATEFXN, "ok")
- prop NoGen :: 1
- }
- global VCREATEFXN :: = if HOOK_KNL.iIsUsed == 1 {@__HOOK_doCreate} else {self.CREATEFXN} {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- }
- global DELETEFXN :: @_FXN_F_nop {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Delete function"
- prop JSName :: "DELETEFXN"
- prop Visible :: 1
- prop Writable :: self.USETSK
- prop TabName :: "Function Hooks"
- prop Set :: (self.DELETEFXN = $1, HOOK_KNL.deleteFxn = self.DELETEFXN, "ok")
- prop NoGen :: 1
- }
- global VDELETEFXN :: = if HOOK_KNL.iIsUsed == 1 {@__HOOK_doDelete} else {self.DELETEFXN} {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- }
- global EXITFXN :: @_FXN_F_nop {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Exit function"
- prop JSName :: "EXITFXN"
- prop Visible :: 1
- prop Writable :: self.USETSK
- prop TabName :: "Function Hooks"
- prop Set :: (self.EXITFXN = $1, HOOK_KNL.exitFxn = self.EXITFXN, "ok")
- prop NoGen :: 1
- }
- global VEXITFXN :: = if HOOK_KNL.iIsUsed == 1 {@__HOOK_doExit} else {self.EXITFXN} {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- }
- global DOSWITCH :: 0 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Call switch function"
- prop JSName :: "CALLSWITCHFXN"
- prop Writable :: self.USETSK
- prop Visible :: 1
- prop NoGen :: 1
- prop Set :: (self.DOSWITCH = $1, HOOK_KNL.callSwitchFxn = self.DOSWITCH, "ok")
- prop TabName :: "Function Hooks"
- }
- global VSWFXN :: @_FXN_F_nop {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Switch function"
- prop JSName :: "SWITCHFXN"
- prop Visible :: 1
- prop NoGen :: 1
- prop Writable :: self.DOSWITCH && self.USETSK
- prop Set :: (self.VSWFXN = $1, HOOK_KNL.switchFxn = self.VSWFXN, "ok")
- prop TabName :: "Function Hooks"
- }
- global SWITCHFXN :: = if self.DOSWITCH {(if HOOK_KNL.iIsUsed == 1 {@__HOOK_doSwitch} else {self.VSWFXN})} else {0} {
- prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
- prop JSName :: ""
- prop TabName :: "Function Hooks"
- }
- global DOREADY :: 0 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Call ready function"
- prop JSName :: "CALLREADYFXN"
- prop Writable :: self.USETSK
- prop Visible :: 1
- prop NoGen :: 1
- prop Set :: (self.DOREADY = $1, HOOK_KNL.callReadyFxn = self.DOREADY, "ok")
- prop TabName :: "Function Hooks"
- }
- global VRDYFXN :: @_FXN_F_nop {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Ready function"
- prop JSName :: "READYFXN"
- prop Visible :: 1
- prop Writable :: self.DOREADY && self.USETSK
- prop NoGen :: 1
- prop Set :: (self.VRDYFXN = $1, HOOK_KNL.readyFxn = self.VRDYFXN, "ok")
- prop TabName :: "Function Hooks"
- }
- global READYFXN :: = if self.DOREADY {(if HOOK_KNL.iIsUsed == 1 {@__HOOK_doReady} else {self.VRDYFXN})} else {0} {
- prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
- prop JSName :: ""
- prop TabName :: "Function Hooks"
- }
- global NUM_HOOKS :: = HOOK.gNumOf {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- }
- global STSUNITS :: "raw" {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "raw,milliseconds,microseconds"
- prop Label :: "Statistics Units"
- prop Visible :: 0
- prop Writable :: self.USETSK
- prop NoGen :: 1
- }
- global TSKTICK :: "PRD" {
- prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "PRD,User"
- prop Label :: "TSK tick driven by"
- prop JSName :: "DRIVETSKTICK"
- prop Visible :: 1
- prop Writable :: self.USETSK
- prop NoGen :: 1
- prop Set :: (if ($1 != self.TSKTICK) {if ($1 == "PRD") {PRD.THOOKFXN = PRD.DEFAULT_THOOKFXN, if (TSK.USETSK == 1) {if (PRD_clock.iIsUsed == 1) {PRD_clock.function = @PRD_F_tick} } } , if ($1 == "User") {PRD.THOOKFXN = @_FXN_F_nop, if (PRD.gNumOf == 0) {if (PRD_clock.iIsUsed == 1) {PRD_clock.function = @FXN_F_nop} } } , if ($1 != "PRD" && $1 != "User") {self.error("Invalid TSK tick driver selection")} } , self.TSKTICK = $1, "ok")
- }
- inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {
- prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "comment"
- prop JSName :: "comment"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "USER" {1} else {0}
- prop NoGen :: 1
- }
- inst iIsUsed :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iId :: 0 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x01
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 1
- }
- inst iDelUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iDelMsg :: "ok" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iFXN :: @_FXN_F_nop {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Task function"
- prop JSName :: "fxn"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "TSK" {0} else {1}
- prop TabName :: "Function"
- }
- inst iARG0 :: 0 {
- prop Type :: "{E91790E0-0456-11d2-B8D0-006008BDB66F}"
- prop Label :: "Task function argument 0"
- prop JSName :: "arg0"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "TSK" {0} else {1}
- prop TabName :: "Function"
- }
- inst iARG1 :: 0 {
- prop Type :: "{E91790E0-0456-11d2-B8D0-006008BDB66F}"
- prop Label :: "Task function argument 1"
- prop JSName :: "arg1"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "TSK" {0} else {1}
- prop TabName :: "Function"
- }
- inst iARG2 :: 0 {
- prop Type :: "{E91790E0-0456-11d2-B8D0-006008BDB66F}"
- prop Label :: "Task function argument 2"
- prop JSName :: "arg2"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "TSK" {0} else {1}
- prop TabName :: "Function"
- }
- inst iARG3 :: 0 {
- prop Type :: "{E91790E0-0456-11d2-B8D0-006008BDB66F}"
- prop Label :: "Task function argument 3"
- prop JSName :: "arg3"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "TSK" {0} else {1}
- prop TabName :: "Function"
- }
- inst iARG4 :: 0 {
- prop Type :: "{E91790E0-0456-11d2-B8D0-006008BDB66F}"
- prop Label :: "Task function argument 4"
- prop JSName :: "arg4"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "TSK" {0} else {1}
- prop TabName :: "Function"
- }
- inst iARG5 :: 0 {
- prop Type :: "{E91790E0-0456-11d2-B8D0-006008BDB66F}"
- prop Label :: "Task function argument 5"
- prop JSName :: "arg5"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "TSK" {0} else {1}
- prop TabName :: "Function"
- }
- inst iARG6 :: 0 {
- prop Type :: "{E91790E0-0456-11d2-B8D0-006008BDB66F}"
- prop Label :: "Task function argument 6"
- prop JSName :: "arg6"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "TSK" {0} else {1}
- prop TabName :: "Function"
- }
- inst iARG7 :: 0 {
- prop Type :: "{E91790E0-0456-11d2-B8D0-006008BDB66F}"
- prop Label :: "Task function argument 7"
- prop JSName :: "arg7"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "TSK" {0} else {1}
- prop TabName :: "Function"
- }
- inst iAUTOSTK :: 1 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Automatically allocate stack"
- prop JSName :: "autoAllocateStack"
- prop Set :: (if (($1 == 1) && (self.iAUTOSTK == 0)) {self.iSTKSZ = TSK.STACKSIZE} , self.iAUTOSTK = $1, "ok")
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "TSK" {0} else {1}
- }
- inst iMANSTK :: @null {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Manually allocated stack"
- prop JSName :: "manualStack"
- prop Visible :: 1
- prop Writable :: self.iAUTOSTK == 0
- }
- inst iSTKSZ :: TSK.STACKSIZE {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x01
- prop Label :: "Stack size (MAUs)"
- prop JSName :: "stackSize"
- prop Visible :: 1
- prop Writable :: 1
- prop Set :: ($a = $1, if ($a < 32) {if (GBL.DSPSUBTYPE == 62) {self.error("Task stack size is too small.")} else {if ($a < 32) {self.error("Task stack size is too small.")} else {self.iSTKSZ = ($1 - ($1 - 1) % 8 + 7), GlobalStatus.gDirty = 1, "ok"}}} else {self.iSTKSZ = ($1 - ($1 - 1) % 8 + 7), GlobalStatus.gDirty = 1, "ok"})
- }
- inst iSTKSEG :: = self.OBJMEMSEG {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop MemberType :: MEM
- prop MemberTest :: $1 == MEM_NULL || MEM.dataMember($1)
- prop Label :: "Stack Memory Segment"
- prop JSName :: "stackMemSeg"
- prop Visible :: 1
- prop Writable :: 1
- }
- inst iPRI :: TSK.PRIORITY {
- prop Label :: "Priority"
- prop JSName :: "priority"
- prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"
- prop Enum :: "-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
- prop Visible :: 1
- prop Writable :: 1
- prop Set :: (if (self == TSK_idle) {if ($1 == 0) {"ok"} else {self.error("Cannot change the priority of the idle task.")}} else {if ($1 == 0) {self.error("Priority 0 is reserved for the system idle task")} else {self.iPRI = $1, "ok"}})
- }
- inst iENV :: 0 {
- prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Environment pointer"
- prop JSName :: "envPointer"
- prop Visible :: 1
- prop Writable :: self.iDelUser != "TSK"
- prop TabName :: "Advanced"
- }
- inst iEXITFLAG :: 1 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Don't shut down system while this task is still running"
- prop JSName :: "exitFlag"
- prop Visible :: 1
- prop Writable :: 1
- prop TabName :: "Advanced"
- }
- inst iUSETSKNAME :: 0 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Allocate Task Name on Target"
- prop JSName :: "allocateTaskName"
- prop Visible :: 1
- prop Writable :: 1
- prop TabName :: "Advanced"
- }
- inst iSTATREG :: = GBL.CACHE {
- prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
- prop Format :: "0x%08x"
- prop Label :: "Initial Status Register value"
- prop Visible :: 0
- prop Writable :: 1
- }
- inst Order :: 0 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop JSName :: "order"
- prop NoGen :: 1
- prop Writable :: 1
- }
- }
- object TSK_idle :: TSK {
- param iComment :: "This is the idle task; it only runs when no other task is ready"
- param iIsUsed :: 1
- param iId :: 0
- param iDelUser :: "TSK"
- param iDelMsg :: "This task executes all IDL functions and cannot be deleted"
- param iFXN :: @IDL_F_loop
- param iARG0 :: 0
- param iARG1 :: 0
- param iARG2 :: 0
- param iARG3 :: 0
- param iARG4 :: 0
- param iARG5 :: 0
- param iARG6 :: 0
- param iARG7 :: 0
- param iAUTOSTK :: 1
- param iMANSTK :: @null
- param iSTKSZ :: 1024
- param iSTKSEG :: SDRAM
- param iPRI :: 0
- param iENV :: 0
- param iEXITFLAG :: 1
- param iUSETSKNAME :: 0
- param Order :: 1
- }
- object KNL_swi :: SWI {
- param iComment :: "This Software Interrupt calls the TSK scheduler"
- param iIsUsed :: 1
- param iId :: 0
- param iDelUser :: "TSK"
- param iDelMsg :: "This object cannot be deleted in DSP/BIOS."
- param function :: @_KNL_run
- param pri :: 0
- param mailbox :: 0
- param arg0 :: 0
- param arg1 :: 0
- param dorta :: 1
- param Order :: 2
- }
- type IDL {
- isa ObjectMgr
- prop Label :: "IDL - Idle Function Manager"
- prop name :: "IDL"
- prop IsContainedIn :: SCH
- prop GlobalIcon :: 111
- prop InstanceIcon :: 112
- prop GlobalHelpTopic :: (106)
- prop InstanceHelpTopic :: (206)
- prop InstancePropertyPage :: ("{586735F1-770B-11d0-A61F-0000C070F3E9}")
- prop GlobalPropertyPage :: ("{586735F0-770B-11d0-A61F-0000C070F3E9}")
- prop GenLinkPrologue :: ("SECTIONS {%4tn.%1L: {%8tn %1U_A_TABBEG = .;n %3Sn %1U_A_TABEND = .;n %1U_A_TABLEN = (. - %1U_A_TABBEG) / %2d;, name, _objSize, _linkString")
- prop GenLinkEpilogue :: ("%8t %1U_A_CALBEG = .;n %4Sn %1U_A_CALEND = .;n %1U_A_CALLEN = (. - %1U_A_CALBEG) / %2d;%4tn} > %3s%5s%0tn}n%6Sn, name, _objSize, _memSeg, _linkCalString, _pageString, _nilBusyObj")
- prop _linkString :: "*(.%1L)"
- prop _linkCalString :: "*(.%1Lcal)"
- prop _pageString :: if GBL.DSPTYPE == 62 {""} else {if GBL.DSPTYPE == 55 {""} else {" PAGE 1"}}
- prop _nilBusyObj :: (if ((IDL.USEIDLBUSYOBJ == 0) && (GBL.ROM == 1)) {"IDL_busyObj = 0;n"} else {""})
- prop _memSeg :: IDL.OBJMEMSEG
- prop _objSize :: if GBL.DSPTYPE == 55 {(2 * (2 * 4))} else {(2 * 4)}
- prop dataSize :: ((2 * 4) * (IDL.gNumOf + 1))
- prop maxObjs :: (32767)
- prop SortByField :: "iPri"
- prop SortGroups :: 1
- prop idlFxnSum :: ($a = 0, scan ($i; IDL) {$a += $i.cycles}, $a)
- global gUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gSetOf :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gNumOf :: 3 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gDirty :: 1 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInitFlag :: 1 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global OBJMEMSEG :: SDRAM {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop MemberType :: MEM
- prop MemberTest :: MEM.dataMember($1)
- prop Label :: "Object Memory"
- prop JSName :: "OBJMEMSEG"
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 1
- }
- global AUTOCALCULATE :: 1 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Auto calculate idle loop instruction count"
- prop JSName :: "AUTOCALCULATE"
- prop Visible :: 1
- prop Writable :: CLK.USETIMER
- prop Set :: (if ($1 == 1 && CLK.USETIMER == 0) {self.error("CLK must be enabled to do idle loop intruction count")} else {if ($1 == 1 && GBL.ENABLEINST == 0) {self.error("Real Time Analysis must be enabled to do idle loop instuction count")} else {self.AUTOCALCULATE = $1, "ok"}})
- prop NoGen :: 1
- }
- global USECLKIDLTIME :: = IDL.AUTOCALCULATE {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 0
- }
- global USEIDLBUSYOBJ :: 1 {
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global CALIBRFXN :: = (if (IDL.AUTOCALCULATE == 1) {if TSK.USETSK {(if GBL.DSPSUBTYPE == 5502 {@IDL_F_stub5502} else {@IDL_F_stub})} else {if (GBL.DSPSUBTYPE == 5502) {@IDL_F_calibrate5502} else {@IDL_F_calibrate}}} else {@GBL_NULL}) {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop Label :: "Idle Loop Auto-Calibrate Function"
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 0
- }
- global CALIBRERROR :: = (if (GBL.DSPTYPE == 62 && IDL.CALIBRFXN == @IDL_F_stub) {6} else {0}) {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "Idle Loop Auto-Calibrate Error"
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 1
- }
- global LOOPOVERHEAD :: 0 {
- prop Label :: "Idle Loop Instruction Count"
- prop JSName :: "LOOPINSTCOUNT"
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 1
- prop Writable :: self.AUTOCALCULATE == 0
- prop NoGen :: 1
- }
- inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {
- prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "comment"
- prop JSName :: "comment"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "USER" {1} else {0}
- prop NoGen :: 1
- }
- inst iIsUsed :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iId :: 0 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x01
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 1
- }
- inst iDelUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iDelMsg :: "ok" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst function :: @_FXN_F_nop {
- prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
- prop JSName :: "fxn"
- prop Visible :: 1
- prop Writable :: (if self.iDelUser == "USER" {1} else {0})
- prop NoGen :: 0
- }
- inst cycles :: 0 {
- prop Label :: "CPU cycles"
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- prop Writable :: if (self.iDelUser == "USER") {1} else {0}
- prop NoGen :: 1
- }
- inst calibration :: 1 {
- prop Label :: "Include in CPU load calibration"
- prop JSName :: "calibration"
- prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 1
- prop Writable :: if (self.iDelUser == "USER") {1} else {0}
- prop NoGen :: 0
- }
- inst Order :: 0 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop JSName :: "order"
- prop NoGen :: 1
- prop Writable :: 1
- }
- inst iPri :: 0 {
- prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- prop NoGen :: 1
- }
- }
- object IDL_cpuLoad :: IDL {
- param iComment :: "This object is required by the system to acquire CPU load data"
- param iIsUsed :: 1
- param iId :: 0
- param iDelUser :: "IDL"
- param iDelMsg :: "This object is required to compute CPU load and can't be deleted"
- param function :: @IDL_F_busy
- param cycles :: 0
- param calibration :: 1
- param Order :: 3
- param iPri :: 0
- }
- object IDL_busyObj :: STS {
- param iComment :: "This object is required by the system to accumulate CPU load statistics"
- param iIsUsed :: 1
- param iId :: 0
- param iDelUser :: "IDL"
- param iDelMsg :: "This object is required to accumulate CPU load data and can't be deleted"
- param prev :: 0
- param format :: "%g"
- param unittype :: "Not time based"
- param operation :: "Nothing"
- param iA :: 1
- param iB :: 0
- param iC :: 1
- param prevhigh :: 0
- param prevlow :: 0
- }
- type ISRC {
- isa ObjectMgr
- prop name :: "ISRC"
- prop Label :: "ISRC - Interrupt Sources"
- prop IsConfMod :: 1
- prop Visible :: 0
- prop InstancePropertyPage :: ("{91BA37C0-98C3-11d1-988B-0020AFEE33C6}")
- prop GlobalPropertyPage :: ("{91BA37C1-98C3-11d1-988B-0020AFEE33C6}")
- global gUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gSetOf :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gNumOf :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gDirty :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInitFlag :: 1 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} {
- prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Label :: "comment"
- prop JSName :: "comment"
- prop Visible :: 1
- prop Writable :: if self.iDelUser == "USER" {1} else {0}
- prop NoGen :: 1
- }
- inst iIsUsed :: 0 {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iId :: 0 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Style :: 0x01
- prop Visible :: 0
- prop Writable :: 1
- prop NoGen :: 1
- }
- inst iDelUser :: "USER" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iDelMsg :: "ok" {
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- inst iHwi :: HWI_UNUSED {
- prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
- prop MemberType :: HWI
- prop MemberTest :: 1
- prop Visible :: 1
- prop Writable :: 1
- prop NoGen :: 1
- }
- inst iIntrSelectNum :: 0 {
- prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
- prop Visible :: 0
- prop Writable :: 0
- prop NoGen :: 1
- }
- }
- object Reset :: ISRC {
- param iComment :: "<add comments here>"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "USER"
- param iDelMsg :: "ok"
- param iHwi :: HWI_RESET
- param iIntrSelectNum :: -1
- }
- object Non_Maskable :: ISRC {
- param iComment :: "<add comments here>"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "USER"
- param iDelMsg :: "ok"
- param iHwi :: HWI_NMI
- param iIntrSelectNum :: -1
- }
- object Reserved :: ISRC {
- param iComment :: "<add comments here>"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "USER"
- param iDelMsg :: "ok"
- param iHwi :: HWI_RESERVED0
- param iIntrSelectNum :: -1
- }
- object Host_Port_Host_to_DSP :: ISRC {
- param iComment :: "<add comments here>"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "USER"
- param iDelMsg :: "ok"
- param iHwi :: HWI_INT13
- param iIntrSelectNum :: 0
- }
- object Timer_0 :: ISRC {
- param iComment :: "<add comments here>"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "USER"
- param iDelMsg :: "ok"
- param iHwi :: HWI_INT14
- param iIntrSelectNum :: 1
- }
- object Timer_1 :: ISRC {
- param iComment :: "<add comments here>"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "USER"
- param iDelMsg :: "ok"
- param iHwi :: HWI_INT15
- param iIntrSelectNum :: 2
- }
- object EMIF_SDRAM_Timer :: ISRC {
- param iComment :: "<add comments here>"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "USER"
- param iDelMsg :: "ok"
- param iHwi :: HWI_INT10
- param iIntrSelectNum :: 3
- }
- object External_Pin_4 :: ISRC {
- param iComment :: "<add comments here>"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "USER"
- param iDelMsg :: "ok"
- param iHwi :: HWI_INT4
- param iIntrSelectNum :: 4
- }
- object External_Pin_5 :: ISRC {
- param iComment :: "<add comments here>"
- param iIsUsed :: 0
- param iId :: 0
- param iDelUser :: "USER"