⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tsktest.cdb

📁 在TI公司TMS320F28XX系列DSP上应用BIOS的编程例子
💻 CDB
📖 第 1 页 / 共 5 页
字号:
    }    global PLLCR :: 10 {         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"        prop Format :: "0x%01x"        prop Style :: 0x01 | 0x02        prop Label :: "PLLCR Register value"        prop JSName :: "PLLCR"        prop Visible :: 1        prop Writable :: self.MODIFYPLLCR        prop NoGen :: 0    }    global PLLWAITCYCLE :: 131072 {         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"        prop Format :: "%d"        prop Style :: 0x20        prop Label :: "Cycles to wait for PLL lock"        prop JSName :: "PLLWAITCYCLE"        prop Visible :: 1        prop Writable :: self.MODIFYPLLCR        prop NoGen :: 0    }    global DSPARITHMETIC :: = (if (GBL.DSPTYPE == 62 && (GBL.DSPSUBTYPE / 100) == 67) {"FLOAT"} else {"FIXED"}) {         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"        prop Enum :: "FIXED,FLOAT"        prop Visible :: 0        prop Writable :: 0        prop NoGen :: 1    }    global DSPWORDSIZE :: = (if (GBL.DSPTYPE == 30 || GBL.DSPTYPE == 40 || GBL.DSPTYPE == 62) {32} else {16}) {         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"        prop Label :: "DSP Word Size"        prop Visible :: 0        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 DATAPTRSIZE :: = (if (GBL.DSPTYPE == 62) {32} else {if (GBL.DSPTYPE == 54) {16} else {if (GBL.DSPTYPE == 55) {if (GBL.MEMORYMODEL == "SMALL") {16} else {23}} else {if (GBL.DSPTYPE == 28) {22} else {0}}}}) {         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"        prop iComment :: "Size of the Data Pointer"        prop Visible :: 0        prop Writable :: 0        prop NoGen :: 1    }    global CODEPTRSIZE :: = (if (GBL.DSPTYPE == 62) {32} else {if (GBL.DSPTYPE == 54) {if (GBL.CALLMODEL == "near") {16} else {24}} else {if (GBL.DSPTYPE == 55) {24} else {if (GBL.DSPTYPE == 28) {22} else {0}}}}) {         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"        prop iComment :: "Size of Code Pointer"        prop Visible :: 0        prop Writable :: 0        prop NoGen :: 1    }    global MEMORYMODEL :: "LARGE" {         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"        prop Enum :: "LARGE"        prop Label :: "Memory Model"        prop JSName :: "MEMORYMODEL"        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 :: 0        prop Writable :: 1        prop NoGen :: 1    }    global USERINIT :: 0 {         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"        prop Label :: "Call User Init Function"        prop JSName :: "CALLUSERINITFXN"        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 JSName :: "USERINITFXN"        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 JSName :: "ENABLEINST"        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 CGENERATE :: 1 {         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"        prop Label :: "Do C Generation"        prop Visible :: 0        prop Writable :: 1        prop NoGen :: 1    }    global LARGEMODEL :: = if self.MEMORYMODEL == "LARGE" {1} else {0} {         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"        prop Visible :: 0        prop Writable :: 0        prop NoGen :: 0    }    global SUPPORTCSL :: = self.CHIPTYPE != "other" {         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"        prop NoGen :: 0    }    global ENABLEALLTRC :: 1 {         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"        prop Label :: "Enable All TRC Trace Event Classes"        prop JSName :: "ENABLEALLTRC"        prop Visible :: 1        prop Writable :: 1        prop NoGen :: 1        prop Set :: (if ($1) {self.TRCMASKVALUE = 0xDBEF} else {self.TRCMASKVALUE = 0x4000}, self.ENABLEALLTRC = $1, "ok")    }    global TRCMASKVALUE :: 56303 {         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"        prop NoGen :: 0    }    global CALLCSLCFGINIT :: = self.DISPCALLCSLCFGINIT {         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"        prop NoGen :: 0    }    global CDBPATH :: "" {         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"        prop Label :: "CDB search path in COFF file"        prop JSName :: "CDBRELATIVEPATH"        prop Visible :: 1        prop Writable :: 1        prop NoGen :: 1    }}type MEM {    isa ObjectMgr    prop Label :: "MEM - Memory Section Manager"    prop name :: "MEM"    prop DependsOn :: "SEM"    prop IsContainedIn :: SYSTEM    prop GlobalIcon :: 115    prop InstanceIcon :: 116    prop GlobalHelpTopic :: (108)    prop InstanceHelpTopic :: (208)    prop InstancePropertyPage :: ("{3D658E70-05E7-11d0-BD44-0020AFEE33C8}")    prop GlobalPropertyPage :: ("{3D658E71-05E7-11d0-BD44-0020AFEE33C8}")    prop GenLinkPrologue :: (if (GBL.DSPTYPE == 55) {"-stack 0x%1x\n-sysstack 0x%2x\n\nSECTIONS { .sysstack : block(0x20000) fill = 0xfeeb {%12t\nGBL_sysstackbeg = .;\n*(.sysstack)\nGBL_sysstackend = GBL_sysstackbeg + 0x%2x -1 ;%12t\n _HWI_SYSSTKTOP = GBL_sysstackbeg; %12t\n _HWI_SYSSTKBOTTOM =(GBL_sysstackend+1);\n%8t} > %3s}%0t\n\nMEMORY {%4t\0, _cmd55stksz, _cmd55systksz, _sysstackSeg"} else {"-stack 0x%1x\nMEMORY {%4t\0, _stackSize"})    prop _stackSize :: MEM.STACKSIZE    prop AllocType :: (if (self.REUSE == 0 && self.USERCMD == 0) {"21\0,	_argsString,	_argsSeg,	_midPlace, \		_sysdataString,	_sysdataSeg,	_thirdPlace, \		_trcinitString,	_trcinitSeg,	_midPlace, \		_gblinitString,	_gblinitSeg,	_midPlace, \		_memObjString,	_memObjSeg,	_midPlace, \		_sysinitString,	_initSeg,	_sysinitPlace, \		_sysregsString,	_regsSeg,	_midPlace, \		_bssString,	_bssSeg,	_firstPlace, \		_ebssString,	_ebssSeg,	_midPlace, \		_econstString,	_econstSeg,	_midPlace, \		_farString,	_farSeg,	_secondPlace, \		_cinitString,	_cinitSeg,	_midPlace, \		_pinitString,	_pinitSeg,	_midPlace, \		_dataString,	_dataSeg,	_midPlace, \		_constString,	_constSeg,	_midPlace, \		_switchString,	_switchSeg,	_midPlace, \		_cioString,	_cioSeg,	_midPlace, \		_textString,	_textSeg,	_midPlace, \		_frtString,	_frtSeg,	_midPlace, \		_biosString,	_biosSeg,	_midPlace, \		_stackString,	_stackSeg,	_midPlace"} else {if (self.REUSE == 0 && self.USERCMD == 1) {"9\0,	_argsString,	_argsSeg,	_midPlace, \		_sysdataString,	_sysdataSeg,	_thirdPlace, \		_trcinitString,	_trcinitSeg,	_midPlace, \		_gblinitString,	_gblinitSeg,	_midPlace, \		_memObjString,	_memObjSeg,	_midPlace, \		_sysinitString,	_initSeg,	_sysinitPlace, \		_sysregsString,	_regsSeg,	_midPlace, \		_biosString,	_biosSeg,	_midPlace, \		_stackString,	_stackSeg,	_midPlace"} else {if (self.REUSE == 1 && self.USERCMD == 0) {"20\0,	_argsString,	_argsSeg,	_midPlace, \		_sysdataString,	_sysdataSeg,	_thirdPlace, \		_trcinitString,	_trcinitSeg,	_midPlace, \		_gblinitString,	_gblinitSeg,	_midPlace, \		_memObjString,	_memObjSeg,	_midPlace, \		_sysregsString,	_regsSeg,	_midPlace, \		_bssString,	_bssSeg,	_firstPlace, \		_ebssString,	_ebssSeg,	_midPlace, \		_econstString,	_econstSeg,	_midPlace, \		_farString,	_farSeg,	_secondPlace, \		_cinitString,	_cinitSeg,	_midPlace, \		_pinitString,	_pinitSeg,	_midPlace, \		_dataString,	_dataSeg,	_midPlace, \		_constString,	_constSeg,	_midPlace, \		_switchString,	_switchSeg,	_midPlace, \		_cioString,	_cioSeg,	_midPlace, \		_textString,	_textSeg,	_midPlace, \		_frtString,	_frtSeg,	_midPlace, \		_biosString,	_biosSeg,	_midPlace, \		_stackString,	_stackSeg,	_midPlace"} else {"8\0,	_argsString,	_argsSeg,	_midPlace, \		_sysdataString,	_sysdataSeg,	_thirdPlace, \		_trcinitString,	_trcinitSeg,	_midPlace, \		_gblinitString,	_gblinitSeg,	_midPlace, \		_memObjString,	_memObjSeg,	_midPlace, \		_sysregsString,	_regsSeg,	_midPlace, \		_biosString,	_biosSeg,	_midPlace, \		_stackString,	_stackSeg,	_midPlace"}}})    prop _firstPlace :: 0    prop _secondPlace :: 0 + 1    prop _thirdPlace :: 0 + 2    prop _midPlace :: (0x7fffff / 2)    prop _sysinitPlace :: (0x7fffff / 2)    prop _argsString :: ("%8t .args: fill=0 {%12t\n *(.args)\n . += 0x%1x;%8t\n }\0, _argsSize")    prop _bssString :: ("%8t .bss:     {}")    prop _ebssString :: ("%8t .ebss:     {}")    prop _econstString :: (if (self.ENABLELOADSEG == 1) {if (MEM.ECONSTSEG == MEM.LOADECONSTSEG) {"%8t .econst:   {}"} else {if (MEM.LOADECONSTSEG.space() == "data") {"%8t .econst:   {} load > %1s PAGE 1, run\0, _loadeconstSeg, _pg"} else {"%8t .econst:   {} load > %1s PAGE 0, run\0, _loadeconstSeg, _pg"}}} else {"%8t .econst:    {}"})    prop _farString :: ("%8t .far:     {}")    prop _cinitString :: (if (self.ENABLELOADSEG == 1) {if (MEM.CINITSEG == MEM.LOADCINITSEG) {"%8t .cinit:    {}"} else {"%8t .cinit:   {} load > %1s%2s, run\0, _loadcinitSeg, _cinitpg"}} else {"%8t .cinit:    {}"})    prop _pinitString :: (if (self.ENABLELOADSEG == 1) {if (MEM.PINITSEG == MEM.LOADPINITSEG) {"%8t .pinit:   {}"} else {"%8t .pinit:   {} load > %1s%2s, run\0, _loadpinitSeg, _pinitpg"}} else {"%8t .pinit:   {}"})    prop _trcinitString :: (if (self.ENABLELOADSEG == 1) {"%8t .trcdata: START(_trcdata_loadstart), END(_trcdata_loadend), SIZE(_trcdata_loadsize), RUN_START(_trcdata_runstart) {\n %8t} load > %1s%2s, run\0, _loadtrcinitSeg, _trcdatapg"} else {"%8t .trcdata: START(_trcdata_loadstart), END(_trcdata_loadend), SIZE(_trcdata_loadsize), RUN_START(_trcdata_runstart) {\n %8t}"})    prop _gblinitString :: (if (self.ENABLELOADSEG == 1) {if (MEM.BIOSINITSEG == MEM.LOADBIOSINITSEG) {"%8t .gblinit:   {}"} else {"%8t .gblinit:   {} load > %1s%2s, run\0, _loadgblinitSeg, _gblinitpg"}} else {"%8t .gblinit:    {}"})    prop _dataString :: (if (self.ENABLELOADSEG == 1) {if (MEM.DATASEG == MEM.LOADDATASEG) {"%8t .data:    {}"} else {if (MEM.LOADDATASEG.space() == "data") {"%8t .data: {} load > %1s PAGE 1, run\0, _loaddataSeg"} else {"%8t .data: {} load > %1s PAGE 0, run\0, _loaddataSeg"}}} else {"%8t .data:    {}"})    prop _constString :: (if (self.ENABLELOADSEG == 1) {if (MEM.CONSTSEG == MEM.LOADCONSTSEG) {"%8t .const:   {}"} else {if ((28 == 54) || (28 == 28)) {"%8t .const:   {} load > %1s PAGE %2s, run\0, _loadconstSeg, _pg"} else {"%8t .const: {} load > %1s, run\0, _loadconstSeg"}}} else {"%8t .const:    {}"})    prop _switchString :: (if (self.ENABLELOADSEG == 1) {if (MEM.SWITCHSEG == MEM.LOADSWITCHSEG) {"%8t .switch:   {}"} else {"%8t .switch:   {} load > %1s%2s, run\0, _loadswitchSeg, _switchpg"}} else {"%8t .switch:    {}"})    prop _sysmemString :: ("%8t .sysmem:  {}")    prop _cioString :: ("%8t .cio:     {}")    prop _memObjString :: ("%8t .mem: 	  {}")    prop _sysdataString :: (if ((GBL.ROM == 0) && (GBL.DSPTYPE == 54)) {"%8t .sysdata: align = 128 {%12t\n GBL_A_SYSPAGE = .;\n GBL_A_SYSDP = GBL_A_SYSPAGE >> 7;\n %8t }"} else {"%8t .sysdata: {}"})    prop _sysinitString :: (if (self.ENABLELOADSEG == 1) {if (MEM.INITSEG == MEM.LOADINITSEG) {"%8t .sysinit:   {}"} else {"%8t .sysinit:   {} load > %1s%2s, run\0, _loadinitSeg, _sysinitpg"}} else {"%8t .sysinit:    {}"})    prop _sysregsString :: ("%8t .sysregs: {}")    prop _textString :: (if (self.ENABLELOADSEG == 1) {if (MEM.TEXTSEG == MEM.LOADTEXTSEG) {"%8t .text:    {}"} else {"%8t .text:    {} load > %1s%2s, run\0, _loadtextSeg, _textpg"}} else {"%8t .text:    {}"})    prop _frtString :: ("%8t frt:    {}")    prop _biosString :: (if (self.ENABLELOADSEG == 1) {if (MEM.BIOSSEG == MEM.LOADBIOSSEG) {"%8t .bios:    {}"} else {"%8t .bios:    {} load > %1s%2s, run\0, _loadbiosSeg, _biospg"}} else {"%8t .bios:    {}"})    prop _stackString :: (if (GBL.DSPTYPE == 62) {"%8t .stack: fill=0xc0ffee {%12t\n GBL_stackbeg = .;\n *(.stack)\n GBL_stackend = GBL_stackbeg + 0x%1x - 1;%12t\n _HWI_STKBOTTOM = GBL_stackbeg + 0x%1x - 4 & ~7;%12t\n _HWI_STKTOP = GBL_stackbeg;%8t\n }\0, _stackSize, _stackSize"} else {if (GBL.DSPTYPE == 54) {"%8t .stack: fill=0xbeef {%12t\n GBL_stackbeg = .;\n *(.stack)\n GBL_stackend = ((GBL_stackbeg + 0x%1x - 1) & 0xfffe) ;%8t\n _HWI_STKBOTTOM = GBL_stackend;%12t\n _HWI_STKTOP = GBL_stackbeg;%8t\n }\0, _stackSize"} else {if (GBL.DSPTYPE == 55) {"%8t .stack: block(0x20000) fill=0xbeef {%12t\n GBL_stackbeg = .;\n *(.stack)\n GBL_stackend = (GBL_stackbeg + 0x%1x - 1) ;%12t\n _HWI_STKBOTTOM = (GBL_stackend+1);%12t\n _HWI_STKTOP = (GBL_stackbeg);%8t\n }\0, _cmd55stksz"} else {"%8t .stack: fill=0xbeef {%12t\n GBL_stackbeg = .;\n *(.stack)\n GBL_stackend = GBL_stackbeg + 0x%1x - 1;%8t\n _HWI_STKBOTTOM = GBL_stackbeg;%12t\n _HWI_STKTOP = (GBL_stackend + 1);%8t\n }\0, _stackSize"}}})    prop _memHdrSize :: 8    prop GenLinkEpilogue :: ("%0t}")    prop _stackSeg :: MEM.STACKSEG    prop _textSeg :: MEM.TEXTSEG    prop _frtSeg :: MEM.TEXTSEG    prop _biosSeg :: MEM.BIOSSEG    prop _dataSeg :: MEM.DATASEG    prop _cioSeg :: MEM.CIOSEG    prop _sysmemSeg :: MEM.SYSMEMSEG    prop _constSeg :: MEM.CONSTSEG    prop _initSeg :: MEM.INITSEG    prop _pinitSeg :: MEM.PINITSEG    prop _trcinitSeg :: MEM.TRCINITSEG    prop _gblinitSeg :: MEM.BIOSINITSEG    prop _regsSeg :: MEM.SYSDATASEG    prop _sysdataSeg :: MEM.SYSDATASEG    prop _argsSeg :: MEM.ARGSSEG    prop _argsSize :: MEM.ARGSSIZE    prop _bssSeg :: MEM.BSSSEG    prop _ebssSeg :: MEM.EBSSSEG    prop _econstSeg :: MEM.ECONSTSEG    prop _farSeg :: MEM.FARSEG    prop _cinitSeg :: MEM.CINITSEG    prop _memObjSeg :: MEM.CFGOBJSEG    prop _switchSeg :: MEM.SWITCHSEG    prop _loadtextSeg :: MEM.LOADTEXTSEG    prop _loadbiosSeg :: MEM.LOADBIOSSEG    prop _loadeconstSeg :: MEM.LOADECONSTSEG    prop _loaddataSeg :: MEM.LOADDATASEG    prop _loadconstSeg :: MEM.LOADCONSTSEG    prop _loadinitSeg :: MEM.LOADINITSEG    prop _loadpinitSeg :: MEM.LOADPINITSEG    prop _loadtrcinitSeg :: MEM.LOADTRCINITSEG    prop _loadgblinitSeg :: MEM.LOADBIOSINITSEG    prop _loadcinitSeg :: MEM.LOADCINITSEG    prop _loadswitchSeg :: MEM.LOADSWITCHSEG    prop _pg :: MEM.LOADPAGE    prop _trcdatapg :: (if (MEM.LOADTRCINITSEG.space() == "data") {" PAGE 1"} else {" PAGE 0"})    prop _biospg :: (if (MEM.LOADBIOSSEG.space() == "data") {" PAGE 1"} else {" PAGE 0"})    prop _sysinitpg :: (if (MEM.LOADINITSEG.space() == "data") {" PAGE 1"} else {" PAGE 0"})    prop _gblinitpg :: (if (MEM.LOADBIOSINITSEG.space() == "data") {" PAGE 1"} else {" PAGE 0"})    prop _textpg :: (if (MEM.LOADTEXTSEG.space() == "data") {" PAGE 1"} else {" PAGE 0"})    prop _switchpg :: (if (MEM.LOADSWITCHSEG.space() == "data") {" PAGE 1"} else {" PAGE 0"})    prop _cinitpg :: (if (MEM.LOADCINITSEG.space() == "data") {" PAGE 1"} else {" PAGE 0"})    prop _pinitpg :: (if (MEM.LOADPINITSEG.space() == "data") {" PAGE 1"} else {" PAGE 0"})    prop AllocInst :: (if (self.iAllocHeap == 1) {"1\0, _instAllocDesc, _objMemSeg, _placement"} )    prop _instAllocDesc :: (if self.INITSEG.iAllocHeap && self.REUSE && self.INITSEG == self {"%8t .%0r$heap: {%12t\n %0r$B = .;\n%12t\n _%0r_base = .;\n . += 0x%2x;\n *(.sysinit)\n %0r$L = . + 0x%3x - %0r$B;\n _%0r_length = . + 0x%3x - %0r$B;\n . += 0x%1x;%8t\n }\0, _heapsize, _sysinitgap, _heaplen"} else {"%8t .%0r$heap: {%12t\n %0r$B = .;\n _%0r_base = .;\n %0r$L = 0x%2x;\n _%0r_length = 0x%2x;\n . += 0x%1x;%8t\n }\0, _heapsize, _heaplen"})    prop _objMemSeg :: self    prop _placement :: 0x7fffff - 1    prop _heapsize :: (self.iHeapSize)    prop _heaplen :: (self.iHeapSize)    prop _sysinitgap :: 2 * 1    prop GenInstLink :: (if GBL.DSPTYPE == 62 {"%0r %16t: origin = 0x%1x, %40tlen = 0x%2x%4t\0, _origin, _len"} else {if GBL.DSPTYPE == 55 {"%0r: %16torigin = 0x%1x, %40tlen = 0x%2x%4t\0, _cmd55origin, _cmd55len"} else {"PAGE %3d: %14t%0r: %26torigin = 0x%1x, %50tlen = 0x%2x%4t\0, _origin, _len, _page"}})    prop localInit :: ($d = "ok", scan ($i; MEM) {if ($i.space == "code" && $i.iAllocHeap == 1) {$d = self.error("Code memory cannot have a heap")} }, if (self.SEGZERO.iAllocHeap == 1) {self.SEGZERO.iReqHeapCount++} else {$d = self.error("Segment for DSP/BIOS objects must be a memory segment with a heap")}, if (self.MALLOCSEG.iAllocHeap == 1) {self.MALLOCSEG.iReqHeapCount++} else {$d = self.error("Segment for malloc()/free() must be a memory segment with a heap")}, $d)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -