aboutsummaryrefslogtreecommitdiffstats
path: root/lab5/RTDSP
diff options
context:
space:
mode:
authorymherklotz <ymherklotz@gmail.com>2018-02-27 10:17:10 +0000
committerymherklotz <ymherklotz@gmail.com>2018-02-27 10:17:10 +0000
commit16fd81be34fef52a4805b715b10218747c497420 (patch)
treea19c9050d3731dfd30e2c5fea51c8a5dd0aa194a /lab5/RTDSP
parentfc9d835a3db90d11ecf6f0a072700c7c508fc2a2 (diff)
downloadNoiseSilencer-16fd81be34fef52a4805b715b10218747c497420.tar.gz
NoiseSilencer-16fd81be34fef52a4805b715b10218747c497420.zip
Fixed lab5 config
Diffstat (limited to 'lab5/RTDSP')
-rw-r--r--lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/TEMPtcfD08B.tcf15
-rw-r--r--lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_.cdb (renamed from lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/TEMPtcfD08B.cdb)16
-rw-r--r--lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_.tcf4
-rw-r--r--lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.cmd296
-rw-r--r--lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.h29
-rw-r--r--lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.h62197
-rw-r--r--lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.s621091
-rw-r--r--lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg_c.c11
-rw-r--r--lab5/RTDSP/dsp_bios_.tcf4
9 files changed, 1640 insertions, 23 deletions
diff --git a/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/TEMPtcfD08B.tcf b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/TEMPtcfD08B.tcf
deleted file mode 100644
index 468b9bb..0000000
--- a/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/TEMPtcfD08B.tcf
+++ /dev/null
@@ -1,15 +0,0 @@
-utils.loadPlatform("ti.platforms.dsk6713");
-
-/* The following DSP/BIOS Features are enabled. */
-bios.enableRealTimeAnalysis(prog);
-bios.enableRtdx(prog);
-bios.enableTskManager(prog);
-
-bios.HWI.instance("HWI_INT4").interruptSource = prog.get("MCSP_1_Receive");
-bios.HWI.instance("HWI_INT4").fxn = prog.extern("ISR_AIC");
-bios.HWI.instance("HWI_INT4").useDispatcher = 1;
-bios.HWI.instance("HWI_INT4").interruptSource = prog.get("MCSP_1_Transmit");
-bios.HWI.instance("HWI_INT4").interruptSource = prog.get("MCSP_1_Receive");
-// !GRAPHICAL_CONFIG_TOOL_SCRIPT_INSERT_POINT!
-
-prog.save("C:/Github/RTDSP/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/TEMPtcfD08B.cdb"); \ No newline at end of file
diff --git a/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/TEMPtcfD08B.cdb b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_.cdb
index 4e9e937..c17ef92 100644
--- a/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/TEMPtcfD08B.cdb
+++ b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_.cdb
@@ -75,13 +75,13 @@ type GlobalStatus {
prop Visible :: 0
prop Writable :: 1
}
- global DATE :: "" {
+ global DATE :: "Tue Feb 27 10:16:43 2018" {
prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
prop Visible :: 0
prop Writable :: 0
prop NoGen :: 1
}
- global GCONFVERS :: "" {
+ global GCONFVERS :: "@(#)*** xdcutils-e03" {
prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
prop Visible :: 0
prop Writable :: 0
@@ -1648,7 +1648,7 @@ type MEM {
prop NoGen :: 1
prop TabName :: "BIOS Data"
}
- global NOHEAPS :: 1 {
+ global NOHEAPS :: 0 {
prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
prop Label :: "No Dynamic Memory Heaps"
prop JSName :: "NOMEMORYHEAPS"
@@ -1658,7 +1658,7 @@ type MEM {
prop Set :: (if ($1) {self.SEGZERO.iReqHeapCount--, self.SEGZERO = MEM_NULL, self.MALLOCSEG.iReqHeapCount--, self.MALLOCSEG = MEM_NULL, TSK.STACKSEG.iReqHeapCount--, TSK.STACKSEG = MEM_NULL, scan ($i; MEM) {if ($i.iAllocHeap && $i != MEM_NULL) {$i.iAllocHeap = 0, $i.iHeapSize = 0} }} , self.NOHEAPS = $1, "ok")
prop PropSetOkUserMsg :: if (MEM.NOHEAPS == 1) {"Currently specified heaps no longer valid"} else {"Please reconfigure heaps under individual mem segments"}
}
- global SEGZERO :: MEM_NULL {
+ global SEGZERO :: IRAM {
prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
prop MemberType :: MEM
prop MemberTest :: (self.dataNullMember($1) && $1.iAllocHeap)
@@ -1669,7 +1669,7 @@ type MEM {
prop NoGen :: 0
prop Set :: (if (self.SEGZERO.iReqHeapCount > 0) {self.SEGZERO.iReqHeapCount--} , self.SEGZERO = $1, self.SEGZERO.iReqHeapCount++, "ok")
}
- global MALLOCSEG :: MEM_NULL {
+ global MALLOCSEG :: IRAM {
prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
prop MemberType :: MEM
prop MemberTest :: (self.dataNullMember($1) && $1.iAllocHeap)
@@ -2073,7 +2073,7 @@ object MEM_NULL :: MEM {
param iHeapSize :: 32768
param iUserHeapId :: 0
param iHeapId :: @segment_name
- param iReqHeapCount :: 1
+ param iReqHeapCount :: 0
param space :: "data"
param dynamicLoading :: 0
param iIsModifiable :: 1
@@ -8750,11 +8750,11 @@ object IRAM :: MEM {
param iDelMsg :: "ok"
param base :: 0
param len :: 262144
- param iAllocHeap :: 0
+ param iAllocHeap :: 1
param iHeapSize :: 32768
param iUserHeapId :: 0
param iHeapId :: @segment_name
- param iReqHeapCount :: 0
+ param iReqHeapCount :: 2
param space :: "code/data"
param dynamicLoading :: 0
param iIsModifiable :: 1
diff --git a/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_.tcf b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_.tcf
index 6383243..e439c70 100644
--- a/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_.tcf
+++ b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_.tcf
@@ -10,6 +10,10 @@ bios.HWI.instance("HWI_INT4").fxn = prog.extern("ISR_AIC");
bios.HWI.instance("HWI_INT4").useDispatcher = 1;
bios.HWI.instance("HWI_INT4").interruptSource = prog.get("MCSP_1_Transmit");
bios.HWI.instance("HWI_INT4").interruptSource = prog.get("MCSP_1_Receive");
+bios.MEM.NOMEMORYHEAPS = 0;
+bios.MEM.instance("IRAM").createHeap = 1;
+bios.MEM.MALLOCSEG = prog.get("IRAM");
+bios.MEM.BIOSOBJSEG = prog.get("IRAM");
// !GRAPHICAL_CONFIG_TOOL_SCRIPT_INSERT_POINT!
prog.gen();
diff --git a/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.cmd b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.cmd
new file mode 100644
index 0000000..e8b647a
--- /dev/null
+++ b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.cmd
@@ -0,0 +1,296 @@
+/* Do *not* directly modify this file. It was */
+/* generated by the Configuration Tool; any */
+/* changes risk being overwritten. */
+
+/* INPUT dsp_bios_.cdb */
+
+/* MODULE PARAMETERS */
+-u _GBL_setPLLto225MHz
+GBL_USERINITFXN = _GBL_setPLLto225MHz;
+
+-u IRAM
+MEM_SEGZERO = IRAM;
+-u IRAM
+MEM_MALLOCSEG = IRAM;
+
+-u CLK_F_getshtime
+CLK_TIMEFXN = CLK_F_getshtime;
+-u HWI_F_dispatch
+CLK_HOOKFXN = HWI_F_dispatch;
+
+-u _KNL_tick
+PRD_THOOKFXN = _KNL_tick;
+
+-u IRAM
+RTDX_DATAMEMSEG = IRAM;
+
+-u IRAM
+HST_DSMBUFSEG = IRAM;
+
+-u GBL_NULL
+SWI_EHOOKFXN = GBL_NULL;
+-u GBL_NULL
+SWI_IHOOKFXN = GBL_NULL;
+-u SWI_F_exec
+SWI_EXECFXN = SWI_F_exec;
+-u SWI_F_run
+SWI_RUNFXN = SWI_F_run;
+
+-u MEM_NULL
+TSK_STACKSEG = MEM_NULL;
+-u _FXN_F_nop
+TSK_VCREATEFXN = _FXN_F_nop;
+-u _FXN_F_nop
+TSK_VDELETEFXN = _FXN_F_nop;
+-u _FXN_F_nop
+TSK_VEXITFXN = _FXN_F_nop;
+
+-u IDL_F_stub
+IDL_CALIBRFXN = IDL_F_stub;
+
+-u _UTL_doAbort
+SYS_ABORTFXN = _UTL_doAbort;
+-u _UTL_doError
+SYS_ERRORFXN = _UTL_doError;
+-u _UTL_halt
+SYS_EXITFXN = _UTL_halt;
+-u _UTL_doPutc
+SYS_PUTCFXN = _UTL_doPutc;
+
+-u _FXN_F_nop
+GIO_CREATEFXN = _FXN_F_nop;
+-u _FXN_F_nop
+GIO_DELETEFXN = _FXN_F_nop;
+-u _FXN_F_nop
+GIO_PENDFXN = _FXN_F_nop;
+-u _FXN_F_nop
+GIO_POSTFXN = _FXN_F_nop;
+
+/* OBJECT ALIASES */
+_SDRAM = SDRAM;
+_IRAM = IRAM;
+_PRD_clock = PRD_clock;
+_RTA_fromHost = RTA_fromHost;
+_RTA_toHost = RTA_toHost;
+_HWI_RESET = HWI_RESET;
+_HWI_NMI = HWI_NMI;
+_HWI_RESERVED0 = HWI_RESERVED0;
+_HWI_RESERVED1 = HWI_RESERVED1;
+_HWI_INT4 = HWI_INT4;
+_HWI_INT5 = HWI_INT5;
+_HWI_INT6 = HWI_INT6;
+_HWI_INT7 = HWI_INT7;
+_HWI_INT8 = HWI_INT8;
+_HWI_INT9 = HWI_INT9;
+_HWI_INT10 = HWI_INT10;
+_HWI_INT11 = HWI_INT11;
+_HWI_INT12 = HWI_INT12;
+_HWI_INT13 = HWI_INT13;
+_HWI_INT14 = HWI_INT14;
+_HWI_INT15 = HWI_INT15;
+_KNL_swi = KNL_swi;
+_TSK_idle = TSK_idle;
+_IDL_cpuLoad = IDL_cpuLoad;
+_LNK_dataPump = LNK_dataPump;
+_RTA_dispatcher = RTA_dispatcher;
+_LOG_system = LOG_system;
+_IDL_busyObj = IDL_busyObj;
+
+/* MODULE GBL */
+
+SECTIONS {
+ .vers (COPY): {} /* version information */
+}
+
+-priority
+--trampolines
+-llnkrtdx.a67
+-ldrivers.a67 /* device drivers support */
+-lsioboth.a67 /* supports both SIO models */
+-lbiosC6000.a67 /* BIOS clock specific library */
+-lbios6x1x.a67 /* BIOS c6x1x specific library */
+-lbios.a67 /* DSP/BIOS support */
+-lrtdx.lib /* RTDX support */
+-lrts6700.lib /* C and C++ run-time library support */
+
+_GBL_CACHE = GBL_CACHE;
+
+/* MODULE MEM */
+-stack 0x400
+MEMORY {
+ SDRAM : origin = 0x80000000, len = 0x800000
+ IRAM : origin = 0x0, len = 0x40000
+}
+/* MODULE CLK */
+SECTIONS {
+ .clk: {
+
+ CLK_F_gethtime = CLK_F_getshtime;
+ *(.clk)
+ } > IRAM, RUN_START(CLK_A_TABBEG)
+}
+_CLK_PRD = CLK_PRD;
+_CLK_COUNTSPMS = CLK_COUNTSPMS;
+_CLK_REGS = CLK_REGS;
+_CLK_USETIMER = CLK_USETIMER;
+_CLK_TIMERNUM = CLK_TIMERNUM;
+_CLK_TDDR = CLK_TDDR;
+
+/* MODULE PRD */
+SECTIONS {
+ .prd: RUN_START(PRD_A_TABBEG), RUN_END(PRD_A_TABEND) {
+ } > IRAM
+}
+PRD_A_TABLEN = 0;
+
+/* MODULE RTDX */
+_RTDX_interrupt_mask = 0x0;
+
+/* MODULE HST */
+_LNK_dspFrameReadyMask = LNK_dspFrameReadyMask;
+_LNK_dspFrameRequestMask = LNK_dspFrameRequestMask;
+_LNK_readDone = LNK_readDone;
+_LNK_readFail = LNK_readFail;
+_LNK_readPend = LNK_readPend;
+_LNK_writeFail = LNK_writeFail;
+/* MODULE HWI */
+SECTIONS {
+ .hwi_vec: 0x0 {
+ HWI_A_VECS = .;
+ *(.hwi_vec)
+ }
+}
+
+_HWI_CFGDISPATCHED = HWI_CFGDISPATCHED;
+
+/* MODULE SWI */
+SECTIONS {
+ .swi: RUN_START(SWI_A_TABBEG), RUN_END(SWI_A_TABEND) {
+ } > IRAM
+}
+SWI_A_TABLEN = 1;
+
+/* MODULE TSK */
+SECTIONS {
+ .tsk: {
+ *(.tsk)
+ } > IRAM
+}
+
+/* MODULE IDL */
+SECTIONS {
+ .idl: {
+ *(.idl)
+ } > IRAM, RUN_START(IDL_A_TABBEG)
+
+ .idlcal: {
+ *(.idlcal)
+ } > IRAM, RUN_START(IDL_A_CALBEG)
+}
+
+
+LOG_A_TABLEN = 1; _LOG_A_TABLEN = 1;
+
+PIP_A_TABLEN = 2;
+
+
+SECTIONS {
+ .bss: {} > IRAM
+
+ .far: {} > IRAM
+
+ .sysdata: {} > IRAM
+
+ .dsm: {} > IRAM
+
+ frt: {} > IRAM
+
+ .mem: {} > IRAM
+
+ .bios: {} > IRAM
+
+ .cio: {} > IRAM
+
+ .data: {} > IRAM
+
+ .gio: {} > IRAM
+
+ .pinit: {} > IRAM
+
+ .sys: {} > IRAM
+
+ .sysregs: {} > IRAM
+
+ .text: {} > IRAM
+
+ .cinit: {} > IRAM
+
+ .switch: {} > IRAM
+
+ .gblinit: {} > IRAM
+
+ .sysinit: {} > IRAM
+
+ .trcdata: {} > IRAM
+
+ .hwi: {} > IRAM
+
+ .rtdx_data: {} > IRAM
+
+ .rtdx_text: {} > IRAM
+
+ .TSK_idle$stk: {
+ *(.TSK_idle$stk)
+ } > IRAM
+
+ /* LOG_system buffer */
+ .LOG_system$buf: align = 0x100 {} > IRAM
+
+ /* RTA_fromHost buffer */
+ .hst1: align = 0x4 {} > IRAM
+
+ /* RTA_toHost buffer */
+ .hst0: align = 0x4 {} > IRAM
+
+ GROUP {
+ .const: align = 0x8 {}
+ .printf (COPY): {}
+ } > IRAM
+
+ .args: align=4 fill=0 {
+ *(.args)
+ . += 0x4;
+ } > IRAM
+
+ .trace: fill = 0x0 align = 0x4 {
+ _SYS_PUTCBEG = .;
+ . += 0x200;
+ _SYS_PUTCEND = . - 1;
+ } > IRAM
+
+ .hst: RUN_START(HST_A_TABBEG), RUN_START(_HST_A_TABBEG), RUN_END(HST_A_TABEND), RUN_END(_HST_A_TABEND) {
+ } > IRAM
+
+ .log: RUN_START(LOG_A_TABBEG), RUN_START(_LOG_A_TABBEG), RUN_END(LOG_A_TABEND), RUN_END(_LOG_A_TABEND) {
+ } > IRAM
+
+ .pip: RUN_START(PIP_A_TABBEG), RUN_START(_PIP_A_TABBEG), RUN_END(PIP_A_TABEND), RUN_END(_PIP_A_TABEND) {
+ } > IRAM
+
+ .sts: RUN_START(STS_A_TABBEG), RUN_START(_STS_A_TABBEG), RUN_END(STS_A_TABEND), RUN_END(_STS_A_TABEND) {
+ } > IRAM
+
+ .stack: align = 0x8 {
+ GBL_stackbeg = .;
+ *(.stack)
+ GBL_stackend = GBL_stackbeg + 0x400 - 1;
+ _HWI_STKBOTTOM = GBL_stackbeg + 0x400 - 8;
+ _HWI_STKTOP = GBL_stackbeg;
+ } > IRAM
+
+ .IRAM$heap: {
+ . += 0x8000;
+ } RUN_START(IRAM$B), RUN_START(_IRAM_base), RUN_SIZE(IRAM$L), RUN_SIZE(_IRAM_length) > IRAM
+
+}
+
diff --git a/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.h b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.h
new file mode 100644
index 0000000..616731f
--- /dev/null
+++ b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.h
@@ -0,0 +1,29 @@
+/* Do *not* directly modify this file. It was */
+/* generated by the Configuration Tool; any */
+/* changes risk being overwritten. */
+
+/* INPUT dsp_bios_.cdb */
+
+/* Include Header Files */
+#include <std.h>
+#include <hst.h>
+#include <swi.h>
+#include <tsk.h>
+#include <log.h>
+#include <sts.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern far HST_Obj RTA_fromHost;
+extern far HST_Obj RTA_toHost;
+extern far SWI_Obj KNL_swi;
+extern far TSK_Obj TSK_idle;
+extern far LOG_Obj LOG_system;
+extern far STS_Obj IDL_busyObj;
+
+
+#ifdef __cplusplus
+}
+#endif /* extern "C" */
diff --git a/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.h62 b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.h62
new file mode 100644
index 0000000..5d097a2
--- /dev/null
+++ b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.h62
@@ -0,0 +1,197 @@
+;; Do *not* directly modify this file. It was
+;; generated by the Configuration Tool; any
+;; changes risk being overwritten.
+
+;; INPUT dsp_bios_.cdb
+
+;; CONFIGURATION/VERSION INFORMATION
+ .asg "dsp_bios_.cdb", VERS$CDB
+ .asg ";;;", VERS$CDBRELATIVEPATH
+ .asg "dsp_bios_cfg", VERS$CFG
+ .asg "@(#)*** xdcutils-e03", VERS$TREE
+
+;; EXTERNAL REFERENCES
+ .global HWI_unused
+ .global RESERVED
+ .global _FXN_F_nop
+ .global segment_name
+ .global _CLK_start6x
+ .global FXN_F_nop
+ .global FXN_F_zero
+ .global HWI_F_dispatch
+ .global CLK_F_frete
+ .global CLK_F_rete
+ .global CLK_F_getltime
+ .global CLK_F_isr
+ .global CLK_A_TABBEG
+ .global CLK_F_getfhtime
+ .global CLK_F_getshtime
+ .global PRD_F_tick
+ .global PRD_F_swi
+ .global _KNL_tick
+ .global LNK_F_dataPump
+ .global RTA_F_dispatch
+ .global _HSRTDX_xmt
+ .global _HSRTDX_rec
+ .global _RTDX_Poll
+ .global GBL_stackbeg
+ .global _c_int00
+ .global SWI_F_exec
+ .global SWI_F_run
+ .global GBL_NULL
+ .global __HOOK_doCreate
+ .global __HOOK_doDelete
+ .global __HOOK_doExit
+ .global __HOOK_doSwitch
+ .global __HOOK_doReady
+ .global null
+ .global _IDL_loop
+ .global IDL_F_loop
+ .global _KNL_run
+ .global IDL_F_stub
+ .global IDL_F_calibrate
+ .global IDL_F_busy
+ .global _UTL_doPutc
+ .global _UTL_doAbort
+ .global _UTL_doError
+ .global _UTL_halt
+ .global _SEM_create
+ .global _SEM_delete
+ .global _SEM_pend
+ .global _SEM_post
+ .global _DIO_cbStaticFxns
+ .global _DIO_tskStaticFxns
+ .global _DIO_cbDynamicFxns
+ .global _DIO_tskDynamicFxns
+ .global _DIO_init
+ .global _DGN_printFloat
+ .global _DGN_printHex
+ .global _DGN_printInt
+ .global DGN_CONST
+ .global DGN_RAND
+ .global DGN_SINE
+ .global DGN_USER
+ .global _DGN_FXNS
+ .global _DHL_notify
+ .global _DHL_FXNS
+ .global _DPI_FXNS
+ .global _GBL_setPLLto225MHz
+ .global _ISR_AIC
+
+;; MODULE PARAMETERS
+GBL$ .set 1
+GBL_ROM .set 00H
+GBL_PROCID .set 00H
+GBL_CLKIN .set 04e20H
+GBL_FREQ .set 036ee8H
+GBL_DSPTYPE .set 03eH
+GBL_DSPSUBTYPE .set 01a39H
+GBL_CLKTYPE .set 01770H
+GBL_BIGENDIAN .set 00H
+GBL_USERINIT .set 01H
+GBL_ENABLEINST .set 01H
+GBL_CACHE .set 00H
+GBL_L2CONFIGURE .set 01H
+GBL_L2MODE .set 00H
+GBL_L2PRIORITY .set 00H
+GBL_L2MARMASK .set 01H
+GBL_SUPPORTCSL .set 00H
+GBL_TRCMASKVALUE .set 0dbefH
+GBL_CALLCSLCFGINIT .set 01H
+GBL_C641XL2PRIORITY .set 00H
+GBL_L2MARMASK1 .set 00H
+GBL_L2MARMASK2 .set 00H
+GBL_L2MARMASK3 .set 00H
+GBL_L2MARMASK4 .set 00H
+GBL_L2MARMASK5 .set 00H
+GBL_L2CONFIGALLOC .set 00H
+GBL_L2ALLOC .set 02226H
+MEM$ .set 1
+MEM_gNumHeap .set 01H
+MEM_USEMPC .set 00H
+OBJ$ .set 0
+BUF$ .set 0
+BUF_ENABLED .set 01H
+POOL$ .set 0
+POOL_USEPOOL .set 00H
+CLK$ .set 1
+CLK_INTBIT .set 04000H
+CLK_REGS .set 01940000H
+CLK_TIMERNUM .set 00H
+CLK_USETIMER .set 01H
+CLK_MICROSECS .set 03e8H
+CLK_TCR .set 020H
+CLK_TDDR .set 00H
+CLK_TDDRHIGH .set 00H
+CLK_PRD .set 0dbbaH
+CLK_PRDHIGH .set 00H
+CLK_COUNTSPMS .set 0dbbaH
+CLK_COUNTSPMSHIGH .set 00H
+CLK_CALDIV .set 01H
+CLK_CALMULT .set 04H
+CLK_HTIMEDIV .set 01H
+CLK_HTIMEMULT .set 04H
+CLK_LTIMEDIV .set 01H
+CLK_LTIMEMULT .set 036ee8H
+CLK_HTIMEPERLTIME .set 0dbbaH
+PRD$ .set 1
+PRD_SCALAR .set 04000H
+RTDX$ .set 1
+RTDX_USERTDX .set 01H
+RTDX_USERTEXECUTION .set 00H
+ .asg "JTAG", RTDX_RTDXTYPE
+RTDX_BUFMEMSIZE .set 0408H
+HST$ .set 1
+HST_RTDX .set 01H
+HST_DSM .set 00H
+HST_NONE .set 00H
+HST_MAXFRAMESET .set 040H
+HST_MAXFRAMEALLOWED .set 0ffH
+HST_DSMMEMSIZE .set 0400H
+HWI$ .set 1
+HWI_ZEROTAB .set 01H
+HWI_GENERATE_RESET_VEC .set 00H
+HWI_POLARITYMASK .set 00H
+HWI_INTRMULTLOW .set 0310718afH
+HWI_INTRMULTHIGH .set 082039a3H
+HWI_CFGDISPATCHED .set 04018H
+SWI$ .set 1
+TSK$ .set 1
+TSK_STACKSIZE .set 0400H
+TSK_PRIORITY .set 01H
+TSK_SWITCHFXN .set 00H
+TSK_READYFXN .set 00H
+TSK_NUM_HOOKS .set 00H
+IDL$ .set 1
+IDL_USECLKIDLTIME .set 01H
+IDL_CALIBRERROR .set 06H
+ISRC$ .set 1
+LOG$ .set 1
+LOG_ENABLED .set 01H
+PIP$ .set 0
+PIP_gNumEmbed .set 02H
+PIP_gNextId .set 00H
+PIP_OBJSIZE .set 064H
+SEM$ .set 0
+MBX$ .set 0
+QUE$ .set 1
+LCK$ .set 1
+STS$ .set 1
+SYS$ .set 1
+SIO$ .set 0
+GIO$ .set 0
+DEV$ .set 0
+UDEV$ .set 0
+DIO$ .set 0
+DIO_STATIC .set 00H
+DIO_NUMTSKBASE .set 00H
+DIO_NUMSWIBASE .set 00H
+DGN$ .set 0
+DHL$ .set 0
+DHL_gChannelsAvailable .set 00H
+DPI$ .set 0
+MSGQ$ .set 0
+MSGQ_USEMSGQ .set 00H
+HOOK$ .set 0
+HOOK_KNLID .set 00H
+DEV$NUMDEVICES .set 0
diff --git a/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.s62 b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.s62
new file mode 100644
index 0000000..d4b3af2
--- /dev/null
+++ b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg.s62
@@ -0,0 +1,1091 @@
+;; Do *not* directly modify this file. It was
+;; generated by the Configuration Tool; any
+;; changes risk being overwritten.
+
+;; INPUT dsp_bios_.cdb
+
+;; CONFIGURATION/VERSION INFORMATION
+ .asg "Tue Feb 27 10:16:43 2018", VERS$DATE
+
+;; PROLOGUE
+ .include dsp_bios_cfg.h62
+ .copy confbeg.s62
+
+;; TYPE HEADERS
+ .include gbl.h62
+ .include mem.h62
+ .include obj.h62
+ .include buf.h62
+ .include pool.h62
+ .include clk.h62
+ .include prd.h62
+ .include rtdx.h62
+ .include hst.h62
+ .include hwi.h62
+ .include swi.h62
+ .include tsk.h62
+ .include idl.h62
+ .include isrc.h62
+ .include log.h62
+ .include pip.h62
+ .include sem.h62
+ .include mbx.h62
+ .include que.h62
+ .include lck.h62
+ .include sts.h62
+ .include sys.h62
+ .include sio.h62
+ .include gio.h62
+ .include dev.h62
+ .include udev.h62
+ .include dio.h62
+ .include dgn.h62
+ .include dhl.h62
+ .include dpi.h62
+ .include msgq.h62
+ .include hook.h62
+
+;; TYPE ATTRIBUTES
+MEM$NUMOF .set 2
+MEM$SETOF .set 00H
+OBJ$NUMOF .set 0
+OBJ$SETOF .set 00H
+BUF$NUMOF .set 0
+BUF$SETOF .set 00H
+CLK$NUMOF .set 1
+CLK$SETOF .set 00H
+PRD$NUMOF .set 0
+PRD$SETOF .set 00H
+RTDX$NUMOF .set 0
+RTDX$SETOF .set 00H
+HST$NUMOF .set 2
+HST$SETOF .set 03H
+HWI$NUMOF .set 16
+HWI$SETOF .set 0ffffH
+SWI$NUMOF .set 1
+SWI$SETOF .set 00H
+TSK$NUMOF .set 1
+TSK$SETOF .set 00H
+IDL$NUMOF .set 3
+IDL$SETOF .set 00H
+ISRC$NUMOF .set 0
+ISRC$SETOF .set 00H
+LOG$NUMOF .set 1
+LOG$SETOF .set 00H
+PIP$NUMOF .set 0
+PIP$SETOF .set 00H
+SEM$NUMOF .set 0
+SEM$SETOF .set 00H
+MBX$NUMOF .set 0
+MBX$SETOF .set 00H
+QUE$NUMOF .set 0
+QUE$SETOF .set 00H
+LCK$NUMOF .set 0
+LCK$SETOF .set 00H
+STS$NUMOF .set 1
+STS$SETOF .set 00H
+SIO$NUMOF .set 0
+SIO$SETOF .set 00H
+DEV$NUMOF .set 0
+DEV$SETOF .set 00H
+UDEV$NUMOF .set 0
+UDEV$SETOF .set 00H
+DIO$NUMOF .set 0
+DIO$SETOF .set 00H
+DGN$NUMOF .set 0
+DGN$SETOF .set 00H
+DHL$NUMOF .set 0
+DHL$SETOF .set 00H
+DPI$NUMOF .set 0
+DPI$SETOF .set 00H
+HOOK$NUMOF .set 0
+HOOK$SETOF .set 00H
+
+;; module GBL (ROM, PROCID, CLKIN, FREQ, DSPTYPE, DSPSUBTYPE, CLKTYPE, BIGENDIAN, USERINIT, USERINITFXN, ENABLEINST, CACHE, L2CONFIGURE, L2MODE, L2PRIORITY, L2MARMASK, SUPPORTCSL, TRCMASKVALUE, CALLCSLCFGINIT, C641XL2PRIORITY, L2MARMASK1, L2MARMASK2, L2MARMASK3, L2MARMASK4, L2MARMASK5, L2CONFIGALLOC, L2ALLOC)
+ .global GBL$ ; == 1
+ .global GBL_ROM ; dsp_bios_cfg.h62
+ .global GBL_PROCID ; dsp_bios_cfg.h62
+ .global GBL_CLKIN ; dsp_bios_cfg.h62
+ .global GBL_FREQ ; dsp_bios_cfg.h62
+ .global GBL_DSPTYPE ; dsp_bios_cfg.h62
+ .global GBL_DSPSUBTYPE ; dsp_bios_cfg.h62
+ .global GBL_CLKTYPE ; dsp_bios_cfg.h62
+ .global GBL_BIGENDIAN ; dsp_bios_cfg.h62
+ .global GBL_USERINIT ; dsp_bios_cfg.h62
+ .global GBL_USERINITFXN ; dsp_bios_cfg.cmd
+ .global GBL_ENABLEINST ; dsp_bios_cfg.h62
+ .global GBL_CACHE ; dsp_bios_cfg.h62
+ .global GBL_L2CONFIGURE ; dsp_bios_cfg.h62
+ .global GBL_L2MODE ; dsp_bios_cfg.h62
+ .global GBL_L2PRIORITY ; dsp_bios_cfg.h62
+ .global GBL_L2MARMASK ; dsp_bios_cfg.h62
+ .global GBL_SUPPORTCSL ; dsp_bios_cfg.h62
+ .global GBL_TRCMASKVALUE ; dsp_bios_cfg.h62
+ .global GBL_CALLCSLCFGINIT ; dsp_bios_cfg.h62
+ .global GBL_C641XL2PRIORITY ; dsp_bios_cfg.h62
+ .global GBL_L2MARMASK1 ; dsp_bios_cfg.h62
+ .global GBL_L2MARMASK2 ; dsp_bios_cfg.h62
+ .global GBL_L2MARMASK3 ; dsp_bios_cfg.h62
+ .global GBL_L2MARMASK4 ; dsp_bios_cfg.h62
+ .global GBL_L2MARMASK5 ; dsp_bios_cfg.h62
+ .global GBL_L2CONFIGALLOC ; dsp_bios_cfg.h62
+ .global GBL_L2ALLOC ; dsp_bios_cfg.h62
+
+;; module MEM (gNumHeap, SEGZERO, MALLOCSEG, USEMPC)
+ .global MEM$ ; == 1
+ .global MEM_gNumHeap ; dsp_bios_cfg.h62
+ .global MEM_SEGZERO ; dsp_bios_cfg.cmd
+ .global MEM_MALLOCSEG ; dsp_bios_cfg.cmd
+ .global MEM_USEMPC ; dsp_bios_cfg.h62
+
+;; module OBJ ()
+ .global OBJ$ ; == 0
+
+;; module BUF (ENABLED)
+ .global BUF$ ; == 0
+ .global BUF_ENABLED ; dsp_bios_cfg.h62
+
+;; module POOL (USEPOOL)
+ .global POOL$ ; == 0
+ .global POOL_USEPOOL ; dsp_bios_cfg.h62
+
+;; module CLK (INTBIT, REGS, TIMERNUM, USETIMER, MICROSECS, TCR, TDDR, TDDRHIGH, PRD, PRDHIGH, COUNTSPMS, COUNTSPMSHIGH, TIMEFXN, HOOKFXN, CALDIV, CALMULT, HTIMEDIV, HTIMEMULT, LTIMEDIV, LTIMEMULT, HTIMEPERLTIME)
+ .global CLK$ ; == 1
+ .global CLK_INTBIT ; dsp_bios_cfg.h62
+ .global CLK_REGS ; dsp_bios_cfg.h62
+ .global CLK_TIMERNUM ; dsp_bios_cfg.h62
+ .global CLK_USETIMER ; dsp_bios_cfg.h62
+ .global CLK_MICROSECS ; dsp_bios_cfg.h62
+ .global CLK_TCR ; dsp_bios_cfg.h62
+ .global CLK_TDDR ; dsp_bios_cfg.h62
+ .global CLK_TDDRHIGH ; dsp_bios_cfg.h62
+ .global CLK_PRD ; dsp_bios_cfg.h62
+ .global CLK_PRDHIGH ; dsp_bios_cfg.h62
+ .global CLK_COUNTSPMS ; dsp_bios_cfg.h62
+ .global CLK_COUNTSPMSHIGH ; dsp_bios_cfg.h62
+ .global CLK_TIMEFXN ; dsp_bios_cfg.cmd
+ .global CLK_HOOKFXN ; dsp_bios_cfg.cmd
+ .global CLK_CALDIV ; dsp_bios_cfg.h62
+ .global CLK_CALMULT ; dsp_bios_cfg.h62
+ .global CLK_HTIMEDIV ; dsp_bios_cfg.h62
+ .global CLK_HTIMEMULT ; dsp_bios_cfg.h62
+ .global CLK_LTIMEDIV ; dsp_bios_cfg.h62
+ .global CLK_LTIMEMULT ; dsp_bios_cfg.h62
+ .global CLK_HTIMEPERLTIME ; dsp_bios_cfg.h62
+
+;; module PRD (SCALAR, THOOKFXN)
+ .global PRD$ ; == 1
+ .global PRD_SCALAR ; dsp_bios_cfg.h62
+ .global PRD_THOOKFXN ; dsp_bios_cfg.cmd
+
+;; module RTDX (USERTDX, USERTEXECUTION, RTDXTYPE, DATAMEMSEG, BUFMEMSIZE)
+ .global RTDX$ ; == 1
+ .global RTDX_USERTDX ; dsp_bios_cfg.h62
+ .global RTDX_USERTEXECUTION ; dsp_bios_cfg.h62
+ .global RTDX_RTDXTYPE ; dsp_bios_cfg.h62
+ .global RTDX_DATAMEMSEG ; dsp_bios_cfg.cmd
+ .global RTDX_BUFMEMSIZE ; dsp_bios_cfg.h62
+
+;; module HST (RTDX, DSM, NONE, MAXFRAMESET, MAXFRAMEALLOWED, DSMBUFSEG, DSMMEMSIZE)
+ .global HST$ ; == 1
+ .global HST_RTDX ; dsp_bios_cfg.h62
+ .global HST_DSM ; dsp_bios_cfg.h62
+ .global HST_NONE ; dsp_bios_cfg.h62
+ .global HST_MAXFRAMESET ; dsp_bios_cfg.h62
+ .global HST_MAXFRAMEALLOWED ; dsp_bios_cfg.h62
+ .global HST_DSMBUFSEG ; dsp_bios_cfg.cmd
+ .global HST_DSMMEMSIZE ; dsp_bios_cfg.h62
+
+;; module HWI (ZEROTAB, GENERATE_RESET_VEC, POLARITYMASK, INTRMULTLOW, INTRMULTHIGH, CFGDISPATCHED)
+ .global HWI$ ; == 1
+ .global HWI_ZEROTAB ; dsp_bios_cfg.h62
+ .global HWI_GENERATE_RESET_VEC ; dsp_bios_cfg.h62
+ .global HWI_POLARITYMASK ; dsp_bios_cfg.h62
+ .global HWI_INTRMULTLOW ; dsp_bios_cfg.h62
+ .global HWI_INTRMULTHIGH ; dsp_bios_cfg.h62
+ .global HWI_CFGDISPATCHED ; dsp_bios_cfg.h62
+
+;; module SWI (EHOOKFXN, IHOOKFXN, EXECFXN, RUNFXN)
+ .global SWI$ ; == 1
+ .global SWI_EHOOKFXN ; dsp_bios_cfg.cmd
+ .global SWI_IHOOKFXN ; dsp_bios_cfg.cmd
+ .global SWI_EXECFXN ; dsp_bios_cfg.cmd
+ .global SWI_RUNFXN ; dsp_bios_cfg.cmd
+
+;; module TSK (STACKSIZE, STACKSEG, PRIORITY, VCREATEFXN, VDELETEFXN, VEXITFXN, SWITCHFXN, READYFXN, NUM_HOOKS)
+ .global TSK$ ; == 1
+ .global TSK_STACKSIZE ; dsp_bios_cfg.h62
+ .global TSK_STACKSEG ; dsp_bios_cfg.cmd
+ .global TSK_PRIORITY ; dsp_bios_cfg.h62
+ .global TSK_VCREATEFXN ; dsp_bios_cfg.cmd
+ .global TSK_VDELETEFXN ; dsp_bios_cfg.cmd
+ .global TSK_VEXITFXN ; dsp_bios_cfg.cmd
+ .global TSK_SWITCHFXN ; dsp_bios_cfg.h62
+ .global TSK_READYFXN ; dsp_bios_cfg.h62
+ .global TSK_NUM_HOOKS ; dsp_bios_cfg.h62
+
+;; module IDL (USECLKIDLTIME, CALIBRFXN, CALIBRERROR)
+ .global IDL$ ; == 1
+ .global IDL_USECLKIDLTIME ; dsp_bios_cfg.h62
+ .global IDL_CALIBRFXN ; dsp_bios_cfg.cmd
+ .global IDL_CALIBRERROR ; dsp_bios_cfg.h62
+
+;; module ISRC ()
+ .global ISRC$ ; == 1
+
+;; module LOG (ENABLED)
+ .global LOG$ ; == 1
+ .global LOG_ENABLED ; dsp_bios_cfg.h62
+
+;; module PIP (gNumEmbed, gNextId, OBJSIZE)
+ .global PIP$ ; == 0
+ .global PIP_gNumEmbed ; dsp_bios_cfg.h62
+ .global PIP_gNextId ; dsp_bios_cfg.h62
+ .global PIP_OBJSIZE ; dsp_bios_cfg.h62
+
+;; module SEM ()
+ .global SEM$ ; == 0
+
+;; module MBX ()
+ .global MBX$ ; == 0
+
+;; module QUE ()
+ .global QUE$ ; == 1
+
+;; module LCK ()
+ .global LCK$ ; == 1
+
+;; module STS ()
+ .global STS$ ; == 1
+
+;; module SYS (ABORTFXN, ERRORFXN, EXITFXN, PUTCFXN)
+ .global SYS$ ; == 1
+ .global SYS_ABORTFXN ; dsp_bios_cfg.cmd
+ .global SYS_ERRORFXN ; dsp_bios_cfg.cmd
+ .global SYS_EXITFXN ; dsp_bios_cfg.cmd
+ .global SYS_PUTCFXN ; dsp_bios_cfg.cmd
+
+;; module SIO ()
+ .global SIO$ ; == 0
+
+;; module GIO (CREATEFXN, DELETEFXN, PENDFXN, POSTFXN)
+ .global GIO$ ; == 0
+ .global GIO_CREATEFXN ; dsp_bios_cfg.cmd
+ .global GIO_DELETEFXN ; dsp_bios_cfg.cmd
+ .global GIO_PENDFXN ; dsp_bios_cfg.cmd
+ .global GIO_POSTFXN ; dsp_bios_cfg.cmd
+
+;; module DEV ()
+ .global DEV$ ; == 0
+
+;; module UDEV ()
+ .global UDEV$ ; == 0
+
+;; module DIO (STATIC, NUMTSKBASE, NUMSWIBASE)
+ .global DIO$ ; == 0
+ .global DIO_STATIC ; dsp_bios_cfg.h62
+ .global DIO_NUMTSKBASE ; dsp_bios_cfg.h62
+ .global DIO_NUMSWIBASE ; dsp_bios_cfg.h62
+
+;; module DGN ()
+ .global DGN$ ; == 0
+
+;; module DHL (gChannelsAvailable)
+ .global DHL$ ; == 0
+ .global DHL_gChannelsAvailable ; dsp_bios_cfg.h62
+
+;; module DPI ()
+ .global DPI$ ; == 0
+
+;; module MSGQ (USEMSGQ)
+ .global MSGQ$ ; == 0
+ .global MSGQ_USEMSGQ ; dsp_bios_cfg.h62
+
+;; module HOOK (KNLID)
+ .global HOOK$ ; == 0
+ .global HOOK_KNLID ; dsp_bios_cfg.h62
+
+;; MODULE CONFIGURATION
+
+;; ======== GBL_config ========
+ .asg 00H, _ROM
+ .asg 00H, _PROCID
+ .asg 04e20H, _CLKIN
+ .asg 036ee8H, _FREQ
+ .asg 03eH, _DSPTYPE
+ .asg 01a39H, _DSPSUBTYPE
+ .asg 01770H, _CLKTYPE
+ .asg 00H, _BIGENDIAN
+ .asg 01H, _USERINIT
+ .asg _GBL_setPLLto225MHz, _USERINITFXN
+ .asg 01H, _ENABLEINST
+ .asg 00H, _CACHE
+ .asg 01H, _L2CONFIGURE
+ .asg 00H, _L2MODE
+ .asg 00H, _L2PRIORITY
+ .asg 01H, _L2MARMASK
+ .asg 00H, _SUPPORTCSL
+ .asg 0dbefH, _TRCMASKVALUE
+ .asg 01H, _CALLCSLCFGINIT
+ .asg 00H, _C641XL2PRIORITY
+ .asg 00H, _L2MARMASK1
+ .asg 00H, _L2MARMASK2
+ .asg 00H, _L2MARMASK3
+ .asg 00H, _L2MARMASK4
+ .asg 00H, _L2MARMASK5
+ .asg 00H, _L2CONFIGALLOC
+ .asg 02226H, _L2ALLOC
+ GBL_config _ROM, _PROCID, _CLKIN, _FREQ, _DSPTYPE, _DSPSUBTYPE, _CLKTYPE, _BIGENDIAN, _USERINIT, _USERINITFXN, _ENABLEINST, _CACHE, _L2CONFIGURE, _L2MODE, _L2PRIORITY, _L2MARMASK, _SUPPORTCSL, _TRCMASKVALUE, _CALLCSLCFGINIT, _C641XL2PRIORITY, _L2MARMASK1, _L2MARMASK2, _L2MARMASK3, _L2MARMASK4, _L2MARMASK5, _L2CONFIGALLOC, _L2ALLOC
+
+;; ======== MEM_config ========
+ .asg 01H, _gNumHeap
+ .asg IRAM, _SEGZERO
+ .asg IRAM, _MALLOCSEG
+ .asg 00H, _USEMPC
+ MEM_config _gNumHeap, _SEGZERO, _MALLOCSEG, _USEMPC
+
+;; ======== OBJ_config ========
+ OBJ_config
+
+;; ======== BUF_config ========
+ .asg 01H, _ENABLED
+ BUF_config _ENABLED
+
+;; ======== POOL_config ========
+ .asg 00H, _USEPOOL
+ POOL_config _USEPOOL
+
+;; ======== CLK_config ========
+ .asg 04000H, _INTBIT
+ .asg 01940000H, _REGS
+ .asg 00H, _TIMERNUM
+ .asg 01H, _USETIMER
+ .asg 03e8H, _MICROSECS
+ .asg 020H, _TCR
+ .asg 00H, _TDDR
+ .asg 00H, _TDDRHIGH
+ .asg 0dbbaH, _PRD
+ .asg 00H, _PRDHIGH
+ .asg 0dbbaH, _COUNTSPMS
+ .asg 00H, _COUNTSPMSHIGH
+ .asg CLK_F_getshtime, _TIMEFXN
+ .asg HWI_F_dispatch, _HOOKFXN
+ .asg 01H, _CALDIV
+ .asg 04H, _CALMULT
+ .asg 01H, _HTIMEDIV
+ .asg 04H, _HTIMEMULT
+ .asg 01H, _LTIMEDIV
+ .asg 036ee8H, _LTIMEMULT
+ .asg 0dbbaH, _HTIMEPERLTIME
+ CLK_config _INTBIT, _REGS, _TIMERNUM, _USETIMER, _MICROSECS, _TCR, _TDDR, _TDDRHIGH, _PRD, _PRDHIGH, _COUNTSPMS, _COUNTSPMSHIGH, _TIMEFXN, _HOOKFXN, _CALDIV, _CALMULT, _HTIMEDIV, _HTIMEMULT, _LTIMEDIV, _LTIMEMULT, _HTIMEPERLTIME
+
+;; ======== PRD_config ========
+ .asg 04000H, _SCALAR
+ .asg _KNL_tick, _THOOKFXN
+ PRD_config _SCALAR, _THOOKFXN
+
+;; ======== RTDX_config ========
+ .asg 01H, _USERTDX
+ .asg 00H, _USERTEXECUTION
+ .asg "JTAG", _RTDXTYPE
+ .asg IRAM, _DATAMEMSEG
+ .asg 0408H, _BUFMEMSIZE
+ RTDX_config _USERTDX, _USERTEXECUTION, _RTDXTYPE, _DATAMEMSEG, _BUFMEMSIZE
+
+;; ======== HST_config ========
+ .asg 01H, _RTDX
+ .asg 00H, _DSM
+ .asg 00H, _NONE
+ .asg 040H, _MAXFRAMESET
+ .asg 0ffH, _MAXFRAMEALLOWED
+ .asg IRAM, _DSMBUFSEG
+ .asg 0400H, _DSMMEMSIZE
+ HST_config _RTDX, _DSM, _NONE, _MAXFRAMESET, _MAXFRAMEALLOWED, _DSMBUFSEG, _DSMMEMSIZE
+
+;; ======== HWI_config ========
+ .asg 01H, _ZEROTAB
+ .asg 00H, _GENERATE_RESET_VEC
+ .asg 00H, _POLARITYMASK
+ .asg 0310718afH, _INTRMULTLOW
+ .asg 082039a3H, _INTRMULTHIGH
+ .asg 04018H, _CFGDISPATCHED
+ HWI_config _ZEROTAB, _GENERATE_RESET_VEC, _POLARITYMASK, _INTRMULTLOW, _INTRMULTHIGH, _CFGDISPATCHED
+
+;; ======== SWI_config ========
+ .asg GBL_NULL, _EHOOKFXN
+ .asg GBL_NULL, _IHOOKFXN
+ .asg SWI_F_exec, _EXECFXN
+ .asg SWI_F_run, _RUNFXN
+ SWI_config _EHOOKFXN, _IHOOKFXN, _EXECFXN, _RUNFXN
+
+;; ======== TSK_config ========
+ .asg 0400H, _STACKSIZE
+ .asg MEM_NULL, _STACKSEG
+ .asg 01H, _PRIORITY
+ .asg _FXN_F_nop, _VCREATEFXN
+ .asg _FXN_F_nop, _VDELETEFXN
+ .asg _FXN_F_nop, _VEXITFXN
+ .asg 00H, _SWITCHFXN
+ .asg 00H, _READYFXN
+ .asg 00H, _NUM_HOOKS
+ TSK_config _STACKSIZE, _STACKSEG, _PRIORITY, _VCREATEFXN, _VDELETEFXN, _VEXITFXN, _SWITCHFXN, _READYFXN, _NUM_HOOKS
+
+;; ======== IDL_config ========
+ .asg 01H, _USECLKIDLTIME
+ .asg IDL_F_stub, _CALIBRFXN
+ .asg 06H, _CALIBRERROR
+ IDL_config _USECLKIDLTIME, _CALIBRFXN, _CALIBRERROR
+
+;; ======== ISRC_config ========
+ ISRC_config
+
+;; ======== LOG_config ========
+ .asg 01H, _ENABLED
+ LOG_config _ENABLED
+
+;; ======== PIP_config ========
+ .asg 02H, _gNumEmbed
+ .asg 00H, _gNextId
+ .asg 064H, _OBJSIZE
+ PIP_config _gNumEmbed, _gNextId, _OBJSIZE
+
+;; ======== SEM_config ========
+ SEM_config
+
+;; ======== MBX_config ========
+ MBX_config
+
+;; ======== QUE_config ========
+ QUE_config
+
+;; ======== LCK_config ========
+ LCK_config
+
+;; ======== STS_config ========
+ STS_config
+
+;; ======== SYS_config ========
+ .asg _UTL_doAbort, _ABORTFXN
+ .asg _UTL_doError, _ERRORFXN
+ .asg _UTL_halt, _EXITFXN
+ .asg _UTL_doPutc, _PUTCFXN
+ SYS_config _ABORTFXN, _ERRORFXN, _EXITFXN, _PUTCFXN
+
+;; ======== SIO_config ========
+ SIO_config
+
+;; ======== GIO_config ========
+ .asg _FXN_F_nop, _CREATEFXN
+ .asg _FXN_F_nop, _DELETEFXN
+ .asg _FXN_F_nop, _PENDFXN
+ .asg _FXN_F_nop, _POSTFXN
+ GIO_config _CREATEFXN, _DELETEFXN, _PENDFXN, _POSTFXN
+
+;; ======== DEV_config ========
+ DEV_config
+
+;; ======== UDEV_config ========
+ UDEV_config
+
+;; ======== DIO_config ========
+ .asg 00H, _STATIC
+ .asg 00H, _NUMTSKBASE
+ .asg 00H, _NUMSWIBASE
+ DIO_config _STATIC, _NUMTSKBASE, _NUMSWIBASE
+
+;; ======== DGN_config ========
+ DGN_config
+
+;; ======== DHL_config ========
+ .asg 00H, _gChannelsAvailable
+ DHL_config _gChannelsAvailable
+
+;; ======== DPI_config ========
+ DPI_config
+
+;; ======== MSGQ_config ========
+ .asg 00H, _USEMSGQ
+ MSGQ_config _USEMSGQ
+
+;; ======== HOOK_config ========
+ .asg 00H, _KNLID
+ HOOK_config _KNLID
+
+;; ======== MEM_Obj SDRAM ========
+;; This object defines 8MB for the DSP's off-chip memory
+;;
+;; MEM_Obj SDRAM (len, iAllocHeap, iSegZero, iHeapId)
+ .global SDRAM
+ .asg 0800000H, _len
+ .asg 00H, _iAllocHeap
+ .asg IRAM, _iSegZero
+ .asg segment_name, _iHeapId
+ MEM_Obj 1, SDRAM, 0, _len, _iAllocHeap, _iSegZero, _iHeapId
+
+;; ======== MEM_Obj IRAM ========
+;; Internal L2 memory
+;;
+;; MEM_Obj IRAM (len, iAllocHeap, iSegZero, iHeapId)
+ .global IRAM
+ .asg 040000H, _len
+ .asg 01H, _iAllocHeap
+ .asg IRAM, _iSegZero
+ .asg segment_name, _iHeapId
+ MEM_Obj 1, IRAM, 0, _len, _iAllocHeap, _iSegZero, _iHeapId
+
+;; ======== CLK_Obj PRD_clock ========
+;; This clock function calls PRD_tick from within the on-chip timer ISR
+;;
+;; CLK_Obj PRD_clock (function)
+ .global PRD_clock
+ .asg PRD_F_tick, _function
+ CLK_Obj 1, PRD_clock, 0, _function
+
+;; ======== HST_Obj RTA_fromHost ========
+;; Used to access LOG and STS data
+;;
+;; HST_Obj RTA_fromHost (mode, buf, framesize, numframes, stsflg, notify, arg0, arg1, lnk, bufFrameAlign)
+ .global RTA_fromHost
+ .asg "input", _mode
+ .asg "<NULL>", _buf
+ .asg 04H, _framesize
+ .asg 01H, _numframes
+ .asg 00H, _stsflg
+ .asg _FXN_F_nop, _notify
+ .asg 00H, _arg0
+ .asg 00H, _arg1
+ .asg "RTDX", _lnk
+ .asg 04H, _bufFrameAlign
+ HST_Obj 1, RTA_fromHost, 1, _mode, _buf, _framesize, _numframes, _stsflg, _notify, _arg0, _arg1, _lnk, _bufFrameAlign
+
+;; ======== HST_Obj RTA_toHost ========
+;; Used to access LOG and STS data
+;;
+;; HST_Obj RTA_toHost (mode, buf, framesize, numframes, stsflg, notify, arg0, arg1, lnk, bufFrameAlign)
+ .global RTA_toHost
+ .asg "output", _mode
+ .asg "<NULL>", _buf
+ .asg 040H, _framesize
+ .asg 01H, _numframes
+ .asg 00H, _stsflg
+ .asg _FXN_F_nop, _notify
+ .asg 00H, _arg0
+ .asg 00H, _arg1
+ .asg "RTDX", _lnk
+ .asg 04H, _bufFrameAlign
+ HST_Obj 1, RTA_toHost, 0, _mode, _buf, _framesize, _numframes, _stsflg, _notify, _arg0, _arg1, _lnk, _bufFrameAlign
+
+;; ======== HWI_Obj HWI_RESET ========
+;; defines function for the RESET ISR
+;;
+;; HWI_Obj HWI_RESET (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_RESET
+ .asg _c_int00, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "USER", _client
+ .asg 00H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 01H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_RESET, 0, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_NMI ========
+;; defines function for the NMI ISR
+;;
+;; HWI_Obj HWI_NMI (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_NMI
+ .asg HWI_unused, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "USER", _client
+ .asg 00H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 02H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_NMI, 1, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_RESERVED0 ========
+;; RESERVED for RTDX
+;;
+;; HWI_Obj HWI_RESERVED0 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_RESERVED0
+ .asg RESERVED, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "RTDX", _client
+ .asg 00H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 04H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_RESERVED0, 2, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_RESERVED1 ========
+;; RESERVED for RTDX
+;;
+;; HWI_Obj HWI_RESERVED1 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_RESERVED1
+ .asg _RTDX_Poll, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "RTDX", _client
+ .asg 01H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 08H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_RESERVED1, 3, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_INT4 ========
+;; defines the INT4 Interrupt
+;;
+;; HWI_Obj HWI_INT4 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_INT4
+ .asg _ISR_AIC, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "USER", _client
+ .asg 01H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 010H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_INT4, 4, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_INT5 ========
+;; defines the INT5 Interrupt
+;;
+;; HWI_Obj HWI_INT5 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_INT5
+ .asg HWI_unused, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "USER", _client
+ .asg 00H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 020H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_INT5, 5, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_INT6 ========
+;; defines the INT6 Interrupt
+;;
+;; HWI_Obj HWI_INT6 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_INT6
+ .asg HWI_unused, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "USER", _client
+ .asg 00H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 040H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_INT6, 6, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_INT7 ========
+;; defines the INT7 Interrupt
+;;
+;; HWI_Obj HWI_INT7 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_INT7
+ .asg HWI_unused, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "USER", _client
+ .asg 00H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 080H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_INT7, 7, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_INT8 ========
+;; defines the INT8 Interrupt
+;;
+;; HWI_Obj HWI_INT8 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_INT8
+ .asg HWI_unused, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "USER", _client
+ .asg 00H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 0100H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_INT8, 8, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_INT9 ========
+;; defines the INT9 Interrupt
+;;
+;; HWI_Obj HWI_INT9 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_INT9
+ .asg HWI_unused, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "USER", _client
+ .asg 00H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 0200H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_INT9, 9, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_INT10 ========
+;; defines the INT10 Interrupt
+;;
+;; HWI_Obj HWI_INT10 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_INT10
+ .asg HWI_unused, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "USER", _client
+ .asg 00H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 0400H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_INT10, 10, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_INT11 ========
+;; defines the INT11 Interrupt
+;;
+;; HWI_Obj HWI_INT11 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_INT11
+ .asg HWI_unused, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "USER", _client
+ .asg 00H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 0800H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_INT11, 11, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_INT12 ========
+;; defines the INT12 Interrupt
+;;
+;; HWI_Obj HWI_INT12 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_INT12
+ .asg HWI_unused, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "USER", _client
+ .asg 00H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 01000H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_INT12, 12, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_INT13 ========
+;; defines the INT13 Interrupt
+;;
+;; HWI_Obj HWI_INT13 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_INT13
+ .asg HWI_unused, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "USER", _client
+ .asg 00H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 02000H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_INT13, 13, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_INT14 ========
+;; defines the INT14 Interrupt
+;;
+;; HWI_Obj HWI_INT14 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_INT14
+ .asg CLK_F_isr, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "CLK", _client
+ .asg 01H, _iUseDispatcher
+ .asg CLK_A_TABBEG, _iArg
+ .asg 04000H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_INT14, 14, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== HWI_Obj HWI_INT15 ========
+;; defines the INT15 Interrupt
+;;
+;; HWI_Obj HWI_INT15 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask, iCCBitMask, iLoadTrack)
+ .global HWI_INT15
+ .asg HWI_unused, _function
+ .asg "Nothing", _monitor
+ .asg 00H, _addr
+ .asg "signed", _dataType
+ .asg "STS_add(*addr)", _operation
+ .asg "USER", _client
+ .asg 00H, _iUseDispatcher
+ .asg 00H, _iArg
+ .asg 08000H, _IntrMask
+ .asg 01H, _iCCBitMask
+ .asg 00H, _iLoadTrack
+ HWI_Obj 1, HWI_INT15, 15, _function, _monitor, _addr, _dataType, _operation, _client, _iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack
+
+;; ======== SWI_Obj KNL_swi ========
+;; This Software Interrupt calls the TSK scheduler
+;;
+;; SWI_Obj KNL_swi (function, pri, mailbox, arg0, arg1, dorta, Order, filter, maxformat, sumformat, avgformat, filtmaxmult, filtsummult, unittype)
+ .global KNL_swi
+ .asg _KNL_run, _function
+ .asg 00H, _pri
+ .asg 00H, _mailbox
+ .asg 00H, _arg0
+ .asg 00H, _arg1
+ .asg 01H, _dorta
+ .asg 00H, _Order
+ .asg 02H, _filter
+ .asg "%g inst", _maxformat
+ .asg "%g inst", _sumformat
+ .asg "%.2f inst", _avgformat
+ .asg 01H, _filtmaxmult
+ .asg 01H, _filtsummult
+ .asg 00H, _unittype
+ SWI_Obj 1, KNL_swi, 0, _function, _pri, _mailbox, _arg0, _arg1, _dorta, _Order, _filter, _maxformat, _sumformat, _avgformat, _filtmaxmult, _filtsummult, _unittype
+
+;; ======== TSK_Obj TSK_idle ========
+;; This is the idle task; it only runs when no other task is ready
+;;
+;; TSK_Obj TSK_idle (iFXN, iARG0, iARG1, iARG2, iARG3, iARG4, iARG5, iARG6, iARG7, iAUTOSTK, iMANSTK, iSTKSZ, iSTKSEG, iPRI, iENV, iEXITFLAG, iUSETSKNAME, iSTATREG, Order, filter, maxformat, sumformat, avgformat, filtmaxmult, filtsummult, unittype)
+ .global TSK_idle
+ .asg IDL_F_loop, _iFXN
+ .asg 00H, _iARG0
+ .asg 00H, _iARG1
+ .asg 00H, _iARG2
+ .asg 00H, _iARG3
+ .asg 00H, _iARG4
+ .asg 00H, _iARG5
+ .asg 00H, _iARG6
+ .asg 00H, _iARG7
+ .asg 01H, _iAUTOSTK
+ .asg null, _iMANSTK
+ .asg 0400H, _iSTKSZ
+ .asg IRAM, _iSTKSEG
+ .asg 00H, _iPRI
+ .asg 00H, _iENV
+ .asg 01H, _iEXITFLAG
+ .asg 00H, _iUSETSKNAME
+ .asg 00H, _iSTATREG
+ .asg 00H, _Order
+ .asg 02H, _filter
+ .asg "%g inst", _maxformat
+ .asg "%g inst", _sumformat
+ .asg "%.2f inst", _avgformat
+ .asg 01H, _filtmaxmult
+ .asg 01H, _filtsummult
+ .asg 00H, _unittype
+ TSK_Obj 1, TSK_idle, 0, _iFXN, _iARG0, _iARG1, _iARG2, _iARG3, _iARG4, _iARG5, _iARG6, _iARG7, _iAUTOSTK, _iMANSTK, _iSTKSZ, _iSTKSEG, _iPRI, _iENV, _iEXITFLAG, _iUSETSKNAME, _iSTATREG, _Order, _filter, _maxformat, _sumformat, _avgformat, _filtmaxmult, _filtsummult, _unittype
+
+;; ======== IDL_Obj IDL_cpuLoad ========
+;; This object is required by the system to acquire CPU load data
+;;
+;; IDL_Obj IDL_cpuLoad (function, calibration)
+ .global IDL_cpuLoad
+ .asg IDL_F_busy, _function
+ .asg 01H, _calibration
+ IDL_Obj 1, IDL_cpuLoad, 0, _function, _calibration
+
+;; ======== IDL_Obj LNK_dataPump ========
+;; This object cannot be deleted
+;;
+;; IDL_Obj LNK_dataPump (function, calibration)
+ .global LNK_dataPump
+ .asg LNK_F_dataPump, _function
+ .asg 01H, _calibration
+ IDL_Obj 1, LNK_dataPump, 0, _function, _calibration
+
+;; ======== IDL_Obj RTA_dispatcher ========
+;; This object cannot be deleted
+;;
+;; IDL_Obj RTA_dispatcher (function, calibration)
+ .global RTA_dispatcher
+ .asg RTA_F_dispatch, _function
+ .asg 01H, _calibration
+ IDL_Obj 1, RTA_dispatcher, 0, _function, _calibration
+
+;; ======== LOG_Obj LOG_system ========
+;; This object is required by the system to accumulate execution trace information
+;;
+;; LOG_Obj LOG_system (bufseg, buflen, logtype, iType, iFormat)
+ .global LOG_system
+ .asg IRAM, _bufseg
+ .asg 040H, _buflen
+ .asg "circular", _logtype
+ .asg "system", _iType
+ .asg "0x%x, 0x%x, 0x%x", _iFormat
+ LOG_Obj 1, LOG_system, 0, _bufseg, _buflen, _logtype, _iType, _iFormat
+
+;; ======== STS_Obj IDL_busyObj ========
+;; This object is required by the system to accumulate CPU load statistics
+;;
+;; STS_Obj IDL_busyObj (prev, filter, maxformat, sumformat, avgformat, op, uType, iA, iB, iC, prevlow)
+ .global IDL_busyObj
+ .asg 00H, _prev
+ .asg 01H, _filter
+ .asg "%g", _maxformat
+ .asg "%g", _sumformat
+ .asg "%.2f", _avgformat
+ .asg 00H, _op
+ .asg 02H, _uType
+ .asg 01H, _iA
+ .asg 00H, _iB
+ .asg 01H, _iC
+ .asg 00H, _prevlow
+ STS_Obj 1, IDL_busyObj, 0, _prev, _filter, _maxformat, _sumformat, _avgformat, _op, _uType, _iA, _iB, _iC, _prevlow
+
+;; MODULE INITIALIZATION
+ .sect ".sysinit"
+ .global BIOS_init, _BIOS_init
+BIOS_init:
+_BIOS_init:
+ GBL_preamble
+ GBL_init
+ SEM_init
+ MEM_init
+ OBJ_init
+ BUF_init
+ POOL_init
+ CLK_init
+ PRD_init
+ RTDX_init
+ IDL_init
+ LCK_init
+ LOG_init
+ MBX_init
+ PIP_init
+ QUE_init
+ STS_init
+ SYS_init
+ HWI_init
+ HST_init
+ DEV_init
+ UDEV_init
+ DIO_init
+ DGN_init
+ DHL_init
+ DPI_init
+ SIO_init
+ GIO_init
+ MSGQ_init
+ SWI_init
+ HOOK_init
+ TSK_init
+ ISRC_init
+ GBL_postamble
+
+;; MODULE STARTUP
+ .sect ".sysinit"
+ .global BIOS_start, _BIOS_start
+BIOS_start:
+_BIOS_start:
+ GBL_preamble
+ GBL_startup
+ SEM_startup
+ MEM_startup
+ OBJ_startup
+ BUF_startup
+ POOL_startup
+ CLK_startup
+ PRD_startup
+ RTDX_startup
+ IDL_startup
+ LCK_startup
+ LOG_startup
+ MBX_startup
+ PIP_startup
+ QUE_startup
+ STS_startup
+ SYS_startup
+ HWI_startup
+ HST_startup
+ DEV_startup
+ UDEV_startup
+ DIO_startup
+ DGN_startup
+ DHL_startup
+ DPI_startup
+ SIO_startup
+ GIO_startup
+ MSGQ_startup
+ SWI_startup
+ HOOK_startup
+ TSK_startup
+ ISRC_startup
+ GBL_postamble
+
+;; EPILOGUE
+ GBL_end
+ MEM_end
+ OBJ_end
+ BUF_end
+ POOL_end
+ CLK_end
+ PRD_end
+ RTDX_end
+ HST_end
+ HWI_end
+ SWI_end
+ TSK_end
+ IDL_end
+ ISRC_end
+ LOG_end
+ PIP_end
+ SEM_end
+ MBX_end
+ QUE_end
+ LCK_end
+ STS_end
+ SYS_end
+ SIO_end
+ GIO_end
+ DEV_end
+ UDEV_end
+ DIO_end
+ DGN_end
+ DHL_end
+ DPI_end
+ MSGQ_end
+ HOOK_end
+
+ .copy confend.s62
diff --git a/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg_c.c b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg_c.c
new file mode 100644
index 0000000..f13e3eb
--- /dev/null
+++ b/lab5/RTDSP/.gconf/RTDSP/lab5/RTDSP/dsp_bios_cfg_c.c
@@ -0,0 +1,11 @@
+/* Do *not* directly modify this file. It was */
+/* generated by the Configuration Tool; any */
+/* changes risk being overwritten. */
+
+/* INPUT dsp_bios_.cdb */
+
+/* Include Header File */
+#include "dsp_bios_cfg.h"
+
+/* Config Structures */
+/* Handles */
diff --git a/lab5/RTDSP/dsp_bios_.tcf b/lab5/RTDSP/dsp_bios_.tcf
index 9b811d2..ccf9931 100644
--- a/lab5/RTDSP/dsp_bios_.tcf
+++ b/lab5/RTDSP/dsp_bios_.tcf
@@ -10,6 +10,10 @@ bios.HWI.instance("HWI_INT4").fxn = prog.extern("ISR_AIC");
bios.HWI.instance("HWI_INT4").useDispatcher = 1;
bios.HWI.instance("HWI_INT4").interruptSource = prog.get("MCSP_1_Transmit");
bios.HWI.instance("HWI_INT4").interruptSource = prog.get("MCSP_1_Receive");
+bios.MEM.NOMEMORYHEAPS = 0;
+bios.MEM.instance("IRAM").createHeap = 1;
+bios.MEM.MALLOCSEG = prog.get("IRAM");
+bios.MEM.BIOSOBJSEG = prog.get("IRAM");
// !GRAPHICAL_CONFIG_TOOL_SCRIPT_INSERT_POINT!
prog.gen();