📄 newecho.cdb
字号:
prop Writable :: 0 prop NoGen :: 1 } global DSPCHARSIZE :: = (if GBL.DSPTYPE == 62 {8} else {GBL.DSPWORDSIZE}) { prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "DSP Byte Size" prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global ENDIAN :: "little" { prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}" prop Enum :: "little,big" prop Label :: "DSP Endian Mode" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 } global AUTOINIT :: "ROM" { prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}" prop Enum :: "ROM,RAM" prop Label :: "C Autoinitialization Model" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 } global USERINIT :: 0 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Call user init function" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 0 prop Set :: (if ($1 == 0) {self.USERINITFXN = @_FXN_F_nop, self.USERINIT = $1} else {self.USERINIT = $1}, "ok") } global USERINITFXN :: @_FXN_F_nop { prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}" prop Label :: "User init function" prop Visible :: 1 prop Writable :: self.USERINIT prop NoGen :: 0 } global OLDAUTOCALCULATE :: 1 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "previous value for autocalculate" prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global ENABLEINST :: 1 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Enable Real Time Analysis" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 0 prop Set :: (if ($1 != self.ENABLEINST) {if ($1) {RTA_toHost.Create("HST"), RTA_fromHost.Create("HST"), RTA_dispatcher.Create("HST"), IDL_busyObj.Create("IDL"), IDL.USEIDLBUSYOBJ = 1, IDL_cpuLoad.Create("IDL"), IDL.AUTOCALCULATE = self.OLDAUTOCALCULATE} else {RTA_toHost.Delete("HST"), RTA_fromHost.Delete("HST"), RTA_dispatcher.Delete("HST"), IDL_busyObj.Delete("IDL"), IDL.USEIDLBUSYOBJ = 0, IDL_cpuLoad.Delete("IDL"), self.OLDAUTOCALCULATE = IDL.AUTOCALCULATE, IDL.AUTOCALCULATE = 0}, self.ENABLEINST = $1} , "ok") } global PCC :: "mapped" { prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}" prop Enum :: "mapped,cache enable,cache freeze,cache bypass" prop Label :: "Program Cache Control" prop Visible :: 1 prop Writable :: if (GBL.DSPSUBTYPE == 6211 || GBL.DSPSUBTYPE == 6711) {0} else {1} prop NoGen :: 1 } global DCC :: "mapped" { prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}" prop Enum :: "mapped,cache enable,cache freeze,cache bypass" prop Label :: "Data Cache Control" prop Visible :: 0 prop Writable :: 1 prop NoGen :: 1 } global PCACHE :: = (if (self.PCC == "mapped") {0x0000} else {if (self.PCC == "cache enable") {0x0040} else {if (self.PCC == "cache freeze") {0x0060} else {0x0080}}}) { prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}" prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global DCACHE :: = (if (self.DCC == "mapped") {0x0000} else {if (self.DCC == "cache enable") {0x0008} else {if (self.DCC == "cache freeze") {0x000c} else {0x0010}}}) { prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}" prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global CACHE :: = (self.PCACHE | self.DCACHE) { prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}" prop Visible :: 0 prop Writable :: 0 prop NoGen :: 0 } global L2CONFIGURE :: 0 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Configure L2 Cache Control (c6x11 support)" prop Visible :: 1 prop Writable :: if (GBL.DSPSUBTYPE == 6211 || GBL.DSPSUBTYPE == 6711) {1} else {0} prop NoGen :: 0 } global L2MODEOPTS :: = "SRAM" { prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "L2 Mode - CCFG(L2MODE)" prop Enum :: "SRAM,1-way cache,2-way cache,3-way cache,4-way cache" prop Visible :: 1 prop Writable :: if ((GBL.DSPSUBTYPE == 6211 || GBL.DSPSUBTYPE == 6711) && GBL.L2CONFIGURE == 1) {1} else {0} prop NoGen :: 1 } global L2MODE :: = (self.setL2MODE()) { prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}" prop Label :: "L2 Mode - CCFG(L2MODE)" prop Enum :: "0,1,2,3,7" prop Visible :: 0 prop Writable :: if ((GBL.DSPSUBTYPE == 6211 || GBL.DSPSUBTYPE == 6711) && GBL.L2CONFIGURE == 1) {1} else {0} prop NoGen :: 0 } global L2PRIORITY :: 0 { prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}" prop Label :: "L2 Requestor Priority - CCFG(P)" prop Enum :: "0,1" prop Visible :: 1 prop Writable :: if ((GBL.DSPSUBTYPE == 6211 || GBL.DSPSUBTYPE == 6711) && GBL.L2CONFIGURE == 1) {1} else {0} prop NoGen :: 0 } global L2MARMASK :: 0 { prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}" prop Label :: "L2 MAR0-15 - bitmask used to initialize MARs" prop Format :: "0x%04x" prop Style :: 0x01 | 0x02 prop Visible :: 1 prop Writable :: if ((GBL.DSPSUBTYPE == 6211 || GBL.DSPSUBTYPE == 6711) && GBL.L2CONFIGURE == 1) {1} else {0} prop NoGen :: 0 }}type OBJ { isa ObjectMgr prop name :: "OBJ" prop Visible :: 0 prop AllocType :: ("1\0, _objMemDesc, _memSeg, _placement") prop _objMemDesc :: ("%8t .OBJ$bss: {}") prop _memSeg :: MEM.CFGOBJSEG prop _placement :: (0x7fffffff / 2) 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 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 }}type CLK { isa ObjectMgr prop name :: "CLK" prop Label :: "CLK - Clock Manager" prop IsConfMod :: 1 prop GlobalIcon :: 103 prop InstanceIcon :: 104 prop InstanceHelpTopic :: (202) prop GlobalHelpTopic :: (102) prop InstancePropertyPage :: ("{EEB2AB41-51E3-11d0-A61D-0000C070F3E9}") prop GlobalPropertyPage :: ("{EEB2AB40-51E3-11d0-A61D-0000C070F3E9}") prop GenLinkPrologue :: ("SECTIONS {%4t\n.%1L: {\n%8t CLK_F_gethtime = %5s;\n %1U_A_TABBEG = .;\n %4S\n %1U_A_TABEND = .;\n %1U_A_TABLEN = (. - %1U_A_TABBEG) / %2d;\n%4t} > %3s \0, name, _objSize, _memSeg, _linkString, clkFxn") prop GenLinkEpilogue :: ("%0t}\n_CLK_PRD = CLK_PRD;\n_CLK_COUNTSPMS = CLK_COUNTSPMS;\n_CLK_REGS = CLK_REGS;\n_CLK_USETIMER = CLK_USETIMER;\n\0") prop _linkString :: if self.gNumOf > 0 {"*(.%1L)"} else {"/* no CLK objs */"} prop _memSeg :: CLK.OBJMEMSEG prop _objSize :: 1 prop clkFxn :: if (self.USETIMER == 1) {self.CLKFXN} else {@FXN_F_zero} prop maxObjs :: (32767) prop localInit :: (if (GBL.CALLBACKOBJ != CLK) {CLK.gGBLChain = GBL.CALLBACKOBJ, GBL.CALLBACKOBJ = CLK} ) prop dataSize :: (1 * (CLK.gNumOf + 1)) prop localCanCreate :: (if self.USETIMER {"ok"} else {self.error("The CLK Manager must be enabled before inserting a CLK")}) prop localCreate :: (CLK.HOOKFXN = @HWI_F_dispatch, self.seizeHwi(self.WHICHHWI), "ok") prop localDelete :: (if (self.gNumOf == 1) {if (GBL.CALLMODEL == "far") {CLK.HOOKFXN = @CLK_F_frete, self.seizeHwi(self.WHICHHWI)} else {CLK.HOOKFXN = @CLK_F_rete, self.seizeHwi(self.WHICHHWI)}} , "ok") prop adjustPrd :: (if GBL.DSPTYPE == 62 {0} else {1}) prop seizeHwi :: (if ($1.client == "USER" && $1.function != @HWI_unused) {self.error("Interrupt mapped to selected timer is already in use.")} else {$1.function = @CLK_F_isr, $1.client = "CLK", $1.iUseDispatcher = (if CLK.HOOKFXN == @HWI_F_dispatch {1} else {0}), $1.iArg = (if $1.iUseDispatcher == 1 {@CLK_A_TABBEG} else {0}), HWI.gDirty = 1, "ok"}) prop releaseHwi :: ($1.function = @HWI_unused, $1.client = "USER", $1.iUseDispatcher = 0, $1.iArg = 0, HWI.gDirty = 1, "ok") prop setMicroseconds :: ($c = if self.FIXTDDR == 1 {(self.TDDR + 1.0) * (float(0xffffffff) + self.adjustPrd + 0.5) * 4 / GBL.CPUCLOCK} else {(0 + 1.0) * (float(0xffffffff) + self.adjustPrd + 0.5) * 4 / GBL.CPUCLOCK}, if ($1 < $c && $1 > 0.1) {if (self.FIXTDDR == 0) {self.TDDR = int(round((1.0 * $1 * GBL.CPUCLOCK / 4) - 1) / (0xffffffff + self.adjustPrd))} , self.PRD = int(round(1.0 * $1 * GBL.CPUCLOCK / (4 * (self.TDDR + 1.0)))) - CLK.adjustPrd, self.MICROSECONDS = ((float((self.PRD)) + CLK.adjustPrd) * ((self.TDDR) + 1.0) * 4 / GBL.CPUCLOCK), if (self.CALLBACKOBJ != nil) {self.CALLBACKOBJ.call()} , "ok"} else {self.error("The on-chip timer does not have enough range to support this combination of DSP MIPS and Microseconds/Int")}) prop call :: ($a = ((float((CLK.PRD)) + CLK.adjustPrd) * ((CLK.TDDR) + 1.0) * 4 / GBL.CPUCLOCK), $b = CLK.MICROSECONDS, $e = "ok", if (($e = self.setMicroseconds(CLK.MICROSECONDS)) == "ok") {if (CLK.gGBLChain != nil) {$e = CLK.gGBLChain.call()} , if ($e != "ok") {self.setMicroseconds($b), self.error($e)} else {"ok"}} else {$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 :: 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 gGBLChain :: nil { prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global OBJMEMSEG :: IDRAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: if GBL.DSPTYPE == 62 {$1.space != "code"} else {$1.space == "data"} prop Label :: "Object Memory" prop Visible :: 1 prop Writable :: self.USETIMER prop NoGen :: 1 } global WHICHHWI :: HWI_INT14 { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: HWI prop Label :: "CPU Interrupt" prop Visible :: 1 prop Writable :: 0 prop NoGen :: 1 } global INTBIT :: = self.WHICHHWI.iIntrEnableMask global WHICHTIMER :: "Timer 0" { prop Label :: "Timer Selection" prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}" prop Enum :: "Timer 0,Timer 1" prop Visible :: 1 prop Writable :: self.USETIMER prop NoGen :: 1 prop Set :: (if (self.WHICHTIMER != $1) {if (self.USETIMER == 0) {$e = "ok"} else {if ($1 == "Timer 0") {$a = Timer_0.iHwi} else {$a = Timer_1.iHwi}, $e = self.seizeHwi($a)}, if ($e == "ok") {self.releaseHwi(self.WHICHHWI), if ($1 == "Timer 0") {self.REGS = 0x01940000, self.WHICHHWI = Timer_0.iHwi} else {self.REGS = 0x01980000, self.WHICHHWI = Timer_1.iHwi}, self.WHICHTIMER = $1, self.HOOKFXN = if self.gNumOf > 0 {@HWI_F_dispatch} else {(if GBL.CALLMODEL == "far" {@CLK_F_frete} else {@CLK_F_rete})}, self.seizeHwi(self.WHICHHWI)} , $e} ) } global REGS :: 26476544 { prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}" prop Style :: 0x02 } global USETIMER :: 1 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Enable CLK Manager" prop Visible :: 1 prop Writable :: if self.gNumOf > 0 {0} else {1} prop NoGen :: 0 prop Set :: (if ($1 == 1 && self.USETIMER == 0) {if (($e = self.seizeHwi(self.WHICHHWI)) == "ok") {self.USETIMER = 1, if (GBL.ENABLEINST == 1) {IDL_busyObj.Create("IDL"), IDL.USEIDLBUSYOBJ = 1, IDL_cpuLoad.Create("IDL"), IDL.AUTOCALCULATE = GBL.OLDAUTOCALCULATE} , self.TIMEFXN = if CLK.HIRES {CLK.clkFxn()} else {@CLK_F_getltime}, self.HOOKFXN = if GBL.CALLMODEL == "far" {@CLK_F_frete} else {@CLK_F_rete}, self.seizeHwi(self.WHICHHWI)} , $e} else {if ($1 == 0 && self.USETIMER == 1) {self.releaseHwi(self.WHICHHWI), self.TIMEFXN = @FXN_F_zero, self.HOOKFXN = @FXN_F_nop, self.USETIMER = 0, if (GBL.ENABLEINST == 1) {IDL_busyObj.Delete("IDL"), IDL.USEIDLBUSYOBJ = 0, IDL_cpuLoad.Delete("IDL"), GBL.OLDAUTOCALCULATE = IDL.AUTOCALCULATE, IDL.AUTOCALCULATE = 0} , "ok"} else {"ok"}}) } global HIRES :: = 1 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Use high resolution time for internal timings" prop Visible :: 1 prop Writable :: self.USETIMER prop NoGen :: 1 prop Set :: (if (CLK.USETIMER) {CLK.HIRES = $1, if (CLK.USETIMER) {CLK.TIMEFXN = if CLK.HIRES {CLK.clkFxn()} else {@CLK_F_getltime}} , "ok"} else {self.error("CLK Manager must be enabled in order to get high resolution timings.")}) } global MICROSECONDS :: 1000.000000 { prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}" prop Style :: 0x04 prop Format :: "%.1f"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -