📄 simple_bios.cdb
字号:
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 elemType :: "C Source" { prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}" prop Enum :: "C Source,ASM Source,Library,Linker Command File" prop Label :: "Input File Type" prop Visible :: 0 prop Writable :: 1 prop NoGen :: 1 } inst elemName :: "$(PROG)" { prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Input File Name" prop Visible :: 0 prop Writable :: 1 prop NoGen :: 1 } inst optLevel :: "register+local+global" { prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}" prop Enum :: "register,register+local,register+local+global,register+local+global+file" prop Label :: "Optimization Level" prop Visible :: 0 prop Writable :: if self.elemType == "C Source" {1} else {0} prop NoGen :: 1 } inst inline :: 1 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Inline Expansion" prop Visible :: 0 prop Writable :: if self.elemType == "C Source" {1} else {0} prop NoGen :: 1 } inst definitions :: "" { prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Additional Definitions" prop Visible :: 0 prop Writable :: if self.elemType == "C Source" {1} else {0} prop NoGen :: 1 } inst iParent :: 0 { prop Visible :: 0 prop Writable :: 1 prop NoGen :: 1 }}type GBL { isa Module prop name :: "GBL" prop Label :: "Global Settings" prop IsContainedIn :: SYSTEM prop cGen :: 0 prop GenLinkPrologue :: ("%10S\nSECTIONS {%4t\n.vers (COPY): {} /* version information */%0t\n}\n\n-priority\n--trampolines\n%1S%22S-l%2S%23S%3S\n%24S%15S%4S%16S%18S%5S%6S%12S%7S%17S\0, _autoInitStr, _board, _librarySuffix, _devLibStr, _biosLibStr, _rtdxLibStr, _rtsLibStr, _librarySuffix, _compilerModel, _lnkCmdStr, _lnkCmdFile, _cslLibStr, _chipType, _librarySuffix, _chipStr, _sioLibStr, _mpcLibStr, _bios6xLibStr, _bios6xClkType, _instStr, _rtsNameStr, _romStr, _biosRomStr, _logLibStr") prop GenLinkEpilogue :: ($a = "%0t_GBL_CACHE = GBL_CACHE;\n\0", if (self.LINKWITHROM) {if (MSGQ.USEMSGQ) {if (POOL.USEPOOL) {$a = "%0t_GBL_CACHE = GBL_CACHE;\n\0"} else {$a = "%0t_GBL_CACHE = GBL_CACHE;\n_POOL_config=0;\n\0"}} else {if (POOL.USEPOOL) {$a = "%0t_GBL_CACHE = GBL_CACHE;\n_MSGQ_config=0;\n\0"} else {$a = "%0t_GBL_CACHE = GBL_CACHE;\n_MSGQ_config=0;\n_POOL_config=0;\n\0"}}} , $a) prop ConfigurationClass :: "{2779A121-92CC-11d1-A63D-0000C070F3E9}" prop GlobalIcon :: 105 prop InstanceIcon :: 106 prop GlobalHelpTopic :: (103) prop InstanceHelpTopic :: (103) prop InstancePropertyPage :: ("{B7240DE4-AA51-11cf-9BFE-0000C0AC14C7}") prop GlobalPropertyPage :: ("{B7240DE5-AA51-11cf-9BFE-0000C0AC14C7}") prop localInit :: (RTA_toHost.Create("HST"), RTA_fromHost.Create("HST"), RTA_dispatcher.Create("HST"), IDL_busyObj.Create("IDL"), IDL.USEIDLBUSYOBJ = 1, IDL_cpuLoad.Create("IDL")) prop chipcall :: ("ok") prop IsConfMod :: 1 prop L2Check :: (if (self.DSPSUBTYPE == 6211 || self.DSPSUBTYPE == 6711) {self.PCC = "mapped", if (self.C641XL2CONFIGURE == 1) {self.C641XL2CONFIGURE = 0, self.L2CONFIGALLOC = 0} , self.L2CacheSizeCheck()} else {if (self.DSPSUBTYPE == 6400) {self.PCC = "mapped", if (self.C621XL2CONFIGURE == 1) {self.C621XL2CONFIGURE = 0} , self.L2CacheSizeCheck()} else {if (self.C621XL2CONFIGURE == 1) {self.C621XL2CONFIGURE = 0, self.L2CacheSizeCheck()} else {if (self.C641XL2CONFIGURE == 1) {self.C641XL2CONFIGURE = 0, self.L2CONFIGALLOC = 0, self.L2CacheSizeCheck()} }}}) prop C621xL2CacheSizeCheck :: ($e = "ok", $a = CACHE_L2.base, $b = CACHE_L2.len, if (self.C621XL2CONFIGURE == 0) {CACHE_L2.Delete("MEM")} else {if (self.L2MODEOPTS == "SRAM") {CACHE_L2.base = CACHE_L2.base + CACHE_L2.len, CACHE_L2.len = 0x0, CACHE_L2.Delete("MEM")} else {if (self.L2MODEOPTS == "1-way cache") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x4000, CACHE_L2.len = 0x4000} else {if (self.L2MODEOPTS == "2-way cache") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x8000, CACHE_L2.len = 0x8000} else {if (self.L2MODEOPTS == "3-way cache") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0xc000, CACHE_L2.len = 0xc000} else {if (self.L2MODEOPTS == "4-way cache") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x10000, CACHE_L2.len = 0x10000} }}}}}, $e) prop C641xL2CacheSizeCheck :: ($e = "ok", $a = CACHE_L2.base, $b = CACHE_L2.len, if (self.C641XL2CONFIGURE == 0) {CACHE_L2.Delete("MEM")} else {if (self.C641XL2MODEOPTS == "4-way cache (0k)") {CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x0, CACHE_L2.len = 0x0, CACHE_L2.Delete("MEM")} else {if (self.C641XL2MODEOPTS == "4-way cache (32k)") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x8000, CACHE_L2.len = 0x8000} else {if (self.C641XL2MODEOPTS == "4-way cache (64k)") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x10000, CACHE_L2.len = 0x10000} else {if (self.C641XL2MODEOPTS == "4-way cache (128k)") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x20000, CACHE_L2.len = 0x20000} else {if (self.C641XL2MODEOPTS == "4-way cache (256k)") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x40000, CACHE_L2.len = 0x40000} }}}}}, $e) prop C64PL2CacheSizeCheck :: ($e = "ok", if (self.C64PL2CONFIGURE == 0) {CACHE_L2.Delete("MEM")} else {if (self.C64PL2MODEOPTS == "0k") {CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x0, CACHE_L2.len = 0x0, CACHE_L2.Delete("MEM")} else {if (self.C64PL2MODEOPTS == "32k") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x8000, CACHE_L2.len = 0x8000} else {if (self.C64PL2MODEOPTS == "64k") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x10000, CACHE_L2.len = 0x10000} else {if (self.C64PL2MODEOPTS == "128k") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x20000, CACHE_L2.len = 0x20000} else {if (self.C64PL2MODEOPTS == "256k") {CACHE_L2.Create("MEM"), CACHE_L2.base = CACHE_L2.base + CACHE_L2.len - 0x40000, CACHE_L2.len = 0x40000} else {$e = self.error("Unknown cache size")}}}}}}, $e) prop L2CacheSizeCheck :: ($e = "ok", scan ($i; MEM) {if ($i == CACHE_L2) {if self.C621XL2CONFIGURE {$e = self.C621xL2CacheSizeCheck()} else {if self.C641XL2CONFIGURE {$e = self.C641xL2CacheSizeCheck()} else {if self.DSPSUBTYPE == 6211 || self.DSPSUBTYPE == 6711 {$e = self.C621xL2CacheSizeCheck()} else {if self.DSPSUBTYPE == 6400 {$e = self.C641xL2CacheSizeCheck()} else {{CACHE_L2.base = 0x0, CACHE_L2.len = 0x0, CACHE_L2.Delete("MEM")}}}}}} }, $e) prop setCPUClock :: ($e = "ok", if ($1 != self.CPUCLOCK) {$a = self.CPUCLOCK, self.CPUCLOCK = $1, if (GBL.CALLBACKOBJ != nil) {$e = GBL.CALLBACKOBJ.call()} , if ($e != "ok") {self.CPUCLOCK = $a, GBL.CALLBACKOBJ.call()} } , if ($e == "ok") {"ok"} else {self.error($e)}) prop setL2MODE :: (if (self.L2MODEOPTS == "SRAM") {0x0} else {if (self.L2MODEOPTS == "1-way cache") {0x1} else {if (self.L2MODEOPTS == "2-way cache") {0x2} else {if (self.L2MODEOPTS == "3-way cache") {0x3} else {0x7}}}}) prop setC641XL2MODE :: (if (self.C641XL2MODEOPTS == "4-way cache (0k)") {0x0} else {if (self.C641XL2MODEOPTS == "4-way cache (32k)") {0x1} else {if (self.C641XL2MODEOPTS == "4-way cache (64k)") {0x2} else {if (self.C641XL2MODEOPTS == "4-way cache (128k)") {0x3} else {0x7}}}}) prop _cint00Str :: "-u_c_int00 %24t/* link with alternate boot.obj */%0t\n" prop _autoInitStr :: "" prop _board :: (if (HST.RTDX == 1) {"lnkrtdx"} else {if (HST.DSM == 1) {"lnkdsm"} else {if (HST.EVM54 == 1) {"lnkevm54"} else {"lnknone"}}}) prop _dsptype :: GBL.DSPTYPE prop _instStr :: if self.INSTRUMENTED {""} else {"_NONINST"} prop _rtsNameStr :: (self.RTSLIB) prop _biosLibStr :: "-lbios%20S%23S%8S %24t/* DSP/BIOS support */%0t\n" prop _compilerModel :: if self.ENDIAN == "big" {"e"} else {""} prop _librarySuffix :: (if (self.DSPSUBTYPE == 6700 || self.DSPSUBTYPE == 6711 || self.DSPSUBTYPE == 6712 || self.DSPSUBTYPE == 6713) {if (self.ENDIAN == "big") {".a67e"} else {".a67"}} else {if (self.DSPSUBTYPE == 6400) {if (self.ENDIAN == "big") {".a64e"} else {".a64"}} else {if (self.DSPSUBTYPE == 6499) {if (self.ENDIAN == "big") {".a64Pe"} else {".a64P"}} else {if (self.DSPSUBTYPE == 6799) {if (self.ENDIAN == "big") {".a67Pe"} else {".a67P"}} else {if (self.ENDIAN == "big") {".a62e"} else {".a62"}}}}}) prop _rtdxLibStr :: if RTDX.USERTDX == 0 {""} else {if RTDX.RTDXTYPE == "JTAG" {"-lrtdx%9S.lib %24t/* RTDX support */%0t\n"} else {if RTDX.RTDXTYPE == "Simulator" {"-lrtdxsim%9S.lib %24t/* RTDX support */%0t\n"} else {"-lrtdxhs%9S.lib %24t/* RTDX support */%0t\n"}}} prop _rtsLibStr :: (if self.SPECIFYRTSLIB {"-l%21S%24t/* C and C++ run-time library support */%0t\n"} else {if self.DSPSUBTYPE == 6700 || self.DSPSUBTYPE == 6711 {"-lrts6700%9S.lib%24t/* C and C++ run-time library support */%0t\n"} else {if self.DSPSUBTYPE == 6400 {"-lrts6400%9S.lib%24t/* C and C++ run-time library support */%0t\n"} else {if self.DSPSUBTYPE == 6799 {"-lrts67plus%9S.lib%24t/* C and C++ run-time library support */%0t\n"} else {if self.DSPSUBTYPE == 6499 {"-lrts64plus%9S.lib%24t/* C and C++ run-time library support */%0t\n"} else {"-lrts6200%9S.lib%24t/* C and C++ run-time library support */%0t\n"}}}}}) prop _bios6xClkType :: (if self.CLKTYPE == 6000 {"C6000"} else {if self.CLKTYPE == 700 {"DA700"} else {if self.CLKTYPE == 420 {"DM420"} else {if self.CLKTYPE == 2430 {"2430"} else {if self.CLKTYPE == 6482 {"TCI6482"} else {""}}}}}) prop _bios6xLibStr :: ("-lbios%19S%23S%8S%24t/* BIOS clock specific library */%0t\n") prop _chipStr :: "" prop _mpcLibStr :: if MEM.USEMPC {"-lmpc%8S %24t/* supports MPC calls */%0t\n"} else {""} prop _lnkCmdFile :: MEM.LNKCMDFILE prop _lnkCmdStr :: (if (MEM.LNKCMDFILE == "") {""} else {"-l%11S %24t/* User Specified Linker cmd file */%0t\n"}) prop _sioLibStr :: if SIO.USEISSUERECLAIM == 1 {"-lsioir%23S%8S %24t/* supports SIO Issue/Reclaim model only */%0t\n"} else {"-lsioboth%23S%8S %24t/* supports both SIO models */%0t\n"} prop _devLibStr :: "-ldrivers%23S%14S %24t/* device drivers support */%0t\n" prop _cslLibStr :: "" prop _chipType :: "" prop _logLibStr :: if LOG.TS {"-llog8%3S\n"} else {""} prop _romStr :: if self.LINKWITHROM {"-lromC672x.out\n-lromC672x.cmd\n"} else {""} prop _biosRomStr :: if self.LINKWITHROM {"_BIOSROM"} else {""} 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 PRODUCT :: 0 { prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}" prop NoGen :: 1 prop Visible :: 0 prop Writable :: 1 prop EnvField :: 1 } global CALLBACKOBJ :: CLK { prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global CHIPCHAIN :: nil { prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global TRACE :: "CD-01234567" { prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Trace Mask" prop NoGen :: 1 prop Visible :: 0 prop Writable :: 0 } global BOARD :: "c67x+" { prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Target Board Name" prop JSName :: "BOARDNAME" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 } global ROM :: 0 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Link to ROM Library" prop Visible :: 0 prop Writable :: 0 prop NoGen :: 0 } global CPUCLOCK :: 300.000000 { prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}" prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global PROCID :: = 0 { prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}" prop Style :: 0x01 prop Label :: "Processor ID (PROCID)" prop JSName :: "PROCID" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 0 } global CLKIN :: = 20000 { prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}" prop Style :: 0x20 prop Label :: "Board Clock in KHz (Informational Only)" prop JSName :: "CLKIN" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 0 } global FREQ :: 300000 { prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}" prop Style :: 0x20 prop Visible :: 0 prop Writable :: 0 prop NoGen :: 0 } global MIPS :: 300.000000 { prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}" prop Style :: 0x04 prop Format :: "%.4f" prop Label :: "DSP Speed In MHz (CLKOUT)" prop JSName :: "CLKOUT" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop Set :: ($a = self.MIPS, $b = if (GBL.DSPTYPE == 62) {$1} else {$1 * 2}, $e = "ok", self.MIPS = $1, self.FREQ = int(self.MIPS * 1000), if (($e = self.setCPUClock($b)) != "ok") {self.MIPS = $a} , $e) } global OSTYPE :: "BIOS" { prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}" prop Enum :: "BIOS" prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global DSPTYPE :: 62 { prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "DSP Major Type" prop JSName :: "DSPTYPE" prop Visible :: 0 prop Writable :: 0 prop NoGen :: 0 } global SPECIFYRTSLIB :: 0 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Specify RTS library" prop JSName :: "SPECIFYRTSLIB" prop NoGen :: 1 prop Visible :: 1 prop Writable :: 1 } global RTSLIB :: "" { prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -