summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: d18f851)
raw | patch | inline | side by side (parent: d18f851)
author | Ming Wei <a0868762@ti.com> | |
Mon, 1 May 2017 15:19:49 +0000 (10:19 -0500) | ||
committer | Ming Wei <a0868762@ti.com> | |
Mon, 1 May 2017 15:19:49 +0000 (10:19 -0500) |
Signed-off-by: Ming Wei <a0868762@ti.com>
87 files changed:
index e315298184ec922b70648b649228501c2579e0e6..47a6c173b1707289b28afc87b5c6a48fd0a25f7c 100644 (file)
--- a/common/components/clk.c
+++ b/common/components/clk.c
\r
mssDebugStat_t mssDbg;\r
\r
+#if 0\r
ISPHENC1_FrameType vauOldFrameType; /* previous speech/noise */\r
ISPHENC1_FrameType vauFrameType; /* use for every frame */\r
\r
vauOldFrameType = (ISPHENC1_FrameType)255; /* Start with invalid, update only on changes */\r
+#endif\r
\r
memset(&txTaskDebug,0,sizeof(txTaskDebug)); /* zero debug stats */\r
\r
diff --git a/file_demo_bios/da830/.project b/file_demo_bios/da830/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<projectDescription>\r
- <name>DA830_bf</name>\r
- <comment></comment>\r
- <projects>\r
- </projects>\r
- <buildSpec>\r
- <buildCommand>\r
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\r
- <arguments>\r
- </arguments>\r
- </buildCommand>\r
- <buildCommand>\r
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\r
- <triggers>full,incremental,</triggers>\r
- <arguments>\r
- </arguments>\r
- </buildCommand>\r
- </buildSpec>\r
- <natures>\r
- <nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>\r
- <nature>com.ti.ccstudio.core.ccsNature</nature>\r
- <nature>org.eclipse.cdt.core.cnature</nature>\r
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\r
- <nature>org.eclipse.cdt.core.ccnature</nature>\r
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\r
- </natures>\r
-</projectDescription>\r
diff --git a/file_demo_bios/da830/DA830_DSK_USB560M.ccxml b/file_demo_bios/da830/DA830_DSK_USB560M.ccxml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
-<configurations XML_version="1.2" id="configurations_0">\r
- <configuration XML_version="1.2" id="Blackhawk USB560-M Emulator_0">\r
- <instance XML_version="1.2" desc="Blackhawk USB560-M Emulator_0" href="connections/BH-USB560m_Connection.xml" id="Blackhawk USB560-M Emulator_0" xml="BH-USB560m_Connection.xml" xmlpath="connections"/>\r
- <connection XML_version="1.2" id="Blackhawk USB560-M Emulator_0">\r
- <instance XML_version="1.2" href="drivers/tixds560icepick_c.xml" id="drivers" xml="tixds560icepick_c.xml" xmlpath="drivers"/>\r
- <instance XML_version="1.2" href="drivers/tixds560c674x.xml" id="drivers" xml="tixds560c674x.xml" xmlpath="drivers"/>\r
- <instance XML_version="1.2" href="drivers/tixds560arm9.xml" id="drivers" xml="tixds560arm9.xml" xmlpath="drivers"/>\r
- <instance XML_version="1.2" href="drivers/tixds560etb11.xml" id="drivers" xml="tixds560etb11.xml" xmlpath="drivers"/>\r
- <platform XML_version="1.2" id="platform_0">\r
- <instance XML_version="1.2" desc="DSKDA830_0" href="boards/dskda830.xml" id="DSKDA830_0" xml="dskda830.xml" xmlpath="boards"/>\r
- <board XML_version="1.2" description="Spectrum Digital DA830 DSK Board" id="DSKDA830_0">\r
- <device HW_revision="1" XML_version="1.2" description="Performance Audio Device" id="DA830/DA828_0" partnum="DA830/DA828">\r
- <router HW_revision="1.0" XML_version="1.2" description="ICEPick_C Router" id="IcePick_C_0" isa="ICEPICK_C">\r
- <subpath id="DSP">\r
- <cpu HW_revision="1.0" XML_version="1.2" description="TMS320C6747" id="TMS320C6747" isa="TMS320C674X">\r
- <property Type="filepathfield" Value="./dskda830_dsp.gel" id="GEL File"/>\r
- </cpu>\r
- </subpath>\r
- </router>\r
- </device>\r
- </board>\r
- </platform>\r
- </connection>\r
- </configuration>\r
-</configurations>\r
diff --git a/file_demo_bios/da830/components/clk.c b/file_demo_bios/da830/components/clk.c
+++ /dev/null
@@ -1,427 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/*=================================================================\r
- * clk.c: Clock functions, SWI's, Tx Task\r
- *=================================================================*/\r
-\r
-#include <string.h>\r
-\r
-/* The infamous xdc/std.h must come before any header file which uses XDC symbols */\r
-#include <xdc/std.h> /* mandatory - have to include first, for BIOS types */\r
-#include <ti/mas/types/types.h>\r
-#include <ti/mas/aer/bf.h>\r
-//#include <ti/mas/aer/mss.h>\r
-#include "mss/mss.h" /* local version used */\r
-#include <ti/mas/vpe/asnr.h>\r
-#include <ti/mas/vau/vau.h>\r
-\r
-/*----------------------------------------\r
- * BIOS header files\r
- *----------------------------------------*/\r
-#include <ti/sysbios/BIOS.h> /* mandatory - if you call APIs like BIOS_start() */\r
-#include <xdc/cfg/global.h> /* header file for statically defined objects/handles */\r
-#include <xdc/runtime/System.h> /* for System_printf, and similar */\r
-#include <xdc/runtime/Timestamp.h> /* for benchmarking/profiling */\r
-\r
-#include <xdc/runtime/Log.h> /* for tracing */\r
-#include <xdc/runtime/Diags.h>\r
-#include <ti/uia/events/UIAEvt.h> /* and more tracing */\r
-\r
-#include <ti/sysbios/knl/Semaphore.h> /* this looks obvious */\r
-\r
-#include "fil.h" /* FILE I/O implementation */\r
-#include "sys.h" /* System API and structures */\r
-#include "sysbfflt.h" /* System support for BF filters */\r
-\r
-#define Timestamp_get Timestamp_get32 /* use 32-bit time stamps */\r
-\r
-#define MIN(a,b) (((a)>(b))?(b):(a)) /* Min/Max macros */\r
-#define MAX(a,b) (((a)<(b))?(b):(a))\r
-#define loop while(1) /* endless loop for the task */\r
-\r
-/*=============================\r
- * Functions\r
- *=============================*/\r
-\r
-/*=================================================================\r
- * void clkDataIn(void)\r
- *\r
- * This is a clock function that would start SWI to read input data.\r
- * In this case from a file/memory. It is statically configured in BIOS.\r
- *=================================================================*/\r
-\r
-void clkDataIn(void)\r
-{\r
- Swi_post(swidatainhandle);\r
-} /* clkDataIn */\r
-\r
-/*===========================================\r
- * SWI for getting data in from file/memory or A/D\r
- *\r
- * Uses filRead() API to read frame of samples from "memory file".\r
- * Swaps the read/write pointers so that the system can read new data.\r
- * It wakes up the txTask to do that. It is statically configured in BIOS.\r
- *\r
- *===========================================*/\r
-\r
-/* A few debug stats */\r
-tuint swiDataIn_errcnt = 0uL; /* count errors reading data */\r
-tuint swiDataIn_overflow = 0uL; /* count how many times r/w pointers were the same */\r
-tint swiDataIn_last_error; /* last error code */\r
-\r
-void swiDataIn(void)\r
-{\r
- tint err;\r
- void *fid, *in_w, *in_r;\r
-\r
- in_w = sysContext.in_w; /* Fetch the read and write pointers for input buffer */\r
- in_r = sysContext.in_r;\r
- if (in_r == in_w) { /* this should never happen */\r
- swiDataIn_overflow++;\r
- return;\r
- }\r
-\r
- /* Assume the write pointer is valid and use it to read the frame in */\r
- fid = filGetHandle();\r
- err = filRead(fid, SYS_FRAME_LENGTH, in_w, SYS_FRAME_LENGTH);\r
- if (err != SYS_ERR_SUCCESS) {\r
- swiDataIn_errcnt++;\r
- swiDataIn_last_error = err;\r
- return;\r
- }\r
- else { /* Swap the r/w pointers */\r
- sysContext.in_r = in_w; /* we can do this because this SWI is at higher priority */\r
- sysContext.in_w = in_r; /* than the Tx Task and we know that r/w are different */\r
- /* We assume that the Tx Task already finished using the read pointer */\r
- /* So, next time we come we would write into the "other" buffer. */\r
- }\r
-\r
- /* Here we need to post a semaphore to wake up the Tx task */\r
- Semaphore_post(semTxWakeUp);\r
-\r
-} /* swiDataIn */\r
-\r
-/*===========================================\r
- * Tx Task\r
- *\r
- * It wakes up on semaphore (semTxWakeUp).\r
- * It performs the following tasks:\r
- * - give next frame to the BF's\r
- * - Run ASNR at the output of each BF to reduce noise further\r
- * - Provide all virtual mic outputs to the MSS for selection\r
- * - Pass output of MSS through VAU for speech activity detection\r
- * - Write the output signal to the output buffer/file or D/A\r
- * - Profile execution of all major modules\r
- * - Trace beam selection and VAU activity\r
- *\r
- *===========================================*/\r
-\r
-/* Output frame for MSS, input for VAU */\r
-#pragma DATA_ALIGN(txOutFrame,8)\r
-linSample txOutFrame[SYS_FRAME_LENGTH];\r
-\r
-typedef struct txBfDebug_stc {\r
- tulong frmcnt; /* normal frames */\r
- tulong silcnt; /* silence frames */\r
- tuint invsrc; /* no mic active, invalid output */\r
- tuint invopt; /* >1 mic active, invalid output */\r
-} txBfDebug_t;\r
-\r
-typedef struct txTaskDebug_stc {\r
- tuint overrun; /* counts how many times we ran out of MIPS */\r
- txBfDebug_t bf[SYS_VMICS_MAX]; /* beamformer statistics */\r
-} txTaskDebug_t;\r
-\r
-txTaskDebug_t txTaskDebug; /* Tx task debug stats */\r
-\r
-/* Profiling/benchmarking information for the Tx task */\r
-typedef struct txTaskProfileData_stc {\r
- tulong min; /* Minimum number of cycles */\r
- tulong max; /* Maximum number of cycles */\r
- tulong n; /* Number of measurements */\r
- float total; /* Total number of cycles */\r
-} txTaskProfileData_t;\r
-\r
-typedef struct txTaskProfile_stc {\r
- txTaskProfileData_t bf; /* Beamformer profile */\r
- txTaskProfileData_t asnr; /* ASNR profile */\r
- txTaskProfileData_t mss; /* MSS profile */\r
- txTaskProfileData_t vau; /* VAU profile */\r
-} txTaskProfile_t;\r
-volatile txTaskProfile_t txTaskProfile = {\r
- {~(0uL), 0, 0, 0.0f},\r
- {~(0uL), 0, 0, 0.0f},\r
- {~(0uL), 0, 0, 0.0f},\r
- {~(0uL), 0, 0, 0.0f}\r
-};\r
-\r
-/* To be used for debug trace */\r
-mssSrc_t mssDbgCurSrc = {\r
- -1, -1 /* Current source group/index */\r
-};\r
-mssSrc_t mssDbgNewSrc = {\r
- -1, -1 /* New source group/index */\r
-};\r
-\r
-/* Tx Task main routine */\r
-void taskTx(void)\r
-{\r
- Int semcnt; /* count from a counting semaphore */\r
- int k; /* loop counter */\r
- tint nmics, nvmics, err, angle, alert, oldalert = -1;\r
-\r
- volatile tulong t1, t2; /* for profiling */\r
- tulong delta;\r
-\r
- void *inst_p, *fid;\r
- linSample *in_r; /* pointer to current microphone input buffer */\r
- linSample *frame_p; /* pointer to signal frame */\r
- linSample *outframe_p; /* Output frame pointer for VAU */\r
- linSample *mics_in[SYS_MICS_MAX]; /* pointers to microphone inputs */\r
-\r
- mssDebugStat_t mssDbg;\r
-\r
- ISPHENC1_FrameType vauOldFrameType; /* previous speech/noise */\r
- ISPHENC1_FrameType vauFrameType; /* use for every frame */\r
-\r
- vauOldFrameType = (ISPHENC1_FrameType)255; /* Start with invalid, update only on changes */\r
-\r
- memset(&txTaskDebug,0,sizeof(txTaskDebug)); /* zero debug stats */\r
-\r
- Log_print0(Diags_USER1,"taskTxStart"); /* Timestamp the beginning of the task */\r
-\r
- fid = filGetHandle();\r
- loop {\r
-\r
- /*-------------------------------------------------------------------------------------*/\r
- Semaphore_pend(semTxWakeUp, BIOS_WAIT_FOREVER); /* wait for swiDataIn to wake you up */\r
- /*-------------------------------------------------------------------------------------*/\r
-\r
- /* In a real system, it could make sense to wait with time-out and post error condition\r
- * if the time-out expires. For example, if the frame duration is 10ms, we could wait\r
- * for 15ms or longer. */\r
-\r
- semcnt = Semaphore_getCount(semTxWakeUp);\r
- if (semcnt > 0) {\r
- txTaskDebug.overrun++; /* indicate we ran out of MIPS since we were asked to be waken up\r
- * multiple times before getting here. There were more events pending.\r
- * We are dropping a frame of input data here. */\r
- continue; /* Skip this pass through the loop to catch up to the last pending event */\r
- }\r
- nmics = sysContext.nmics; /* fetch number of mics */\r
- in_r = (linSample *)sysContext.in_r; /* this was written by swiDataIn */\r
- for (k = 0; k < nmics; k++) {\r
- mics_in[k] = &in_r[k*SYS_FRAME_LENGTH]; /* find the frame start for each microphone */\r
- }\r
- /* consume samples pointed to by read pointer in_r as provided in misc_in[] */\r
-\r
- /* Here comes a lot of work */\r
- /* We start with beamformers */\r
-\r
- nvmics = sysContext.nvmics;\r
- t1 = Timestamp_get();\r
- for (k = 0; k < nvmics; k++) {\r
- inst_p = sysContext.bfInst_p[k]; /* fetch the bf instance pointer */\r
- frame_p = sysContext.vmicfrm[k]; /* point to the output frame buffer */\r
-\r
- err = bfProcess(inst_p, (void*)&mics_in[0], (void*)frame_p);\r
-\r
- if (err == bf_NOERR) {\r
- txTaskDebug.bf[k].frmcnt++; /* Record some debug info */\r
- }\r
- else if (err == bf_ERR_NOTOPENED) {\r
- SYS_CHECK_ERROR(SYS_ERR_BFERROR);\r
- }\r
- else if (err == bf_ERR_DISABLED) {\r
- txTaskDebug.bf[k].silcnt++;\r
- }\r
- else if (err == bf_ERR_INVALIDSRC) {\r
- txTaskDebug.bf[k].invsrc = TRUE;\r
- }\r
- else if (err == bf_ERR_INVALIDOPT) {\r
- txTaskDebug.bf[k].invopt = TRUE;\r
- }\r
- else {\r
- SYS_CHECK_ERROR(SYS_ERR_BFERROR);\r
- } /* if */\r
- } /* for */\r
- t2 = Timestamp_get();\r
- delta = t2-t1;\r
- txTaskProfile.bf.min = MIN(txTaskProfile.bf.min,delta);\r
- txTaskProfile.bf.max = MAX(txTaskProfile.bf.max,delta);\r
- txTaskProfile.bf.n++;\r
- txTaskProfile.bf.total += (float)delta;\r
-\r
- /* At this point we have consumed all input samples. Currently we did not implement\r
- * any protection to prevent the swiDataIn from stepping over while we were doing this.\r
- * We could let this task to handle the read pointer and SWI to handle write pointer which \r
- * could be used to detect if such overrun would happen. */\r
-\r
- /* Done with the beamformers */\r
- /* Start ASNR's */\r
-\r
- t1 = Timestamp_get();\r
- for (k = 0; k < nvmics; k++) {\r
- inst_p = sysContext.asnrInst_p[k]; /* fetch the bf instance pointer */\r
- frame_p = sysContext.vmicfrm[k]; /* point to the output frame buffer */\r
-\r
- err = asnrProcess(inst_p, (void*)frame_p, (void*)frame_p);\r
-\r
- if (err != asnr_NOERR) {\r
- SYS_CHECK_ERROR(SYS_ERR_ASNRERROR);\r
- } /* if */\r
- } /* for */\r
- t2 = Timestamp_get();\r
- delta = t2-t1;\r
- txTaskProfile.asnr.min = MIN(txTaskProfile.asnr.min,delta);\r
- txTaskProfile.asnr.max = MAX(txTaskProfile.asnr.max,delta);\r
- txTaskProfile.asnr.n++;\r
- txTaskProfile.asnr.total += (float)delta;\r
-\r
- /* Done with the ASNR's */\r
- /* Run MSS */\r
-\r
- t1 = Timestamp_get();\r
- inst_p = sysContext.mssInst_p; /* fetch the MSS instance pointer */\r
- frame_p = txOutFrame; /* point to the output frame buffer */\r
-\r
- err = mssProcess(inst_p, (void*)frame_p, /* instance and output frame pointers */\r
- (void*)frame_p, /* WORKAROUND (not used, but no NULL) */\r
- (void**)sysContext.vmicfrm, /* Virtual microphones (beams) */\r
- NULL, /* No remote mics */\r
- NULL, /* No clean mics */\r
- (void**)mics_in, /* Raw microphone array inputs */\r
- NULL); /* Beam not supported (see fixed inputs) */\r
-\r
- if (err != mss_NOERR) {\r
- SYS_CHECK_ERROR(SYS_ERR_MSSERROR);\r
- } /* if */\r
- t2 = Timestamp_get();\r
- delta = t2-t1;\r
- txTaskProfile.mss.min = MIN(txTaskProfile.mss.min,delta);\r
- txTaskProfile.mss.max = MAX(txTaskProfile.mss.max,delta);\r
- txTaskProfile.mss.n++;\r
- txTaskProfile.mss.total += (float)delta;\r
-\r
- /* Trace source selection */\r
- /* Write Args:\r
- * arg2: (value) Angle in degrees\r
- * arg3: (aux1) 0 - current source, 1 - new source\r
- * arg4: (aux2) source index\r
- */\r
- err = mssDebugStat(inst_p, &mssDbg);\r
- if (err !=mss_NOERR) {\r
- SYS_CHECK_ERROR(SYS_ERR_MSSDEBUG);\r
- }\r
- /* mssDbg.cur_src.group/.index has the current source */\r
- /* mssDbg.new_src.group/.index has "proposed" source */\r
- if (mssDbg.cur_src.group != mssDbgCurSrc.group ||\r
- mssDbg.cur_src.index != mssDbgCurSrc.index)\r
- {\r
- mssDbgCurSrc = mssDbg.cur_src;\r
- angle = sysBfFilterAngles[sysBfVMicAngles[mssDbgCurSrc.index]];\r
- Log_write6(UIAEvt_intWithKey, angle, 0, mssDbgCurSrc.index, (IArg)"MSS-C: %d, G:%d", 0, mssDbgCurSrc.group);\r
- }\r
- if (mssDbg.new_src.group != mssDbgNewSrc.group ||\r
- mssDbg.new_src.index != mssDbgNewSrc.index)\r
- {\r
- mssDbgNewSrc = mssDbg.new_src;\r
- angle = sysBfFilterAngles[sysBfVMicAngles[mssDbgNewSrc.index]];\r
- Log_write6(UIAEvt_intWithKey, angle, 1, mssDbgNewSrc.index, (IArg)"MSS-N: %d, G:%d", 1, mssDbgNewSrc.group);\r
- }\r
-\r
- /* Done with MSS */\r
- /* Run VAU */\r
-\r
- t1 = Timestamp_get();\r
- inst_p = sysContext.vauInst_p; /* fetch the VAU instance pointer */\r
- frame_p = txOutFrame; /* point to the Tx output frame buffer and use it as input */\r
- alert = (tint)vauProcess(inst_p, frame_p, /* instance and input frame pointers */\r
- &outframe_p, /* pointer to output buffer pointer */\r
- &vauFrameType); /* Indicating speech/noise */\r
- /* ISPHENC1_FTYPE_SPEECH or ISPHENC1_FTYPE_NODATA */\r
- t2 = Timestamp_get();\r
- delta = t2-t1;\r
- txTaskProfile.vau.min = MIN(txTaskProfile.vau.min,delta);\r
- txTaskProfile.vau.max = MAX(txTaskProfile.vau.max,delta);\r
- txTaskProfile.vau.n++;\r
- txTaskProfile.vau.total += (float)delta;\r
-\r
- if (vauFrameType != vauOldFrameType) {\r
- vauOldFrameType = vauFrameType; /* Record new frame type */\r
-\r
- /* Trace source selection */\r
- /* Write Args:\r
- * arg2: (value) 2-(VAU Frame Type) So, silence will be 0, speech will be 2\r
- * arg3: (aux1) 2 - indicate VAU trace\r
- * arg4: (aux2) 0\r
- */\r
-\r
- Log_write4(UIAEvt_intWithKey, 15*(ISPHENC1_FTYPE_NODATA-vauFrameType), 2, 0, (IArg)"VAU-FT");\r
- }\r
- if (alert != oldalert) {\r
- oldalert = alert; /* Record new alert state */\r
-\r
- /* Trace source selection */\r
- /* Write Args:\r
- * arg2: (value) Alert status\r
- * arg3: (aux1) 3 - indicate VAU alert trace\r
- * arg4: (aux2) 0\r
- */\r
-\r
- Log_write4(UIAEvt_intWithKey, 20*alert, 3, 0, (IArg)"VAU-ALERT");\r
- }\r
-\r
- /*---------------------------------*/\r
- /* Save samples to the output file */\r
- /*---------------------------------*/\r
-\r
- err = filWrite(fid, SYS_FRAME_LENGTH, outframe_p);\r
- if (err != SYS_ERR_SUCCESS) {\r
- if (err == SYS_ERR_EOF) {\r
- if (!sysContext.eof) {\r
- sysContext.eof = TRUE;\r
- System_printf("taskTx: EOF Reached.\n");\r
- System_flush();\r
- }\r
- }\r
- else {\r
- SYS_CHECK_ERROR(err);\r
- }\r
- } /* if */\r
- } /* loop */\r
-} /* taskTx */\r
-\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/fil.c b/file_demo_bios/da830/components/fil.c
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/*=================================================================\r
- * fil.c: File related functions.\r
- *=================================================================*/\r
-\r
-#define HIGH_LEVEL 1 /* Use Low level file I/O */\r
-\r
-#if HIGH_LEVEL\r
-# include <stdio.h> /* needs high level file I/O */\r
-#else\r
-# include <file.h> /* needs low level file I/O */\r
-#endif\r
-\r
-/* The infamous xdc/std.h must come before any header file which uses XDC symbols */\r
-#include <xdc/std.h>\r
-#include <ti/mas/types/types.h>\r
-\r
-#include "sys.h"\r
-#include "fil.h"\r
-\r
-/* Globals */\r
-\r
-#pragma DATA_ALIGN(filOutBuf0,8)\r
-tuint filOutBuf0[FIL_OUTLEN_MAX]; /* Output buf/file #0 samples */\r
-\r
-#pragma DATA_ALIGN(filBuf0,8)\r
-tuint filBuf0[FIL_LENGTH_MAX]; /* File #0 samples */\r
-\r
-#pragma DATA_ALIGN(filBuf1,8)\r
-tuint filBuf1[FIL_LENGTH_MAX]; /* File #1 samples */\r
-\r
-#pragma DATA_ALIGN(filBuf2,8)\r
-tuint filBuf2[FIL_LENGTH_MAX]; /* File #2 samples */\r
-\r
-#pragma DATA_ALIGN(filBuf3,8)\r
-tuint filBuf3[FIL_LENGTH_MAX]; /* File #3 samples */\r
-\r
-#pragma DATA_ALIGN(filBuf4,8)\r
-tuint filBuf4[FIL_LENGTH_MAX]; /* File #4 samples */\r
-\r
-#pragma DATA_ALIGN(filBuf5,8)\r
-tuint filBuf5[FIL_LENGTH_MAX]; /* File #5 samples */\r
-\r
-#pragma DATA_ALIGN(filBuf6,8)\r
-tuint filBuf6[FIL_LENGTH_MAX]; /* File #6 samples */\r
-\r
-#pragma DATA_ALIGN(filBuf7,8)\r
-tuint filBuf7[FIL_LENGTH_MAX]; /* File #7 samples */\r
-\r
-filDescriptor_t filDescriptor; /* Global File Descriptor structure */\r
-\r
-/*=============================\r
- * Functions\r
- *=============================*/\r
-\r
-/*=================================================================\r
- * void *filCreate( Create mic input file(s) descriptor\r
- * void **fid, - File ID pointer\r
- * filConfig_t cfg); - File configuration (see fil.h)\r
- *=================================================================*/\r
-\r
-int filCreate(void **fid, filConfig_t *cfg)\r
-{\r
- tint nfiles;\r
-\r
- /* Check the input arguments consistency */\r
- if (fid == (void*)NULL ||\r
- cfg->nfiles < 1 || cfg->nfiles > FIL_MAX ||\r
- cfg->length < 1 || cfg->length > FIL_LENGTH_MAX ||\r
- cfg->outlen < 1 || cfg->length > FIL_OUTLEN_MAX ||\r
- (cfg->big != TRUE && cfg->big != FALSE) ||\r
- (cfg->wrap != TRUE && cfg->wrap != FALSE)) {\r
- return(SYS_ERR_BADCONFIG);\r
- }\r
- filDescriptor.r_idx = 0L; /* reset to start of "file" */\r
- filDescriptor.w_idx = 0L; /* reset to start of output "file" */\r
- filDescriptor.length = cfg->length; /* record to total file length in samples */\r
- nfiles = filDescriptor.nfiles = cfg->nfiles; /* how many files do we have */\r
- filDescriptor.big = cfg->big; /* is it big endian byte order */\r
- filDescriptor.wrap = cfg->wrap; /* should we wrap around at EOF? */\r
- filDescriptor.outlen = cfg->outlen; /* output buf/file length in samples */\r
-\r
- /* Initialize base addresses for file buffers */\r
-\r
- filDescriptor.filbase[0] = (void*)&filBuf0[0]; /* we must use at least one file */\r
- filDescriptor.filbase[1] = (void*)(nfiles > 1 ? &filBuf1[0]:NULL);\r
- filDescriptor.filbase[2] = (void*)(nfiles > 2 ? &filBuf2[0]:NULL);\r
- filDescriptor.filbase[3] = (void*)(nfiles > 3 ? &filBuf3[0]:NULL);\r
- filDescriptor.filbase[4] = (void*)(nfiles > 4 ? &filBuf4[0]:NULL);\r
- filDescriptor.filbase[5] = (void*)(nfiles > 5 ? &filBuf5[0]:NULL);\r
- filDescriptor.filbase[6] = (void*)(nfiles > 6 ? &filBuf6[0]:NULL);\r
- filDescriptor.filbase[7] = (void*)(nfiles > 7 ? &filBuf7[0]:NULL);\r
-\r
-# if FIL_MAX > 8\r
-# error need to implement support for more than 8 files\r
-# endif\r
-\r
- filDescriptor.outbuf = &filOutBuf0[0]; /* point to output buffer */\r
-\r
- *fid = (void*)&filDescriptor; /* Return a pointer to file descriptor */\r
-\r
- return(SYS_ERR_SUCCESS);\r
-} /* filCreate */\r
-\r
-/*=================================================================\r
- * void *filGetHandle(void) - get input file(s) descriptor\r
- *=================================================================*/\r
-\r
-void *filGetHandle(void)\r
-{\r
- return((void*)&filDescriptor);\r
-} /* filGetHandle */\r
-\r
-/*=================================================================\r
- * int filLoad( - Load input file(s) to memory\r
- * char *filpath, - file path\r
- * tlong n, - number of samples to read\r
- * int bufnum) - buffer number to receive data\r
- * \r
- * Return: Number of samples read.\r
- *=================================================================*/\r
-\r
-tlong filLoad(char *filpath, tlong n, int bufnum)\r
-{\r
- int nread;\r
- tuint *buf;\r
-# if HIGH_LEVEL\r
- FILE *fid;\r
-# else\r
- int fid;\r
-# endif\r
-\r
- if (bufnum > FIL_MAX) { /* Make sure we have appropriate buffer to store data */\r
- return(SYS_ERR_FMAXBUF);\r
- }\r
- nread = 0;\r
-# if HIGH_LEVEL\r
- fid = fopen(filpath, "rb"); /* Open file */\r
- if (fid == NULL) {\r
- return(SYS_ERR_FOPEN);\r
- }\r
-# else\r
- fid = open(filpath, O_RDONLY|O_BINARY,0);\r
- if (fid < 0) {\r
- return(SYS_ERR_FOPEN);\r
- }\r
-# endif\r
-\r
- buf = filDescriptor.filbase[bufnum]; /* Fetch the buffer address to receive data */\r
- if (buf == NULL) {\r
-# if HIGH_LEVEL\r
- fclose(fid);\r
-# else\r
- close(fid);\r
-# endif\r
- return(SYS_ERR_FLOAD);\r
- }\r
-# if HIGH_LEVEL\r
- nread = fread(buf, sizeof(linSample), n, fid);\r
-# else\r
- {\r
- tlong nsamp, nleft_w, nread_w;\r
-\r
- nleft_w = n*sizeof(linSample);\r
- nread_w = 0;\r
- while (nleft_w > 0) {\r
- nread_w = read(fid,(char*)buf,nleft_w);\r
- if (nread_w > 0) {\r
- nleft_w -= nread_w; /* reduce #-words left */\r
- nsamp = nread_w/sizeof(linSample); /* this many samples fetched */\r
- buf = &buf[nsamp]; /* move the buffer pointer */\r
- nread += nsamp; /* count how many read */\r
- }\r
- else if (nread_w == 0) {\r
- break;\r
- }\r
- else { /* nread_w < 0 indicating error */\r
- nread = nread_w;\r
- break;\r
- }\r
- }\r
- }\r
-# endif\r
-\r
-# if HIGH_LEVEL\r
- fclose(fid);\r
-# else\r
- close(fid);\r
-# endif\r
-\r
- if (nread < 0) {\r
- nread = SYS_ERR_FREAD;\r
- }\r
-\r
- return(nread);\r
-} /* filLoad */\r
-\r
-/*=================================================================\r
- * int filRead( - Read a frame from input files in memory\r
- * void *fid, - a pointer to file descriptor\r
- * int n, - number of samples to read\r
- * linSample inbuf[], - input buffer to receive samples\r
- * int buflen) - input buffer capacity in number of samples\r
- *=================================================================*/\r
-\r
-int filRead(void *fid, int n, linSample inbuf[], int buflen)\r
-{\r
- int k, ch, r_idx, r_idx_new, nfiles, length, ncopy, overflow;\r
- tuint *in_p, *in_base_p, value;\r
- linSample *out_p;\r
- tbool wrap, big, write_zeros;\r
-\r
- filDescriptor_t *fd = (filDescriptor_t*)fid;\r
-\r
- if (fid == (void*)NULL) {\r
- return(SYS_INV_HANDLE);\r
- }\r
- if (n > buflen) {\r
- return(SYS_ERR_BUFLENGTH);\r
- }\r
-\r
- /* Fetch the file descriptor parameters */\r
- r_idx = fd->r_idx; /* current read index */\r
- nfiles = fd->nfiles; /* # of active files */\r
- length = fd->length; /* actual file length in samples */\r
- wrap = fd->wrap;\r
- big = fd->big;\r
-\r
- /* Test read index */\r
- if (r_idx >= length) {\r
- write_zeros = !wrap; /* If past the end write zeros */\r
- if (wrap) {\r
- return(SYS_INV_LOGIC); /* Cannot be past the end in this case! */\r
- }\r
- }\r
- else {\r
- write_zeros = FALSE;\r
- }\r
-\r
- out_p = &inbuf[0]; /* start from the beginning of a buffer */\r
- if (!write_zeros) {\r
- for (ch = 0; ch < nfiles; ch++) {\r
- in_base_p = (tuint*)fd->filbase[ch];\r
- in_p = &in_base_p[r_idx];\r
-\r
- r_idx_new = r_idx + n;\r
- overflow = r_idx_new - length;\r
- if (overflow >= 0) {\r
- ncopy = n - overflow;\r
- }\r
- else {\r
- overflow = 0; /* overflow did not occur */\r
- ncopy = n;\r
- }\r
-\r
- /* Copy frame of samples (before wrap) */\r
- for (k = 0; k < ncopy; k++) {\r
- value = *in_p++;\r
- if (big) {\r
- *out_p++ = (linSample)FIL_SWAP_BYTES(value);\r
- }\r
- else {\r
- *out_p++ = (linSample)value;\r
- }\r
- }\r
-\r
- if (!wrap) {\r
- for (k = 0; k < overflow; k++) { /* pad zeros if no-wrap */\r
- *out_p++ = 0;\r
- }\r
- }\r
- else { /* wrap part */\r
- if (overflow > 0) {\r
- in_p = &in_base_p[0]; /* Wrap around the pointer */\r
- for (k = 0; k < overflow; k++) { /* copy wrapped samples */\r
- value = *in_p++;\r
- if (big) {\r
- *out_p++ = (linSample)FIL_SWAP_BYTES(value);\r
- }\r
- else {\r
- *out_p++ = (linSample)value;\r
- }\r
- }\r
- }\r
- r_idx_new = overflow; /* Reset read index if wrap required */\r
- } /* wrap */\r
- } /* ch loop */\r
-\r
- fd->r_idx = r_idx_new; /* Update the read index for next time */\r
-\r
- } /* do not write zeros */\r
- else { /* write zeros */\r
- for (k = 0; k < n; k++) {\r
- *out_p++ = 0;\r
- }\r
- }\r
-\r
- return(SYS_ERR_SUCCESS);\r
-} /* filRead */\r
-\r
-/*===============================================================================*/\r
-/* This is the WRITE Part */\r
-/*===============================================================================*/\r
-\r
-/*=================================================================\r
- * int filWrite( - Write a frame into output file in memory\r
- * void *fid, - a pointer to file descriptor\r
- * int n, - number of samples to write\r
- * linSample outbuf[]) - output buffer that contains samples\r
- *=================================================================*/\r
-\r
-int filWrite(void *fid, int n, linSample outbuf[])\r
-{\r
- int k, w_idx, w_idx_new, ncopy, overflow, err;\r
- tuint *out_p, *out_base_p, value;\r
- tlong outlen;\r
- linSample *in_p;\r
- tbool big;\r
-\r
- filDescriptor_t *fd = (filDescriptor_t*)fid;\r
- outlen = fd->outlen; /* Total output buffer length */\r
-\r
- if (fid == (void*)NULL) {\r
- return(SYS_INV_HANDLE);\r
- }\r
- if (n > outlen) {\r
- return(SYS_ERR_BUFLENGTH);\r
- }\r
-\r
- /* Fetch the file descriptor parameters */\r
- w_idx = fd->w_idx; /* current write index */\r
- big = fd->big;\r
-\r
- /* Test write index */\r
- if (w_idx >= outlen) {\r
- return(SYS_ERR_EOF); /* Indicate end of file */\r
- }\r
-\r
- in_p = &outbuf[0]; /* start from the beginning of a buffer (our input) */\r
-\r
- out_base_p = (tuint*)fd->outbuf;\r
- out_p = &out_base_p[w_idx]; /* Find where to write samples */\r
-\r
- w_idx_new = w_idx + n;\r
- overflow = w_idx_new - outlen;\r
- if (overflow >= 0) {\r
- ncopy = n - overflow;\r
- err = SYS_ERR_EOF;\r
- }\r
- else {\r
- overflow = 0; /* overflow did not occur */\r
- ncopy = n;\r
- err = SYS_ERR_SUCCESS;\r
- }\r
-\r
- /* Copy frame of samples (before end of file) */\r
- for (k = 0; k < ncopy; k++) {\r
- value = *in_p++;\r
- if (big) {\r
- *out_p++ = (linSample)FIL_SWAP_BYTES(value);\r
- }\r
- else {\r
- *out_p++ = (linSample)value;\r
- }\r
- }\r
-\r
- fd->w_idx = w_idx_new; /* Update the write index for next time */\r
-\r
- return(err);\r
-\r
-} /* filWrite */\r
-\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/fil.h b/file_demo_bios/da830/components/fil.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/* \r
- * fil.h: Definitions for file handling functions (file stored in memory!)\r
-*/\r
-#ifndef _FIL_H\r
-#define _FIL_H\r
-\r
-#include <xdc/std.h> /* required for types.h */\r
-#include <ti/mas/types/types.h>\r
-\r
-#include "sys.h" /* for eampling rate, etc. */\r
-\r
-/*======================================================================\r
- * File related constants\r
- *======================================================================*/\r
-\r
-#define FIL_MAX SYS_MICS_MAX /* Maximum number of files */\r
-\r
-#define FIL_L_ENDIAN (FALSE) /* Little endian byte ordering in file */\r
-#define FIL_B_ENDIAN (TRUE)1 /* Big endian byte ordering in file */\r
-\r
-#define FIL_DURATION_MAX_MS (60*1000L) /* 1min max duration */\r
-#define FIL_LENGTH_MAX (SYS_FS_HZ*FIL_DURATION_MAX_MS/1000) /* max length in samples */\r
-#define FIL_OUTDURATION_MAX_MS (FIL_DURATION_MAX_MS+1*1000L) /* 1s longer than input */\r
-#define FIL_OUTLEN_MAX (SYS_FS_HZ*FIL_OUTDURATION_MAX_MS/1000) /* in samples */\r
-\r
-/*======================================================================\r
- * Bit masks, byte swapping macros, error codes\r
- *======================================================================*/\r
-\r
-/* Bit masks for byte swapping */\r
-#define FIL_LOW_BYTE 0x00FFu\r
-#define FIL_HIGH_BYTE 0xFF00u\r
-\r
-/* Macros for bit-mask manipulations */\r
-#define FIL_GET_LOW(x) ((x)&FIL_LOW_BYTE)\r
-#define FIL_GET_HIGH(x) (((x)>>8)&FIL_LOW_BYTE)\r
-#define FIL_SWAP_BYTES(x) ((FIL_GET_LOW(x)<<8)|FIL_GET_HIGH(x))\r
-\r
-/*======================================================================\r
- * File related types\r
- *======================================================================*/\r
-\r
-/* File Configuration Structure */\r
-struct filConfig_stc {\r
- tlong length; /* number of samples in the input files */\r
- tint nfiles; /* number of memory input files to create */\r
- tbool big; /* TRUE: big endian, FALSE: little endian byte order */\r
- tbool wrap; /* TRUE: do wrap-around, FALSE: do not wrap-around */\r
- tlong outlen; /* number of samples in the output file */\r
-};\r
-typedef struct filConfig_stc filConfig_t;\r
-\r
-/* File Descriptor Structure (handles all files) */\r
-struct filDescriptor_stc {\r
- tlong r_idx; /* current read index (sample based) */\r
- tlong w_idx; /* current write index (sample based) */\r
- tlong length; /* number of samples in an input file (does not apply to output!) */\r
- tint nfiles; /* numbner of configured files */\r
-\r
- void *filbase[FIL_MAX]; /* base addresses of file buffers */\r
-\r
- /* Use 'big' for both R&W */\r
- tbool big; /* TRUE: big endian, FALSE: little endian byte order */\r
- tbool wrap; /* TRUE: do wrap-around, FLASE: do not wrap-around (input only) */\r
-\r
- /* WRITE Part */\r
- tlong outlen; /* Output buffer length in samples */\r
- void *outbuf; /* A pointer to the output buffer */\r
-};\r
-typedef struct filDescriptor_stc filDescriptor_t;\r
-\r
-/*======================================================================\r
- * API Prototypes\r
- *======================================================================*/\r
-\r
-extern int filCreate(void**,filConfig_t*); /* Initialize file descriptor */\r
-extern void *filGetHandle(void); /* Return file handle */\r
-extern tlong filLoad(char*, tlong, int); /* Load file into memory */\r
-extern int filRead(void*,int,linSample*,int); /* Read samples from files */\r
-extern int filWrite(void*, int, linSample*); /* Write sample into file */\r
-\r
-#endif\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/mhm/configspec.clearcase b/file_demo_bios/da830/components/mhm/configspec.clearcase
+++ /dev/null
@@ -1,25 +0,0 @@
-# This is my name and my current version number\r
-
-Begin_ME\r
- ti.mas.mhm 2.5.1.0 dsps_gtmas\r
-End_ME
-\r
-# These are the packages I need for proper operation within the system
-\r
-Begin_DEP\r
- ti.mas.types 5.5.5.0 dsps_gtmas\r
-End_DEP\r
-
-# These are the packages I need internally
-\r
-Begin_INTERNAL\r
- ti.mas.swtools 5.0.4.0 dsps_gtmas\r
-End_INTERNAL\r
-
-# These are the additional packages I need for unit testing
-\r
-#Begin_TST\r
-# <pnameT> <MT>.<mT>.<pT>.<bT>\r
-#End_TST\r
-
-# nothing past this point\r
diff --git a/file_demo_bios/da830/components/mhm/dcSpec.txt b/file_demo_bios/da830/components/mhm/dcSpec.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-# Development config spec for MHM 2.5.1.0 and later\r
-# (the Master version - checkouts allowed for MHM only!)\r
-# Based on the tip of the main branch for MHM.\r
-#\r
-# Please note that the ti_mas_mhm_V_R_X_P_dev branch does NOT exist!\r
-\r
-# Show any checkedout files\r
-element * CHECKEDOUT\r
-\r
-# Specify how to select the folders that lead to the packages\r
-# and how to select some of the shared folders (e.g. docs)\r
-element /dsps_gtmas /main/LATEST -nocheckout\r
-\r
-element /dsps_gtmas/lost+found /main/0\r
-element /dsps_gtmas/ti /main/LATEST -nocheckout\r
-\r
-element /dsps_gtmas/ti/mas /main/LATEST -nocheckout\r
-element /dsps_gtmas/ti/mas/docs/... /main/LATEST -nocheckout\r
-\r
-# Specify dependent packages (to allow debug branching remove -nocheckout as needed)\r
-# mkbranch and end mkbranch lines would allow these packages to appear on MHM branch!\r
-#mkbranch ti_mas_mhm_V_R_X_P_dev\r
-element /dsps_gtmas/ti/mas/swtools/... DEV_TI_MAS_SWTOOLS_5_0_4_0 -nocheckout\r
-element /dsps_gtmas/ti/mas/types/... DEV_TI_MAS_TYPES_5_5_5_0 -nocheckout\r
-\r
-# Specify packages used for unit testing\r
-# NONE\r
-\r
-#end mkbranch ti_mas_mhm_V_R_X_P_dev\r
-\r
-# Normal development in /main branch\r
-element /dsps_gtmas/ti/mas/mhm/... /main/LATEST\r
-\r
diff --git a/file_demo_bios/da830/components/mhm/dcSpeclnx.txt b/file_demo_bios/da830/components/mhm/dcSpeclnx.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-# Development config spec for MHM 2.5.1.0 and later\r
-# (the Master version - checkouts allowed for MHM only!)\r
-# Based on the tip of the main branch for MHM.\r
-#\r
-# Please note that the ti_mas_mhm_V_R_X_P_dev branch does NOT exist!\r
-\r
-# Show any checkedout files\r
-element * CHECKEDOUT\r
-\r
-# Specify how to select the folders that lead to the packages\r
-# and how to select some of the shared folders (e.g. docs)\r
-element /vobs/dsps_gtmas /main/LATEST -nocheckout\r
-\r
-element /vobs/dsps_gtmas/lost+found /main/0\r
-element /vobs/dsps_gtmas/ti /main/LATEST -nocheckout\r
-\r
-element /vobs/dsps_gtmas/ti/mas /main/LATEST -nocheckout\r
-element /vobs/dsps_gtmas/ti/mas/docs/... /main/LATEST -nocheckout\r
-\r
-# Specify dependent packages (to allow debug branching remove -nocheckout as needed)\r
-# mkbranch and end mkbranch lines would allow these packages to appear on MHM branch!\r
-#mkbranch ti_mas_mhm_V_R_X_P_dev\r
-element /vobs/dsps_gtmas/ti/mas/swtools/... DEV_TI_MAS_SWTOOLS_5_0_4_0 -nocheckout\r
-element /vobs/dsps_gtmas/ti/mas/types/... DEV_TI_MAS_TYPES_5_5_5_0 -nocheckout\r
-\r
-# Specify packages used for unit testing\r
-# NONE\r
-\r
-#end mkbranch ti_mas_mhm_V_R_X_P_dev\r
-\r
-# Normal development in /main branch\r
-element /vobs/dsps_gtmas/ti/mas/mhm/... /main/LATEST\r
-\r
diff --git a/file_demo_bios/da830/components/mhm/mCspec.txt b/file_demo_bios/da830/components/mhm/mCspec.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-# Maintenance config spec for MHM 2.5.1.x\r
-# (the Master version - checkouts allowed for MHM only!)\r
-# Based on DEV_TI_MAS_MHM_2_5_1_0\r
-\r
-# Show any checkedout files\r
-element * CHECKEDOUT\r
-\r
-# Specify how to select the folders that lead to the packages\r
-# and how to select some of the shared folders (e.g. docs, swtools)\r
-element /dsps_gtmas DEV_TI_MAS_MHM_2_5_1_0 -nocheckout\r
-\r
-element /dsps_gtmas/lost+found /main/0\r
-element /dsps_gtmas/ti DEV_TI_MAS_MHM_2_5_1_0 -nocheckout\r
-\r
-# The following line assumes that MHM branch would be allowed for all mas packages!\r
-#element /dsps_gtmas/ti/mas/... .../ti_mas_mhm_2_5_1_0_maint/LATEST\r
-\r
-# The following line assumes that mas folder could end up in MHM branch if modified\r
-#element /dsps_gtmas/ti/mas DEV_TI_MAS_MHM_2_5_1_0 -mkbranch ti_mas_mhm_2_5_1_0_maint\r
-\r
-element /dsps_gtmas/ti/mas DEV_TI_MAS_MHM_2_5_1_0 -nocheckout\r
-element /dsps_gtmas/ti/mas/docs/... /main/LATEST -nocheckout\r
-\r
-# Specify dependent packages (to allow debug branching remove -nocheckout as needed)\r
-# mkbranch and end mkbranch lines would allow these packages to appear on MHM branch!\r
-#mkbranch ti_mas_mhm_2_5_1_0_maint\r
-element /dsps_gtmas/ti/mas/swtools/... DEV_TI_MAS_SWTOOLS_5_0_4_0 -nocheckout\r
-element /dsps_gtmas/ti/mas/types/... DEV_TI_MAS_TYPES_5_5_5_0 -nocheckout\r
-\r
-# Specify packages used for unit testing\r
-# NONE\r
-\r
-#end mkbranch ti_mas_mhm_2_5_1_0_maint\r
-\r
-# Specify development/maintenance branch for 2.5.1.x MHM\r
-element /dsps_gtmas/ti/mas/mhm/... .../ti_mas_mhm_2_5_1_0_maint/LATEST\r
-element /dsps_gtmas/ti/mas/mhm/... DEV_TI_MAS_MHM_2_5_1_0 -mkbranch ti_mas_mhm_2_5_1_0_maint\r
-element /dsps_gtmas/ti/mas/mhm/... /main/0 -mkbranch ti_mas_mhm_2_5_1_0_maint\r
-\r
diff --git a/file_demo_bios/da830/components/mhm/mCspeclnx.txt b/file_demo_bios/da830/components/mhm/mCspeclnx.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-# Maintenance config spec for MHM 2.5.1.x\r
-# (the Master version - checkouts allowed for MHM only!)\r
-# Based on DEV_TI_MAS_MHM_2_5_1_0\r
-\r
-# Show any checkedout files\r
-element * CHECKEDOUT\r
-\r
-# Specify how to select the folders that lead to the packages\r
-# and how to select some of the shared folders (e.g. docs, swtools)\r
-element /vobs/dsps_gtmas DEV_TI_MAS_MHM_2_5_1_0 -nocheckout\r
-\r
-element /vobs/dsps_gtmas/lost+found /main/0\r
-element /vobs/dsps_gtmas/ti DEV_TI_MAS_MHM_2_5_1_0 -nocheckout\r
-\r
-# The following line assumes that MHM branch would be allowed for all mas packages!\r
-#element /vobs/dsps_gtmas/ti/mas/... .../ti_mas_mhm_2_5_1_0_maint/LATEST\r
-\r
-# The following line assumes that mas folder could end up in MHM branch if modified\r
-#element /vobs/dsps_gtmas/ti/mas DEV_TI_MAS_MHM_2_5_1_0 -mkbranch ti_mas_mhm_2_5_1_0_maint\r
-\r
-element /vobs/dsps_gtmas/ti/mas DEV_TI_MAS_MHM_2_5_1_0 -nocheckout\r
-element /vobs/dsps_gtmas/ti/mas/docs/... /main/LATEST -nocheckout\r
-\r
-# Specify dependent packages (to allow debug branching remove -nocheckout as needed)\r
-# mkbranch and end mkbranch lines would allow these packages to appear on MHM branch!\r
-#mkbranch ti_mas_mhm_2_5_1_0_maint\r
-element /vobs/dsps_gtmas/ti/mas/swtools/... DEV_TI_MAS_SWTOOLS_5_0_4_0 -nocheckout\r
-element /vobs/dsps_gtmas/ti/mas/types/... DEV_TI_MAS_TYPES_5_5_5_0 -nocheckout\r
-\r
-# Specify packages used for unit testing\r
-# NONE\r
-\r
-#end mkbranch ti_mas_mhm_2_5_1_0_maint\r
-\r
-# Specify development/maintenance branch for 2.5.1.x MHM\r
-element /vobs/dsps_gtmas/ti/mas/mhm/... .../ti_mas_mhm_2_5_1_0_maint/LATEST\r
-element /vobs/dsps_gtmas/ti/mas/mhm/... DEV_TI_MAS_MHM_2_5_1_0 -mkbranch ti_mas_mhm_2_5_1_0_maint\r
-element /vobs/dsps_gtmas/ti/mas/mhm/... /main/0 -mkbranch ti_mas_mhm_2_5_1_0_maint\r
-\r
diff --git a/file_demo_bios/da830/components/mhm/mhm.h b/file_demo_bios/da830/components/mhm/mhm.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef _MHM_H\r
-#define _MHM_H\r
-/******************************************************************************\r
- * FILE PURPOSE: Definitions and API's for the multiple heap manager.\r
- ******************************************************************************\r
- * FILE NAME: MHM.H\r
- *\r
- * DESCRIPTION: Contains definitions and API's for the multiple heap manager.\r
- *\r
- * TABS: NONE\r
- *\r
- * $Id: mhm.h 1.1 1997/06/25 11:40:55 BOGDANK Exp $\r
- *\r
- * REVISION HISTORY:\r
- *\r
- * $Log: mhm.h $\r
- * Revision 1.1 1997/06/25 11:40:55 BOGDANK\r
- * Initial revision\r
- *\r
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/* System definitions and utilities */\r
-#include <ti/mas/types/types.h> /* DSP types */\r
-\r
-/* API */\r
-void *mhmCreate (void *base, tuint size, tword initPattern);\r
-void *mhmAlloc (void *handle, tuint size);\r
-void *mhmAllocAligned (void *handle, tuint size, tint log2align);\r
-void mhmFree (void *handle, void *base);\r
-void mhmReset (void *handle);\r
-\r
-#endif /* _MHM_H */\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/mhm/package.bld b/file_demo_bios/da830/components/mhm/package.bld
+++ /dev/null
@@ -1,113 +0,0 @@
-/******************************************************************************\r
- * FILE PURPOSE: Build description for package ti.mas.mhm\r
- ******************************************************************************\r
- * FILE NAME: package.bld \r
- *\r
- * DESCRIPTION: This file contains build attributes for package ti.mas.mhm\r
- *\r
- * TABS: NONE\r
- *\r
- * Copyright (C) 2006, Texas Instruments, Inc.\r
- *****************************************************************************/\r
- \r
- var Package=xdc.loadCapsule('ti/mas/swtools/CommonBld.xs');\r
- Package.name="mhm";\r
-\r
- Package.files["commonCsrc"]= {\r
- base_directory: "src",\r
- files: ["mhm.c"\r
- ] \r
- }\r
-\r
- Package.archiveFiles["C64Header"]= {\r
- base_directory: "src/c64",\r
- target: ["c64le", \r
- "c64be", \r
- "c64Ple", \r
- "c64Pbe", \r
- "ce64Ple",\r
- "ce64Pbe",\r
- "c66le", \r
- "c66be",\r
- "ce66le",\r
- "ce66be"\r
- ],\r
- files: ["mhmport.h"\r
- ] \r
- }\r
- \r
- Package.archiveFiles["C55Header"]= {\r
- base_directory: "src/c55",\r
- target: ["c55l", \r
- "c55s"\r
- ],\r
- files: ["mhmport.h"\r
- ] \r
- }\r
- \r
- Package.archiveFiles["C54Header"]= {\r
- base_directory: "src/c54",\r
- target: ["c54n", \r
- "c54f"\r
- ],\r
- files: ["mhmport.h"\r
- ] \r
- }\r
- \r
- Package.archiveFiles["CommonHeader"]= {\r
- base_directory: "src",\r
- files: ["mhmport.h"\r
- ] \r
- }\r
- \r
-\r
-/**********************************************************************************************\r
- The main package.bld routine starts here \r
-***********************************************************************************************/\r
-\r
- /* Set up the target architecture */\r
- Package.targets = [C54, \r
- C54_far, \r
- C55, \r
- C55_large, \r
- C64, \r
- C64_big_endian, \r
- C64P, \r
- C64P_big_endian, \r
- C64P_elf,\r
- C64P_big_endian_elf,\r
- C66, \r
- C66_big_endian, \r
- C66_elf,\r
- C66_big_endian_elf,\r
- C674, \r
- C674_big_endian, \r
- GCArmv7A\r
- ];\r
-\r
- /* Set up version numbers for this package */\r
- Package.pkgStdVer = "2.0";\r
- Package.version = [2,5,1,0, 3,0];\r
-\r
- Package.createVersion();\r
-\r
- /* Include custom makefile to generate doxygen documents */\r
-/* Package.includeMake("Makedocs.mk"); */\r
- \r
- /* Parse XDC Arguments */\r
- Package.parseArgs(arguments);\r
-\r
- /* Create Library */ \r
- Package.createLib();\r
-\r
- /* Create Archive */ \r
- Package.createArchive();\r
- \r
- /* Clean Package */\r
- Package.packageClean();\r
-\r
-\r
-/* nothing past this point */\r
-\r
-\r
-\r
diff --git a/file_demo_bios/da830/components/mhm/package.xdc b/file_demo_bios/da830/components/mhm/package.xdc
+++ /dev/null
@@ -1,87 +0,0 @@
-requires ti.mas.types[5,0,8,1];\r
-requires internal ti.mas.swtools[3,0,0,0];\r
-\r
-/*! MHM package\r
- * \r
- * @a(NAME) `ti.mas.mhm`\r
- *\r
- * @a(DESCRIPTION)\r
- *\r
- * This package creates the mhm system. It depends on the following packages:\r
- * @p(dlist)\r
- * - `ti.mas.types`\r
- * \r
- * @a(CONTENTS)\r
- * @p(dlist)\r
- * - 'mhm' module\r
- * provides APIs for multiple heap management.\r
- * - `version` module\r
- * provides version numbering for the package and is described in\r
- * `version.xdc`. Note that `version.xdc` is generated from the template file \r
- * `version.xdt`.\r
- * @p\r
- * @a(TARGETS) The following architecture targets are supported:\r
- *\r
- * @p(dlist)\r
- * - `C54`\r
- * - `C55`\r
- * - `C55_large`\r
- * - `C64`\r
- * - `C64_big_endian`\r
- * - `C64P`\r
- * - `C64P_big_endian`\r
- * @p\r
- * @a(BUILD) The build options are implemented in the file `package.bld`.\r
- *\r
- * Build command: `xdc XDCARGS="option"`.\r
- * option = [c54, c55, c55L, c64, c64_be, c64P, c64P_be, all]\r
- * If any other option other than above is used then the package is not built correctly\r
- * and will crash when used in conjunction with other packages. \r
- *\r
- *\r
- * Generated files:\r
- *\r
- * @p(dlist)\r
- * - `version.h`\r
- * @p\r
- *\r
- * Command to clean: `xdc clean`\r
- *\r
- * @a(RELEASES)\r
- *\r
- * Release creation: `xdc XDCARGS="option1 option2" release`\r
- * option1 = [c54, c55, c55L, c64, c64_be, c64P, c64P_be, all]\r
- * option2 = [obj, src, docs]\r
- *\r
- * Using the option1 as given and option 2="obj" creates the released tar file containing object code only:\r
- * `ti_mas_mhm_<arch>_src_<v>_<r>_<x>_<p>.tar`\r
- * or `ti_mas_mhm_all_src_<v>_<r>_<x>_<p>.tar` if option 1="all"\r
- * \r
- * Using the option1 as given and option 2="src" creates the released tar file containing source with object code:\r
- * `ti_mas_mhm_<arch>_src_<v>_<r>_<x>_<p>.tar`\r
- * or `ti_mas_mhm_all_src_<v>_<r>_<x>_<p>.tar` if option 1="all"\r
- *\r
- * If option2 = "obj" or empty then `ti_mas_mhm_all_<v>_<r>_<x>_<p>.tar` is created containing only object code\r
- *\r
- * To generate document only the following should be used:\r
- * `xdc XDCARGS="docs" release` or `xdc XDCARGS="option1,docs"`\r
- * and `ti_mas_mhm_docs_<v>_<r>_<x>_<p>.tar` is created\r
- * \r
- * If any other option other than the ones listed above is used, no release is created.\r
- * \r
- *\r
- * \r
- *\r
- * @a(Copyright)\r
- * @p(html)\r
- * © 2006 Texas Instruments, Inc.\r
- * @p\r
- */\r
-\r
-package ti.mas.mhm[2,0,0,0] {\r
- \r
- /* Specification of units for package mhm */\r
- module Version;\r
-}\r
-\r
-/* nothing past this point */\r
diff --git a/file_demo_bios/da830/components/mhm/package.xs b/file_demo_bios/da830/components/mhm/package.xs
+++ /dev/null
@@ -1,28 +0,0 @@
-/******************************************************************************\r
- * FILE PURPOSE: Defines libarary directory name using getLibs\r
- ******************************************************************************\r
- * FILE NAME: package.xs\r
- *\r
- * DESCRIPTION: This file defines the library directory name for proper build\r
- * in case a different directory name for storing library files \r
- * other than "lib" is used. XDC by default assumes that the \r
- * library directory is "lib" is not sepcifically indicated by use\r
- * the attributes in a file called package.xs \r
- *\r
- * TABS: NONE\r
- *\r
- * Copyright (C) 2012, Texas Instruments, Inc.\r
- *****************************************************************************/\r
-\r
-/* "mangle" program build attrs into an appropriate directory name */\r
-function getLibs (prog)\r
-{\r
- var suff = prog.build.target.suffix;\r
- var lib = "";\r
- \r
- lib += "lib/mhm_c.a" + suff;\r
-\r
- return (lib);\r
-}\r
-\r
-/* nothing past this point */\r
diff --git a/file_demo_bios/da830/components/mhm/readme.txt b/file_demo_bios/da830/components/mhm/readme.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-Date: 12/12/2006 Jianzhong Xu \r
-Version 1.0.0.0\r
-\r
-The initial version of the package has three files: mhm.h, c55x/mhmport.h, mhm.c.\r
-1. mhm.h: This file was taken from the latest of main branch. It was chagned in branch \r
- blr_ggxvipp_r001_04_12_01_videoDSP_framework_start. The change was ignored since that brach is for video.\r
-\r
-2. mhmport.h: This file was taken from the latest of main branch. It is the same among all branches.\r
-\r
-3. mhm.c: This file was taken from the latest of main branch. It was changed in branch \r
- blr_ggxcore_r10_03_06_14_core_10_0_0_5_core10_2 and ggdcm_desktop_vc_port. \r
- Changes were ignored sicne the changes were not done properly. They should be outside of mhm.c.
\ No newline at end of file
diff --git a/file_demo_bios/da830/components/mhm/src/arm/mhmport.h b/file_demo_bios/da830/components/mhm/src/arm/mhmport.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _MHMPORT_H\r
-#define _MHMPORT_H\r
-/******************************************************************************\r
- * FILE PURPOSE: Definitions that are used on a ARM platform.\r
- ******************************************************************************\r
- * FILE NAME: MHMPORT.H\r
- *\r
- * DESCRIPTION: Contains definitions that are used on a ARM platform.\r
- *\r
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/* System definitions and utilities */\r
-#include <ti/mas/types/types.h> /* DSP types */\r
-\r
-/* The address type is an unsigned integer type that has the same number of\r
- * bits as the longest possible (data) address on this platform. */\r
-typedef tulong mhmAddress_t;\r
-\r
-#endif /* _MHMPORT_H */\r
-/* nothing past this point */\r
diff --git a/file_demo_bios/da830/components/mhm/src/c54/mhmport.h b/file_demo_bios/da830/components/mhm/src/c54/mhmport.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _MHMPORT_H\r
-#define _MHMPORT_H\r
-/******************************************************************************\r
- * FILE PURPOSE: Definitions that are used on a C54x platform.\r
- ******************************************************************************\r
- * FILE NAME: MHMPORT.H\r
- *\r
- * DESCRIPTION: Contains definitions that are used on a C54x platform.\r
- *\r
- * TABS: NONE\r
- *\r
- * $Id: mhmport.h 1.1 1997/06/25 11:41:02 BOGDANK Exp $\r
- *\r
- * REVISION HISTORY:\r
- *\r
- * $Log: mhmport.h $\r
- * Revision 1.1 1997/06/25 11:41:02 BOGDANK\r
- * Initial revision\r
- *\r
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/* System definitions and utilities */\r
-#include <ti/mas/types/types.h> /* DSP types */\r
-\r
-/* The address type is an unsigned integer type that has the same number of\r
- * bits as the longest possible (data) address on this platform. */\r
-typedef tuint mhmAddress_t;\r
-\r
-#endif /* _MHMPORT_H */\r
-/* nothing past this point */\r
diff --git a/file_demo_bios/da830/components/mhm/src/c55/mhmport.h b/file_demo_bios/da830/components/mhm/src/c55/mhmport.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _MHMPORT_H\r
-#define _MHMPORT_H\r
-/******************************************************************************\r
- * FILE PURPOSE: Definitions that are used on a C54x platform.\r
- ******************************************************************************\r
- * FILE NAME: MHMPORT.H\r
- *\r
- * DESCRIPTION: Contains definitions that are used on a C54x platform.\r
- *\r
- * TABS: NONE\r
- *\r
- * $Id: mhmport.h 1.1 1997/06/25 11:41:02 BOGDANK Exp $\r
- *\r
- * REVISION HISTORY:\r
- *\r
- * $Log: mhmport.h $\r
- * Revision 1.1 1997/06/25 11:41:02 BOGDANK\r
- * Initial revision\r
- *\r
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/* System definitions and utilities */\r
-#include <ti/mas/types/types.h> /* DSP types */\r
-\r
-/* The address type is an unsigned integer type that has the same number of\r
- * bits as the longest possible (data) address on this platform. */\r
-typedef tulong mhmAddress_t;\r
-\r
-#endif /* _MHMPORT_H */\r
-/* nothing past this point */\r
diff --git a/file_demo_bios/da830/components/mhm/src/c64/mhmport.h b/file_demo_bios/da830/components/mhm/src/c64/mhmport.h
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef _MHMPORT_H\r
-#define _MHMPORT_H\r
-/******************************************************************************\r
- * FILE PURPOSE: Definitions that are used on a C6x platform.\r
- ******************************************************************************\r
- * FILE NAME: MHMPORT.H\r
- *\r
- * DESCRIPTION: Contains definitions that are used on a C6x platform.\r
- *\r
- * TABS: NONE\r
- *\r
- * $Id: mhmport.h 1.2 1998/08/06 16:50:04 jdowdal Exp $\r
- *\r
- * REVISION HISTORY:\r
- *\r
- * $Log: mhmport.h $\r
- * Revision 1.2 1998/08/06 16:50:04 jdowdal\r
- * Fixed size of mhmAddress_t.\r
- * Revision 1.1 1998/07/22 14:12:15 jdowdal\r
- * Initial revision\r
- * Initial revision taken from c54x\mhmport.h\r
- *\r
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/* System definitions and utilities */\r
-#include <ti/mas/types/types.h> /* DSP types */\r
-\r
-/* The address type is an unsigned integer type that has the same number of\r
- * bits as the longest possible (data) address on this platform. */\r
-typedef tulong mhmAddress_t;\r
-\r
-#endif /* _MHMPORT_H */\r
-/* nothing past this point */\r
diff --git a/file_demo_bios/da830/components/mhm/src/mhm.c b/file_demo_bios/da830/components/mhm/src/mhm.c
+++ /dev/null
@@ -1,279 +0,0 @@
-/******************************************************************************\r
- * FILE PURPOSE: Multiple heap manager.\r
- ******************************************************************************\r
- * FILE NAME: mhm.c\r
- *\r
- * DESCRIPTION: Contains routines for multiple heap management. These functions\r
- * may be used in allocating memory from several independent\r
- * memory pools.\r
- *\r
- * NOTE: Current implementation does NOT provide deallocation!\r
- *\r
- * TABS: NONE\r
- *\r
- * $Id: mhm.c 1.1 1997/06/25 11:40:55 BOGDANK Exp $\r
- *\r
- * REVISION HISTORY:\r
- *\r
- * $Log: mhm.c $\r
- * Revision 1.1 1997/06/25 11:40:55 BOGDANK\r
- * Initial revision\r
- *\r
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-\r
-#include <stdlib.h>\r
-#include <string.h> /* for memset */\r
-\r
-#include <xdc/std.h>\r
-/* System definitions and utilities */\r
-#include <ti/mas/types/types.h> /* DSP types */\r
-\r
-//#include <ti/mas/mhm/mhm.h>\r
-//#include <ti/mas/mhm/src/mhmport.h>\r
-\r
-#include "../mhm.h"\r
-#include "mhmport.h"\r
-\r
-/* Heap header that is placed at the beginning of a memory pool. */\r
-typedef struct {\r
- tuint total_size; /* total number of words in a memory pool */\r
- tuint used_size; /* index of the first available word */\r
-} mhmHead_t;\r
-\r
-/* The minimum and maximum number of words in a memory pool. Align gap and\r
- * maximum size value are specified in mhmport.h. */\r
-#define MHM_MIN_POOLSIZE (sizeof(mhmHead_t)+MHM_MAX_ALIGNGAP+1)\r
-#define MHM_MAX_POOLSIZE MHM_MAX_SIZEVAL\r
-\f\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Create and initialize a heap.\r
- ******************************************************************************\r
- * DESCRIPTION: Creates and initializes a heap. If successful returns a heap\r
- * handle, otherwise returns NULL.\r
- *\r
- * void *mhmCreate (\r
- * void *base, - base address of a memory pool (!= NULL)\r
- * tuint size, - number of words within the memory pool\r
- * word initPattern) - initializing pattern for the heap\r
- *\r
- * RETURN VALUE: A heap handle, or NULL in case of error.\r
- *\r
- *****************************************************************************/\r
-\r
-void *mhmCreate (void *base, tuint size, tword initPattern)\r
-{\r
- tuint used_size;\r
- mhmHead_t *head;\r
- tword *w_base = (tword *)base;\r
- tword *block;\r
- mhmAddress_t wa_base_new, wa_block_new;\r
-\r
- /* initialize the raw space */\r
- memset (w_base, initPattern, size);\r
- \r
- /* In the first part we align the base address of the memory pool */\r
- used_size = 0;\r
- wa_base_new = ((mhmAddress_t)w_base + MHM_MAX_ALIGNGAP) & (~MHM_ALIGN_MASK);\r
- used_size += wa_base_new - (mhmAddress_t)w_base;\r
- w_base = (tword *)wa_base_new; /* this is the new base after any gap */\r
-\r
- if (size < used_size+MHM_MIN_POOLSIZE || size-used_size > MHM_MAX_POOLSIZE ||\r
- base == NULL)\r
- return(NULL);\r
-\r
- /* Skip the pool alignment gap and start fresh. Do not forget to reset used size. */\r
- /* w_base points to aligned address now and used_size is currently the gap size (if any) */\r
- head = (mhmHead_t*)w_base; /* This will be the actual head of the heap */\r
- head->total_size = size - used_size; /* record total heap size by removing the gap size */\r
-\r
- used_size = sizeof(mhmHead_t); /* reserve space for the header and make that the used size */\r
- block = &w_base[used_size]; /* skip the header */\r
-\r
- /* Remember to align the remaining pool to the minimum alignment required by MHM */\r
- wa_block_new = ((mhmAddress_t)block + MHM_MAX_ALIGNGAP) & (~MHM_ALIGN_MASK);\r
- used_size += wa_block_new - (mhmAddress_t)block;\r
-\r
- head->used_size = used_size; /* record an index to empty space which is with minimum alignment */\r
- return(head); /* return heap handle */\r
-} /* mhmCreate */\r
-\f\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Allocate a block of memory from a heap.\r
- ******************************************************************************\r
- * DESCRIPTION: Allocates a block of memory from a heap. Block size must be\r
- * bigger than zero. It returns a pointer to block start or a\r
- * NULL if unsuccessful.\r
- *\r
- * void *mhmAlloc (\r
- * void *handle, - heap handle obtained in mhmCreate()\r
- * tuint size) - number of words to allocate for the block\r
- *\r
- * RETURN VALUE: A pointer to block start, or NULL when unsuccessful.\r
- *\r
- *****************************************************************************/\r
-\r
-void *mhmAlloc (void *handle, tuint size)\r
-{\r
- tuint left;\r
- mhmHead_t *head = (mhmHead_t*)handle;\r
- tword *w_base = (tword *)handle;\r
- tword *block;\r
-\r
- if (size == 0 || size > MHM_MAX_SIZE || head->total_size <= head->used_size)\r
- return(NULL);\r
-\r
- /* Make sure the actual used size will be resulting in minimum required MHM alignment */\r
- size = (tuint)((size + MHM_MAX_ALIGNGAP) & (~MHM_ALIGN_MASK));\r
-\r
- left = head->total_size - head->used_size;\r
- if (left < size) /* do we have space for this block? */\r
- return(NULL);\r
- block = &w_base[head->used_size];\r
- head->used_size += (tuint)size; /* increase the used space */\r
-\r
- /* no need for additional alignment since the size was already aligned above and base is\r
- * always kept aligned to the minimum requried MHM alignment */\r
-\r
- return(block); /* return a pointer to start */\r
-} /* mhmAlloc */\r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Allocate a block of memory from a heap log2 aligned\r
- ******************************************************************************\r
- * DESCRIPTION: Allocates a block of memory from a heap. Block size must be\r
- * bigger than zero. It returns a pointer to block start or a\r
- * NULL if unsuccessful. The start address will be aligned to pow-2\r
- * boundary.\r
- *\r
- * void *mhmAllocAligned (\r
- * void *handle, - heap handle obtained in mhmCreate()\r
- * tuint size, - number of words to allocate for the block\r
- * tint log2align) - log2 alignment that is required (e.g. 3 for 0xFF..FF8 mask)\r
- *\r
- * RETURN VALUE: A pointer to block start, or NULL when unsuccessful.\r
- *\r
- *****************************************************************************/\r
-\r
-void *mhmAllocAligned (void *handle, tuint size, tint log2align)\r
-{\r
- tuint left, used_size;\r
- mhmHead_t *head = (mhmHead_t*)handle;\r
- tword *w_base = (tword *)handle;\r
- tword *block;\r
- tulong align_mask, align_gap;\r
- mhmAddress_t wa_block_new;\r
-\r
- if (size == 0 || size > MHM_MAX_SIZE || head->total_size <= head->used_size)\r
- return(NULL);\r
-\r
- if (log2align < 1) { /* use simple alloc function if no alignment required */\r
- block = mhmAlloc(handle, size);\r
- return(block);\r
- }\r
- used_size = head->used_size; /* current used size */\r
- block = &w_base[used_size]; /* skip the already used size */\r
-\r
- /* Remember to align the new block address to the requested alignment */\r
- align_mask = ((~0UL) << log2align);\r
- align_gap = (~align_mask);\r
-\r
- wa_block_new = (((mhmAddress_t)block + align_gap) & align_mask);\r
- size += wa_block_new - (mhmAddress_t)block; /* update size with the gap (if any) */\r
-\r
- /* Make sure the actual used size will be resulting in minimum required MHM alignment */\r
- /* This in general may be different from the requested start address alignment! */\r
- size = (tuint)((size + MHM_MAX_ALIGNGAP) & (~MHM_ALIGN_MASK));\r
-\r
- left = head->total_size - used_size;\r
- if (left < size) /* do we have space for this block? (and any gaps) */\r
- return(NULL);\r
- block = (tword*)wa_block_new; /* this is where we would start new block */\r
- head->used_size = used_size+size; /* increase the used space */\r
-\r
- /* no need for additional alignment since the size and base were already aligned above */\r
-\r
- return(block); /* return a pointer to start */\r
-} /* mhmAllocAligned */\r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Deallocate a memory block from a heap.\r
- ******************************************************************************\r
- * DESCRIPTION: Deallocates a memory block from a heap.\r
- *\r
- * void mhmFree (\r
- * void *handle, - a heap handle\r
- * void *base) - base address of a block\r
- *\r
- *****************************************************************************/\r
-\r
-void mhmFree (void *handle, void *base)\r
-{\r
- return; /* currently NOT supported */\r
-} /* mhmFree */\r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Reset heap and start allocating form the beginning.\r
- ******************************************************************************\r
- * DESCRIPTION: Resets heap and allows for allocation to start from the beginning.\r
- *\r
- * void mhmReset (\r
- * void *handle) - a heap handle\r
- *\r
- *****************************************************************************/\r
-\r
-void mhmReset (void *handle)\r
-{\r
- tuint used_size;\r
- mhmHead_t *head = (mhmHead_t*)handle;\r
- tword *w_base = (tword*)handle;\r
- tword *block;\r
- mhmAddress_t wa_block_new;\r
-\r
- /* no need to change the total size */\r
- /* we start from empty heap */\r
- used_size = sizeof(mhmHead_t); /* reserve space for the header and make that the used size */\r
- block = &w_base[used_size]; /* skip the header */\r
-\r
- /* Remember to align the remaining pool to the minimum alignment required by MHM */\r
- wa_block_new = ((mhmAddress_t)block + MHM_MAX_ALIGNGAP) & (~MHM_ALIGN_MASK);\r
- used_size += wa_block_new - (mhmAddress_t)block;\r
-\r
- head->used_size = used_size; /* record an index to empty space which is with minimum alignment */\r
-\r
- /* the head which is the base of the heap is already aligned */\r
- return;\r
-} /* mhmreset */\r
-\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/mhm/src/mhmport.h b/file_demo_bios/da830/components/mhm/src/mhmport.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/******************************************************************************\r
- * FILE PURPOSE: Target specific definitions.\r
- ******************************************************************************\r
- * FILE NAME: MHMPORT.H\r
- *\r
- * DESCRIPTION: Contains definitions that are specific to different targets.\r
- *\r
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-\r
-#ifdef ti_targets_C54\r
-#define _MHMPORT_C54 1\r
-#else\r
-#define _MHMPORT_C54 0\r
-#endif\r
-\r
-#ifdef ti_targets_C54_far\r
-#define _MHMPORT_C54F 1\r
-#else\r
-#define _MHMPORT_C54F 0\r
-#endif\r
-\r
-#ifdef ti_targets_C55\r
-#define _MHMPORT_C55 1\r
-#else\r
-#define _MHMPORT_C55 0\r
-#endif\r
-\r
-#ifdef ti_targets_C55_large\r
-#define _MHMPORT_C55L 1\r
-#else\r
-#define _MHMPORT_C55L 0\r
-#endif\r
-\r
-#ifdef ti_targets_C64\r
-#define _MHMPORT_C64 1\r
-#else\r
-#define _MHMPORT_C64 0\r
-#endif\r
-\r
-#ifdef ti_targets_C64_big_endian\r
-#define _MHMPORT_C64_BIG_ENDIAN 1\r
-#else\r
-#define _MHMPORT_C64_BIG_ENDIAN 0\r
-#endif\r
-\r
-#ifdef ti_targets_C64P\r
-#define _MHMPORT_C64P 1\r
-#else\r
-#define _MHMPORT_C64P 0\r
-#endif\r
-\r
-#ifdef ti_targets_elf_C64P \r
-#define _MHMPORT_ELF_C64P 1\r
-#else\r
-#define _MHMPORT_ELF_C64P 0\r
-#endif\r
-\r
-#ifdef ti_targets_C64P_big_endian\r
-#define _MHMPORT_C64P_BIG_ENDIAN 1\r
-#else\r
-#define _MHMPORT_C64P_BIG_ENDIAN 0\r
-#endif\r
-\r
-#ifdef ti_targets_elf_C64P_big_endian\r
-#define _MHMPORT_ELF_C64P_BIG_ENDIAN 1\r
-#else\r
-#define _MHMPORT_ELF_C64P_BIG_ENDIAN 0\r
-#endif\r
-\r
-#ifdef ti_targets_C66\r
-#define _MHMPORT_C66 1\r
-#else\r
-#define _MHMPORT_C66 0\r
-#endif\r
-\r
-#ifdef ti_targets_elf_C66\r
-#define _MHMPORT_ELF_C66 1\r
-#else\r
-#define _MHMPORT_ELF_C66 0\r
-#endif\r
-\r
-#ifdef ti_targets_C66_big_endian\r
-#define _MHMPORT_C66_BIG_ENDIAN 1\r
-#else\r
-#define _MHMPORT_C66_BIG_ENDIAN 0\r
-#endif\r
-\r
-#ifdef ti_targets_elf_C66_big_endian\r
-#define _MHMPORT_ELF_C66_BIG_ENDIAN 1\r
-#else\r
-#define _MHMPORT_ELF_C66_BIG_ENDIAN 0\r
-#endif\r
-\r
-#ifdef ti_targets_C674\r
-#define _MHMPORT_C674 1\r
-#else\r
-#define _MHMPORT_C674 0\r
-#endif\r
-\r
-#ifdef ti_targets_C674_big_endian\r
-#define _MHMPORT_C674_BIG_ENDIAN 1\r
-#else\r
-#define _MHMPORT_C674_BIG_ENDIAN 0\r
-#endif\r
-\r
-#ifdef gnu_targets_arm_GCArmv7A\r
-#define _MHMPORT_ARM_GCARMV7A 1\r
-#else\r
-#define _MHMPORT_ARM_GCARMV7A 0\r
-#endif\r
-\r
-#if (_MHMPORT_C54 || _MHMPORT_C54F)\r
-#include <ti/mas/mhm/src/c54/mhmport.h>\r
-#elif (_MHMPORT_C55 || _MHMPORT_C55L)\r
-#include <ti/mas/mhm/src/c55/mhmport.h>\r
-#elif _MHMPORT_ARM_GCARMV7A\r
-#include <ti/mas/mhm/src/arm/mhmport.h>\r
-#elif (_MHMPORT_C64 || _MHMPORT_C64_BIG_ENDIAN || \\r
- _MHMPORT_C64P || _MHMPORT_C64P_BIG_ENDIAN || \\r
- _MHMPORT_ELF_C64P || _MHMPORT_ELF_C64P_BIG_ENDIAN || \\r
- _MHMPORT_C66 || _MHMPORT_C66_BIG_ENDIAN || \\r
- _MHMPORT_ELF_C66 || _MHMPORT_ELF_C66_BIG_ENDIAN || \\r
- _MHMPORT_C674 || _MHMPORT_C674_BIG_ENDIAN)\r
-#include <ti/mas/mhm/src/c64/mhmport.h>\r
-#else\r
-#error invalid target\r
-#endif\r
-\r
-#define MHM_ALIGN_BITS TYP_STRUCT_LOG2ALIGN\r
-#define MHM_ALIGN_MASK (~((~0U)<<MHM_ALIGN_BITS)) \r
-\r
-/* Align gap is the maximum number of words that may be used to fill a gap\r
- * to the next memory block due to alignment requirements. */\r
-#define MHM_MAX_ALIGNGAP MHM_ALIGN_MASK\r
-\r
-/* The maximum value of a buffer size and the maximum buffer size. They are\r
- * not the same due to alignment gap. */\r
-#define MHM_MAX_SIZEVAL (~0U)\r
-#define MHM_MAX_SIZE (MHM_MAX_SIZEVAL - MHM_MAX_ALIGNGAP)\r
-\r
-/* Nothing past this point */\r
diff --git a/file_demo_bios/da830/components/mss/mss.h b/file_demo_bios/da830/components/mss/mss.h
+++ /dev/null
@@ -1,472 +0,0 @@
-#ifndef _MSS_H\r
-#define _MSS_H\r
-\r
-/**\r
- * @file mss.h\r
- * @brief Contains external API for Multi-Source Selection (MSS) module.\r
- *\r
- * Copyright (c) 2007 – 2013 Texas Instruments Incorporated \r
- * ALL RIGHTS RESERVED\r
- */\r
-\r
-#include <ti/mas/types/types.h>\r
-#include <ti/mas/util/ecomem.h> /* memory descriptor structure */\r
-\r
-/* Define MSS Module as a master group in Doxygen format and add all MSS API \r
- definitions to this group. */\r
-/** @defgroup mss_module MSS Module API\r
- * @{\r
- */\r
-/** @} */\r
-\r
-/** @defgroup mss_api_functions MSS Functions\r
- * @ingroup mss_module\r
- */\r
-\r
-/** @defgroup mss_api_structures MSS Data Structures\r
- * @ingroup mss_module\r
- */\r
-\r
-/** @defgroup mss_api_constants MSS Constants (enum's and define's)\r
- * @ingroup mss_module\r
- */\r
-\f\r
-/** @defgroup mss_err_code MSS Error Codes\r
- * @ingroup mss_api_constants\r
- * @{\r
- *\r
- * @name MSS error codes\r
- *\r
- * Error codes returned by MSS API functions.\r
- */\r
-/*@{*/\r
-enum {\r
- mss_NOERR = 0, /**< success, no error */\r
- mss_ERR_NOMEMORY = 1, /**< supplied memory are not enough */\r
- mss_ERR_NOTOPENED = 2, /**< MSS instance not in opened state */\r
- mss_ERR_NOTCLOSED = 3, /**< MSS instance not in closed state */\r
- mss_ERR_INVALIDPAR = 4, /**< configuration parameter is invalid */\r
- mss_ERR_INVALIDSRC = 5 /**< no valid source is provided to process */\r
-};\r
-/*@}*/\r
-/** @} */\r
-\r
-/** @defgroup mss_samp_rate MSS Sampling Rates Definitions\r
- * @ingroup mss_api_constants\r
- * @{\r
- *\r
- * @name MSS sampling rates\r
- *\r
- * Sampling rates that are supported by MSS. \r
-*/\r
-/*@{*/\r
-enum {\r
- mss_SAMP_RATE_8K = 1, /**< 8kHz */\r
- mss_SAMP_RATE_16K = 2 /**< 16kHz */\r
-};\r
-typedef tint mssSampRate_t;\r
-\r
-/*@}*/\r
-/** @} */\r
-\r
-/** @defgroup mss_src_type MSS Source Type Definitions\r
- * @ingroup mss_api_constants\r
- * @{\r
- *\r
- * @name MSS source types\r
- *\r
- * MSS supports multiple types of sources which can be microphones, beams, etc.\r
- * Microphones can be fixed (mounted on the device) or remote, and can have \r
- * their own built-in acoustic echo canceller. \r
-*/\r
-/*@{*/\r
-enum {\r
- mss_SRC_INVALID = -1, /**< Invalid source type */\r
- mss_SRC_MIC_FIXED = 0, /**< Fixed microphones */\r
- mss_SRC_MIC_REMOTE = 1, /**< Remote microphones */\r
- mss_SRC_MIC_CLEAN = 2, /**< Clean microphones (with built-in AEC) */\r
- mss_SRC_BEAM = 3, /**< Beams from microphone arrays */\r
- mss_SRC_MAX = mss_SRC_BEAM\r
-};\r
-\r
-typedef tint mssSrcType_t;\r
-#define mss_MAX_NUM_SRC_TYPES (mss_SRC_MAX+1) /**< Max # of supported source types */\r
-/*@}*/\r
-/** @} */\r
-\r
-/** \r
- * @ingroup mss_api_structures\r
- *\r
- * @brief Source structure used to manually select a source. \r
- */\r
-typedef struct mssSrc_s {\r
- mssSrcType_t group; /**< source group to be manually selected:\r
- valid values: mss_SRC_MIC_FIXED, etc. */\r
- tint index; /**< group index of the source to be manually selected:\r
- range: 0 - number of sources minus 1 */\r
-} mssSrc_t;\r
-\r
-/** \r
- * @ingroup mss_api_structures\r
- *\r
- * @brief Configuration structure for mssGetSizes()\r
- * \brief This structure is used for getting memory requirements of MSS through \r
- * function mssGetSizes().\r
- */\r
-typedef struct mssSizeConfig_s {\r
- mssSampRate_t max_sampling_rate; /**< Maximum sampling rate: \r
- 8kHz: set to mss_SAMP_RATE_8K. \r
- 16kHz: set to mss_SAMP_RATE_16K. */ \r
- tint max_num_mic_fixed; /**< Maximum number of fixed microphones */\r
- tint max_num_mic_remote; /**< Maximum number of remote microphones */\r
- tint max_num_mic_clean; /**< Maximum number of microphones with built-in AEC */\r
- tint max_num_beam; /**< Maximum number of beams from microphone array */\r
-} mssSizeConfig_t;\r
-\r
-/** \r
- * @ingroup mss_api_structures\r
- *\r
- * @brief Configuration structure for mssNew()\r
- * \brief This structure is used for creating a new MSS instance through \r
- * function mssNew().\r
- */\r
-typedef struct mssNewConfig_s {\r
- void *handle; /**< handle */\r
- mssSizeConfig_t sizeCfg; /**< size configration */\r
-} mssNewConfig_t;\r
-\r
-/** \r
- * @ingroup mss_api_structures\r
- *\r
- * @brief Configuration structure for mssOpen()\r
- * \brief This structure contains system parameters to configure an MSS \r
- * instance through mssOpen(). MSS doesn't have default value for these\r
- * parameters, and they must be set explicitly when mssOpen() is called\r
- * the first time after mssNew(). \r
- * \remarks This structure doesn't contain any configurable parameters that are\r
- * controlled through mssControl_s to avoid confusion.\r
- */\r
-typedef struct mssConfig_s {\r
- mssSampRate_t sampling_rate; /**< Sampling rate: \r
- 8kHz: set to mss_SAMP_RATE_8K. \r
- 16kHz: set to mss_SAMP_RATE_16K. */ \r
- tint num_mic_fixed; /**< Number of fixed microphones */\r
- tint num_mic_remote; /**< Number of remote microphones */\r
- tint num_mic_clean; /**< Number of microphones with built-in AEC */\r
- tint num_mic_array; /**< Number of microphones in microphone-array*/\r
- tint num_beam; /**< Number of beams from microphone array */\r
-} mssConfig_t;\r
-\r
-/** \r
- * @ingroup mss_api_structures\r
- *\r
- * @brief MSS control bitfield structure \r
- *\r
- * Bitfield masks mss_CTL_MODES_XYZ may be used to change MSS operation modes\r
- * through mssControl(), by constructing elements "mask" and "value" of mssModes_s.\r
- *\r
- * @verbatim\r
- MSS Modes Control Bitfield: \r
- ---------------------------------------\r
- |15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0|\r
- ---------------------------------------\r
- bits values meaning\r
- (from LSB) \r
- 0 1 MSS bypass operation - MSS always selects the \r
- first available source passed to mssProcess(). \r
- 0 MSS normal operation. \r
- 1 1 Freeze the update of MSS states - MSS always selects \r
- whatever source that was selcted before update was \r
- frozen. \r
- 0 Enable the update of MSS states - normal operation. \r
- *\r
- */\r
-typedef struct mssCtlBf_s {\r
- tuint mask; /**< Indicates the bits to be changed. */\r
- tuint value; /**< Gives new value of each bit indicated by mask. */\r
-/*@{*/\r
-#define mss_CTL_MODES_BYPASS 0x0001 /**< Bypass MSS */\r
-#define mss_CTL_MODES_FREEZE 0x0002 /**< Freeze MSS internal states update */\r
-#define mss_CTL_MODES_DEFAULT 0x0000 /**< Default (normal) operation modes */\r
-/*@}*/\r
-} mssCtlBf_t;\r
-\r
-/** \r
- * @ingroup mss_api_structures\r
- *\r
- * @brief Control structure for mssControl()\r
- *\r
- * \brief This structure is used to change MSS configurable parameters. \r
- * Element mssControl_s.valid_bitfield indicates which parameter to be\r
- * changed, and other elements give the parameter values. \r
- */\r
-typedef struct mssControl_s {\r
- tuint valid_bitfield;\r
-/*@{*/\r
-#define mss_CTL_MODES 0x0001 /**< change mssControl_s.modes */\r
-#define mss_CTL_SELECT_SRC 0x0002 /**< change mssControl_s.source */\r
-#define mss_CTL_SWITCH_THRESH 0x0004 /**< change mssControl_s.switch_thresh */\r
-#define mss_CTL_SWITCH_DURATION 0x0008 /**< change mssControl_s.switch_duration */\r
-#define mss_CTL_SWITCH_HNAGOVER 0x0010 /**< change mssControl_s.switch_hangover */\r
-#define mss_CTL_ALL ( mss_CTL_MODES \\r
- | mss_CTL_SELECT_SRC \\r
- | mss_CTL_SWITCH_THRESH \\r
- | mss_CTL_SWITCH_DURATION \\r
- | mss_CTL_SWITCH_HNAGOVER ) /**< change all */\r
-/*@}*/ \r
- mssCtlBf_t modes; /**< controls MSS operation modes */\r
- mssSrc_t source; /**< the source selected by external user */\r
- tint switch_thresh; /**< switch threshold in msec: a source needs\r
- to meet the selection criteria for this\r
- amount of time before switch to this \r
- source starts. Default is 250msec */\r
- tint switch_duration; /**< switch duration in msec: it takes this\r
- amount of time to switch from one source \r
- to another. Default is 500msec. */\r
- tint switch_hangover; /**< switch hangover in msec: after a new \r
- source is selected, it has to wait this \r
- time before evaluating next possible \r
- source switch. Default is 1000msec. */\r
-} mssControl_t;\r
-\r
-/** \r
- * @ingroup mss_api_structures\r
- *\r
- * @brief MSS debug structure \r
- *\r
- * \brief This structure is used to provide MSS debugging information.\r
- */\r
-#define mss_DEBUG_STATE_NUM_TUINT 16 \r
-typedef struct mssDebugStat_s {\r
- mssSrc_t cur_src; /**< Current source */\r
- mssSrc_t new_src; /**< Temporary new source */\r
- tuint states[mss_DEBUG_STATE_NUM_TUINT]; /**< MSS internal states */\r
-} mssDebugStat_t;\r
-\r
- \r
-/**\r
- * @ingroup mss_api_functions\r
- *\r
- * @brief Function mssGetSizes() obtains from MSS the memory requirements of \r
- * an instance, which depend on provided configuration parameters. \r
- *\r
- * @param[in] cfg Pointer to a size configuration structure.\r
- * @param[out] nbufs Memory location to store the returned number of buffers\r
- * required by the instance.\r
- * @param[out] bufs Memory location to store the returned address of the \r
- * vector of memory buffer descriptions required by MSS. \r
- *\r
- * @remark Type ecomemBuffer_t is defined in ecomem.h of util package.\r
- *\r
- * @retval MSS error code, always mss_NOERR.\r
- */\r
-tint mssGetSizes(tint *nbufs, const ecomemBuffer_t **bufs, mssSizeConfig_t *cfg);\r
-\r
-/**\r
- * @ingroup mss_api_functions\r
- *\r
- * @brief Function mssNew() creates a new instance of MSS. \r
- * \remark Function mssNew() must be called before mssOpen()is called.\r
- *\r
- * @param[in] nbufs Number of memory buffers allocated by the user.\r
- * @param[in] bufs Pointer to memory buffer descriptors defined by\r
- * user.\r
- * \remark Buffer alignment property of each buffer passed to mssNew() must be \r
- * equal to or better than what is returned by mssGetSizes(), and must\r
- * be in consistency with the base address of the buffer.\r
- *\r
- * @param[in] cfg Pointer to new instance configuration structure.\r
- * @param[in,out] mssInst Memory location that will receive a pointer to \r
- * the created MSS instance. This pointer will be \r
- * returned by mssNew().\r
- * @retval MSS error code. See \ref mss_err_code.\r
- * @verbatim\r
- error code description\r
- mss_NOERR success\r
- mss_ERR_INVALIDPAR *mssInst is not NULL or nbufs is not correct \r
- mss_ERR_NOMEMORY properties of certain buffer are bad:\r
- - size is not zero but base address is NULL,\r
- - alignment and base address are not consistent,\r
- - volatility does not meet requirement.\r
- \endverbatim\r
- *\r
- * @pre The pointer at the location pointed to by mssInst must be set to NULL \r
- * before this function is called.\r
- * @post A pointer to the MSS instance buffer will be returned to the location\r
- * pointed to by mssInst. Instance state will be set to closed.\r
- */\r
-tint mssNew (void **mssInst, tint nbufs, ecomemBuffer_t *bufs, mssNewConfig_t *cfg);\r
-\r
-/**\r
- * @ingroup mss_api_functions \r
- *\r
- * @brief Function mssOpen() initializes and configures an MSS instance.\r
- *\r
- * @remark This function must be called after mssNew() to initialize a new MSS\r
- * instance. It may also be called to reconfigure an instance that \r
- * has been closed by mssClose() but not deleted by mssDelete().\r
- *\r
- * @param[in] cfg Pointer to MSS configuration parameter.\r
- * @param[in] mssInst Pointer to MSS instance.\r
- * @retval MSS error code. See \ref mss_err_code.\r
- * @verbatim\r
- error code description\r
- mss_NOERR success\r
- mss_ERR_NOTCLOSED MSS instance state has not been set to closed, i.e,\r
- mssNew() or mssClose() not called for the instance.\r
- mss_ERR_INVALIDPAR bad configuration parameters:\r
- - cfg is NULL\r
- - total number of sources is less than or equal to 0.\r
- \endverbatim\r
- *\r
- * @pre Function mssNew() must be called before mssOpen() is called the first\r
- * time to open a new instance. For subsequent calls to open an existing\r
- * instance, mssClose() must be called before mssOpen() to close the\r
- * instance.\r
- * @post All the parameters that are not part of mssConfig_t are set to \r
- * default values by mssOpen. \r
- * @post After MSS instance is opened, mssControl() and mssProcess() may \r
- * be called for control or processing. \r
- *\r
- */\r
-tint mssOpen (void *mssInst, mssConfig_t *cfg);\r
-\r
-/**\r
- * @ingroup mss_api_functions\r
- *\r
- * @brief Function mssControl() changes MSS operation modes or parameters. \r
- *\r
- * @param[in] mssInst Pointer to MSS instance.\r
- * @param[in,out] ctl Pointer to MSS control structure. \r
- *\r
- * @retval MSS error code. See \ref mss_err_code.\r
- * @verbatim\r
- error code description\r
- mss_NOERR success\r
- mss_ERR_NOTOPENED MSS instance has not been opened\r
- mss_ERR_INVALIDSRC mssControl_s.source is an invalid source\r
- \endverbatim\r
- *\r
- */\r
-tint mssControl (void *mssInst, mssControl_t *ctl);\r
-\r
-/**\r
- * @ingroup mss_api_functions\r
- *\r
- * @brief Function mssProcess() examines all input sources to MSS and selects \r
- * the best one.\r
- *\r
- * @param[in] mssInst Pointer to MSS instance.\r
- * @param[in] rx_out_sync Synchronized Rx path output signal, NOT to be\r
- * selected, but to assist source\r
- * selection. (Not used)\r
- * @param[in] mic_fixed Signals from fixed mics.\r
- * @param[in] mic_remote Signals from remote mics.\r
- * @param[in] mic_clean Signals from mics with own AEC.\r
- * @param[in] mic_array Signals from mics in the mic-array.\r
- * @param[in] beam Signals from beams formed from mic-array.\r
- *\r
- * @param[out] out Buffer to store the selected source signal\r
- *\r
- * @remark All input signals and output signal are 16-bit linear samples \r
- * of 10 msec. \r
- *\r
- * @retval MSS error code. See \ref mss_err_code.\r
- * @verbatim\r
- error code description\r
- mss_NOERR success\r
- mss_ERR_NOTOPENED MSS instance has not been opened\r
- mss_ERR_INVALIDSRC mssControl_s.source is an invalid source\r
- \endverbatim\r
- *\r
- */\r
-tint mssProcess(void *mssInst, void *out, void *rx_out_sync, void *mic_fixed[],\r
- void *mic_remote[], void *mic_clean[], void *mic_array[], void *beam[]);\r
-\r
-/**\r
- * @ingroup mss_api_functions\r
- *\r
- * @brief Function mssDebugStat() returns debug information.\r
- *\r
- * @param[in] mssInst Pointer to MSS instance.\r
- * @param[out] mssDbg Debug information.\r
- *\r
- * @retval MSS error code. See \ref mss_err_code.\r
- * @verbatim\r
- error code description\r
- mss_NOERR success\r
- mss_ERR_NOTOPENED MSS instance has not been opened\r
- \endverbatim\r
- *\r
- */ \r
-tint mssDebugStat(void *mssInst, mssDebugStat_t *mssDbg);\r
-\r
-/**\r
- * @ingroup mss_api_functions\r
- *\r
- * @brief Function mssClose() closes an MSS instance. \r
- * \remark Function mssClose() must be called before mssDelete() is called.\r
- *\r
- * @param[in] mssInst pointer to the instance to be closed\r
- * @retval MSS error code. See \ref mss_err_code.\r
- * @verbatim\r
- error code description\r
- mss_NOERR success\r
- mss_ERR_NOTOPENED MSS instance is not in open state\r
- \endverbatim\r
- *\r
- */\r
-tint mssClose(void *mssInst);\r
-\r
-/**\r
- * @ingroup mss_api_functions\r
- *\r
- * @brief Function mssDelete() deletes the MSS instance identified by mssInst\r
- * and returns the addresses of those buffers used by this instance. \r
- *\r
- * @param[in] nbufs Number of buffers used by this instance.\r
- * @param[in] bufs Pointer to buffer descriptors to store returned\r
- * addresses of the buffers used by this instance.\r
- * @param[in,out] mssInst Memory location where the pointer to MSS instance\r
- * is stored.\r
- * @retval MSS error code. See \ref mss_err_code.\r
- * @verbatim\r
- error code description\r
- mss_NOERR success\r
- mss_ERR_NOTCLOSED MSS instance has not been closed.\r
- mss_ERR_NOMEMORY Not enough buffer descriptors to store all returned \r
- buffer addresses.\r
- \endverbatim\r
- *\r
- * @pre MSS instance must be closed by mssClose() before mssDelete() is called. \r
- * @post After mssDelete() is called, MSS instance pointer stored at mssInst \r
- will be set to NULL, and the addresses of the buffers used by this \r
- instance will be returned to the location pointed to by bufs.\r
- */\r
-tint mssDelete(void **mssInst, tint nbufs, ecomemBuffer_t *bufs);\r
-\r
-\r
-/* -------------------------- MSS Call Table -------------------------------- */\r
-/**\r
- * @ingroup mss_api_structures\r
- *\r
- * @brief MSS call table\r
- *\r
- */\r
-typedef struct {\r
- tint (*mssClose) (void *mssInst);\r
- tint (*mssControl) (void *mssInst, mssControl_t *ctl);\r
- tint (*mssDelete) (void **mssInst, tint nbufs, ecomemBuffer_t *bufs);\r
- tint (*mssGetSizes) (tint *nbufs, const ecomemBuffer_t **bufs,\r
- mssSizeConfig_t *cfg);\r
- tint (*mssNew) (void **mssInst, tint nbufs, ecomemBuffer_t *bufs,\r
- mssNewConfig_t *cfg);\r
- tint (*mssOpen) (void *mssInst, mssConfig_t *cfg);\r
- tint (*mssProcess) (void *mssInst, void *out, void *rx_out_sync, \r
- void *mic_fixed[], void *mic_remote[], void *mic_clean[], \r
- void *mic_array[], void *beam[]); \r
-} mssCallTable_t;\r
-\r
-#endif\r
-/* Nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/mss/src/mss.c b/file_demo_bios/da830/components/mss/src/mss.c
+++ /dev/null
@@ -1,498 +0,0 @@
-/**\r
- * @file mss.c\r
- * @brief Contains external API for Multi-Source Selection (MSS) module \r
- * instantiation.\r
- *\r
- * (C) Copyright 2011, Texas Instruments, Inc.\r
- */\r
-\r
-#include <xdc/std.h>\r
-#include <ti/mas/types/types.h>\r
-#include <ti/mas/fract/fract.h>\r
-#include <ti/mas/vpe/svd.h>\r
-\r
-//#include <ti/mas/aer/mss.h>\r
-//#include <ti/mas/aer/src/mssloc.h>\r
-#include "../mss.h"\r
-#include "mssloc.h"\r
-\r
-#define MSS_DEF_SWITCH_WAIT_TIME 250 /* msec */\r
-#define MSS_DEF_SWITCH_DURATION 500 /* msec */\r
-#define MSS_DEF_SWITCH_HANGOVER 1000 /* msec */\r
-#define MSS_DEF_FADE_PHA_INC_8KHZ 268435L /* Q31 phase increment of crossfade for \r
- switch duration of 1 second at 8kHz:\r
- 2^31/8000, where 2^31 corresponds to pi. */\r
-/* MSS memory buffer descriptors */\r
-#define MSS_NUM_BUFS 1\r
-#define MSS_INSTANCE_BUF 0\r
-ecomemBuffer_t mssBufs[MSS_NUM_BUFS] = { \r
- /* CLASS, LOG2 ALIGNMENT, BUFFER SIZE, VOLATILITY, BASE */\r
- ecomem_CLASS_EXTERNAL, TYP_STRUCT_LOG2ALIGN, 0, FALSE, NULL\r
-};\r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Return buffer sizes for the MSS module\r
- ******************************************************************************\r
- * DESCRIPTION: Calculate the worst case buffer sizes for the MSS. Also specify\r
- * alignment and volatility requirements.\r
- *\r
- * tint mssGetSizes (\r
- * tint *nbufs, - address to store number of buffers\r
- * const ecomemBuffer_t **bufs, - address to store buffer descriptors\r
- * mssSizeConfig_t *cfg) - information to be used in calculating the\r
- * worst case buffer sizes\r
- *****************************************************************************/\r
-tint mssGetSizes(tint *nbufs, const ecomemBuffer_t **bufs, mssSizeConfig_t *cfg)\r
-{\r
- tint svd_size, mss_size, mss_inst_size, num_src;\r
-\r
- /* Get memory requirement of SVD */\r
- svdGetSizes (&svd_size);\r
- \r
- /* Calculate total memory of MSS: instance + all SVDs*/\r
- svd_size = mss_SIZE_ALIGN(svd_size,TYP_STRUCT_LOG2ALIGN);\r
- mss_inst_size = sizeof(mssInst_t);\r
- mss_inst_size = mss_SIZE_ALIGN(mss_inst_size,TYP_STRUCT_LOG2ALIGN);\r
- num_src = cfg->max_num_mic_fixed + cfg->max_num_mic_remote\r
- + cfg->max_num_mic_clean + cfg->max_num_beam;\r
- mss_size = svd_size*num_src + mss_inst_size;\r
- mssBufs[MSS_INSTANCE_BUF].size = mss_size;\r
-\r
- /* Return number of buffers required by MSS */ \r
- *nbufs = MSS_NUM_BUFS;\r
- \r
- /* Return buffer specifications */\r
- *bufs = &mssBufs[0]; \r
- \r
- return(mss_NOERR);\r
- \r
-} /* mssGetSizes */\r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Create an instance of the MSS module.\r
- ******************************************************************************\r
- * DESCRIPTION: Creates an instance of the MSS and initializes memory buffers.\r
- *\r
- * tint mssNew (\r
- * void **mssInst, - address of the memory location that will\r
- * receive a pointer to instance structure\r
- * tint nbufs, - number of memory buffers\r
- * ecomemBuffer_t *bufs, - a vector of buffer descriptors\r
- * mssNewConfig_t *cfg) - a pointer to configuration structure\r
- *\r
- * Return value: \r
- * mss_NOERR - success\r
- * mss_ERR_INVALIDPAR - *mssInst is not NULL or nbufs is not correct \r
- * mss_ERR_NOMEMORY - MSS instance pointer is not NULL, or\r
- * number of buffers is not correct, or\r
- * buffer properties are not correct\r
- *****************************************************************************/\r
-tint mssNew (void **mssInst, tint nbufs, ecomemBuffer_t *bufs, mssNewConfig_t *cfg)\r
-{\r
- mssInst_t *inst;\r
- ecomemBuffer_t *bufp;\r
- tint svd_size, mss_size, mss_inst_size, num_src;\r
- int i;\r
- \r
- /* Test instance pointer (must be NULL) */\r
- if ((*mssInst != NULL) || (nbufs != MSS_NUM_BUFS)) {\r
- return(mss_ERR_INVALIDPAR);\r
- }\r
-\r
- /* Check all dynamic buffers (base address != NULL) */\r
- for (i=0, bufp=&bufs[0]; i<MSS_NUM_BUFS; i++, bufp++) {\r
- if ((bufp->size>0) && (bufp->base==NULL)) {\r
- return(mss_ERR_NOMEMORY);\r
- }\r
- }\r
-\r
- /* Get the instance buffer descriptor returned by the user */\r
- bufp = &bufs[MSS_INSTANCE_BUF];\r
-\r
- /* Calculate total memory of MSS: instance + all SVDs */\r
- svdGetSizes (&svd_size);\r
- svd_size = mss_SIZE_ALIGN(svd_size,TYP_STRUCT_LOG2ALIGN);\r
- mss_inst_size = sizeof(mssInst_t);\r
- mss_inst_size = mss_SIZE_ALIGN(mss_inst_size,TYP_STRUCT_LOG2ALIGN);\r
- num_src = cfg->sizeCfg.max_num_mic_fixed + cfg->sizeCfg.max_num_mic_remote\r
- + cfg->sizeCfg.max_num_mic_clean + cfg->sizeCfg.max_num_beam;\r
- mss_size = svd_size*num_src + mss_inst_size;\r
- \r
- /* Check if the provided memory is good: size, alignment, and volatility */\r
- if ( (bufp->size < mss_size) \r
- || (!typChkAlign(bufp->base, bufp->log2align)) || bufp->volat) {\r
- return(mss_ERR_NOMEMORY);\r
- }\r
- \r
- /* Assign instance memory and initialize instance */\r
- inst = (mssInst_t *)bufp->base;\r
- inst->max_sampling_rate = cfg->sizeCfg.max_sampling_rate;\r
- inst->svd = (tword *)bufp->base + mss_inst_size; /* SVD address for 1st src */\r
- inst->svd_size = svd_size;\r
- inst->handle = cfg->handle; /* init handle in instance */\r
- inst->state = MSS_CLOSED; /* set MSS state to CLOSED */\r
-\r
- /* Return instance address */\r
- *mssInst = (void *)inst;\r
-\r
- return(mss_NOERR);\r
- \r
-} /* mssNew() */\r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Control of MSS\r
- ******************************************************************************\r
- * DESCRIPTION: Controls the operation and parameters of the MSS.\r
- *\r
- * tint mssControl (\r
- * void *mssInst, - a pointer to MSS instance\r
- * tint mssControl *ctl) - a pointer to the control code structure \r
- *\r
- * Return value: mss_NOERR - success\r
- * mss_ERR_NOTOPENED - MSS not opened\r
- * mss_ERR_INVALIDSRC - the manually selected source is invalid \r
- * mss_ERR_INVALIDPAR - parameter is invalid \r
- *****************************************************************************/\r
-tint mssControl (void *mssInst, mssControl_t *ctl)\r
-{\r
- mssInst_t *inst = (mssInst_t *)mssInst;\r
- tint ret_val;\r
-\r
- /* Make sure that MSS is open */\r
- if (inst->state != MSS_OPEN) {\r
- return (mss_ERR_NOTOPENED);\r
- } \r
- \r
- ret_val = mss_NOERR;\r
-\r
- /* Change the operation modes bitfield */\r
- if(mss_chkbit(ctl->valid_bitfield, mss_CTL_MODES)) {\r
- inst->modes_bf = (inst->modes_bf & (~ctl->modes.mask))\r
- | (ctl->modes.value & ctl->modes.mask);\r
- } /* mss_CTL_MODES */\r
- \r
- /* Manually select source */\r
- if(mss_chkbit(ctl->valid_bitfield, mss_CTL_SELECT_SRC)) {\r
- /* Check if selected source is valid:\r
- - source group must be one of the groups defined in mss.h, \r
- - source index must be less than the number of sources in the group. */\r
- if( (ctl->source.group > mss_SRC_MAX)\r
- || (ctl->source.group < mss_SRC_MIC_FIXED) ){\r
- ret_val = mss_ERR_INVALIDSRC;\r
- } \r
- else if (ctl->source.index > inst->num_src_per_group[ctl->source.group]) {\r
- ret_val = mss_ERR_INVALIDSRC;\r
- }\r
- else if ( (ctl->source.group != inst->cur_src.group) \r
- || (ctl->source.index != inst->cur_src.index) ) { \r
- /* Prepare to switch source if selected source is valid. If in the middle of a \r
- source switch initiated by MSS internally, internal switch will be stopped. */\r
- inst->switch_src_cnt = 0;\r
- inst->crossfade_phase = MSS_FADE_PHA_INIT;\r
- inst->switch_hang_cnt = inst->params.switch_hangover;\r
- inst->new_src = ctl->source;\r
- mss_setbit(inst->state_bf, MSS_STATE_BIT_SWITCH_SRC);\r
- }\r
- } /* mss_CTL_SELECT_SRC */\r
-\r
- /* Change the threshold of source switch */\r
- if(mss_chkbit(ctl->valid_bitfield, mss_CTL_SWITCH_THRESH)) {\r
- /* Convert parameter from msec to # of samples */\r
- inst->params.switch_threshold = MSS_NUM_SAMP_1MS_8KHZ * inst->sampling_rate\r
- * ctl->switch_thresh;\r
- }\r
- \r
- /* Change the duration of source switch */\r
- if(mss_chkbit(ctl->valid_bitfield, mss_CTL_SWITCH_DURATION)) {\r
- /* Convert parameter from msec to # of samples */\r
- inst->params.switch_duration = MSS_NUM_SAMP_1MS_8KHZ * inst->sampling_rate\r
- * ctl->switch_duration;\r
- /* Calculate per sample Q31 phase increment for crossfade implementation: \r
- 2^31/duration, where 2^31 corresponds to pi. */ \r
- inst->crossfade_phase_inc = frct_LFRCT_MAX/inst->params.switch_duration; \r
- } /* mss_CTL_SWITCH_DURATION */\r
-\r
- /* Change hangover of source switch */\r
- if(mss_chkbit(ctl->valid_bitfield, mss_CTL_SWITCH_HNAGOVER)) {\r
- /* Convert parameter from msec to # of samples */\r
- inst->params.switch_hangover = MSS_NUM_SAMP_1MS_8KHZ * inst->sampling_rate\r
- * ctl->switch_hangover;\r
- } /* mss_CTL_SWITCH_HNAGOVER */\r
- \r
- return ret_val;\r
-} /* mssControl */\r
- \r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Open and configure an MSS instance.\r
- ******************************************************************************\r
- * DESCRIPTION: This function configures an instance of the MSS.\r
- *\r
- * tint mssOpen (\r
- * void *mssInst, - a pointer to MSS instance\r
- * mssConfig_t *cfg) - a pointer to MSS configuration structure\r
- *\r
- *****************************************************************************/\r
-tint mssOpen (void *mssInst, mssConfig_t *cfg)\r
-{\r
- mssInst_t * inst = (mssInst_t *)mssInst;\r
- tword * svd_ptr;\r
- tint num_src, svd_size;\r
- int i;\r
- \r
- /* Return error if state is not CLOSED */ \r
- if(inst->state != MSS_CLOSED) {\r
- return(mss_ERR_NOTCLOSED);\r
- }\r
- \r
- /* Return error if no configuration parameters */\r
- if(cfg == NULL){\r
- return(mss_ERR_INVALIDPAR);\r
- }\r
- \r
- /* Read configuration */\r
- num_src = cfg->num_mic_fixed+cfg->num_mic_remote+cfg->num_mic_clean+cfg->num_beam;\r
- if(num_src <= 0) {\r
- return(mss_ERR_INVALIDPAR);\r
- }\r
- \r
- inst->sampling_rate = cfg->sampling_rate;\r
- inst->num_src_per_group[mss_SRC_MIC_FIXED] = cfg->num_mic_fixed;\r
- inst->num_src_per_group[mss_SRC_MIC_REMOTE] = cfg->num_mic_remote;\r
- inst->num_src_per_group[mss_SRC_MIC_CLEAN] = cfg->num_mic_clean;\r
- inst->num_src_per_group[mss_SRC_BEAM] = cfg->num_beam;\r
- inst->num_mic_array = cfg->num_mic_array; /* not considered as source to select */\r
- \r
- /* Init SVDs */\r
- svd_size = inst->svd_size;\r
- svd_ptr = (tword *)inst->svd;\r
- for(i=0; i<num_src; i++) {\r
- if (!typChkAlign(svd_ptr, TYP_STRUCT_LOG2ALIGN)) {\r
- return(mss_ERR_NOMEMORY);\r
- }\r
- svdInit((void *)svd_ptr, inst->sampling_rate);\r
- svd_ptr += svd_size;\r
- } \r
- \r
- /* Set parameters to default */\r
- inst->params.switch_threshold = MSS_DEF_SWITCH_WAIT_TIME * MSS_NUM_SAMP_1MS_8KHZ\r
- * inst->sampling_rate; /* convert msec to # of samples */\r
- inst->params.switch_duration = MSS_DEF_SWITCH_DURATION * MSS_NUM_SAMP_1MS_8KHZ\r
- * inst->sampling_rate; /* convert msec to # of samples */\r
- inst->crossfade_phase_inc = MSS_DEF_FADE_PHA_INC_8KHZ / inst->sampling_rate;\r
- inst->params.switch_hangover = MSS_DEF_SWITCH_HANGOVER * MSS_NUM_SAMP_1MS_8KHZ \r
- * inst->sampling_rate; /* convert msec to # of samples */\r
- inst->modes_bf = mss_CTL_MODES_DEFAULT;\r
- \r
- /* Set initially selected source - the first valid source */\r
- if(cfg->num_mic_fixed > 0) {\r
- inst->cur_src.group = mss_SRC_MIC_FIXED;\r
- inst->cur_src.index = 0;\r
- }\r
- else if(cfg->num_mic_remote > 0) {\r
- inst->cur_src.group = mss_SRC_MIC_REMOTE;\r
- inst->cur_src.index = 0;\r
- }\r
- else if(cfg->num_mic_clean > 0) {\r
- inst->cur_src.group = mss_SRC_MIC_CLEAN;\r
- inst->cur_src.index = 0;\r
- }\r
- else {\r
- inst->cur_src.group = mss_SRC_BEAM;\r
- inst->cur_src.index = 0;\r
- }\r
- \r
- /* Initialize instance */ \r
- inst->frame_size = inst->sampling_rate * MSS_FRAME_SIZE_8KHZ;\r
- inst->switch_hang_cnt = inst->params.switch_hangover;\r
- inst->crossfade_cnt = 0;\r
- inst->state_bf = 0;\r
- \r
- /* Declare the instance OPEN */\r
- inst->state = MSS_OPEN; \r
-\r
- return(mss_NOERR);\r
-} /* mssOpen */\r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Returns debuging information for an MSS instance.\r
- ******************************************************************************\r
- * DESCRIPTION: This function returns debuging information.\r
- *\r
- * tint mssDebugStat (\r
- * void *mssInst, - a pointer to MSS instance\r
- * mssDebugStat_t *mssDbg) - a pointer to MSS debug structure\r
- *\r
- *****************************************************************************/\r
-tint mssDebugStat(void *mssInst, mssDebugStat_t *mssDbg)\r
-{\r
- tint svd_decision;\r
- tword *svd_ptr;\r
- LFract sig_pow;\r
- Fract spch_db, noise_db;\r
- UFract svd_thresh;\r
- mssInst_t *inst = (mssInst_t *)mssInst;\r
-\r
- /* Make sure that MSS is open */\r
- if (inst->state != MSS_OPEN) {\r
- return (mss_ERR_NOTOPENED);\r
- } \r
- \r
- mssDbg->cur_src = inst->cur_src;\r
- mssDbg->new_src = inst->new_src;\r
- mssDbg->states[0] = (tuint)(inst->crossfade_phase>>16);\r
- mssDbg->states[1] = (tuint)inst->gain_in;\r
- mssDbg->states[2] = (tuint)inst->gain_out;\r
- mssDbg->states[3] = (tuint)inst->switch_src_cnt; \r
- mssDbg->states[4] = (tuint)inst->state_bf;\r
-\r
- /* only debug fixed mics for now */\r
- if(inst->num_src_per_group[mss_SRC_MIC_FIXED] > 1) {\r
- svd_ptr = inst->svd;\r
- svd_decision = svdGetDecision(svd_ptr, &sig_pow);\r
- mssDbg->states[5] = (tuint)svd_decision;\r
- \r
- svdGetLevels (svd_ptr, &spch_db, &noise_db, &svd_thresh);\r
- mssDbg->states[6] = (tuint)spch_db;\r
- mssDbg->states[7] = (tuint)noise_db;\r
- \r
- svd_ptr += inst->svd_size;\r
- svd_decision = svdGetDecision(svd_ptr, &sig_pow);\r
- mssDbg->states[8] = (tuint)svd_decision;\r
- \r
- svdGetLevels (svd_ptr, &spch_db, &noise_db, &svd_thresh);\r
- mssDbg->states[9] = (tuint)spch_db;\r
- mssDbg->states[10] = (tuint)noise_db;\r
- }\r
- \r
- return(mss_NOERR);\r
- \r
-} /* mssDebugStat */\r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Close an instance of MSS.\r
- ******************************************************************************\r
- * DESCRIPTION: This function closes an instance of MSS by simply changing\r
- * the state to CLOSED.\r
- *\r
- * tint mssClose (\r
- * void *mssInst) - a pointer to MSS instance\r
- *\r
- *****************************************************************************/\r
-tint mssClose (void *mssInst)\r
-{\r
- mssInst_t *inst = (mssInst_t *)mssInst;\r
-\r
- if(inst->state != MSS_OPEN) {\r
- return(mss_ERR_NOTOPENED);\r
- }\r
- \r
- /*Change the MSS state to CLOSED */\r
- inst->state = MSS_CLOSED; \r
- \r
- return(mss_NOERR);\r
-} /* mssClose */\r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Delete an MSS instance.\r
- ******************************************************************************\r
- * DESCRIPTION: Deletes an instance of MSS. Clears the instance pointer.\r
- * Actual "deallocation" of instance should be done elsewhere\r
- * after this function is called. Hence, one has to save the\r
- * buffer descriptors to make "deallocation" possible.\r
- *\r
- * tint mssDelete (\r
- * void **mssInst, - an address of memory location that contains\r
- * a pointer to instance structure\r
- * tint nbufs, - number of memory buffers\r
- * ecomemBuffer_t *bufs) - vector of buffer descriptors\r
- *\r
- *****************************************************************************/\r
-tint mssDelete (void **mssInst, tint nbufs, ecomemBuffer_t *bufs)\r
-{\r
- mssInst_t *inst = (mssInst_t *)*mssInst;\r
-\r
- /* check if instance is already closed */\r
- if (inst->state != MSS_CLOSED) { \r
- return (mss_ERR_NOTCLOSED);\r
- }\r
- \r
- /* check if enough descriptors are provided to store all buffer addresses */\r
- if (nbufs < MSS_NUM_BUFS) { \r
- return (mss_ERR_NOMEMORY);\r
- }\r
- \r
- /* return buffer addresses */\r
- bufs[MSS_INSTANCE_BUF].base = inst; /* instance structure */\r
-\r
- /* clear the instance pointer */\r
- *mssInst = NULL; \r
-\r
- return(mss_NOERR);\r
-} /* mssDelete */\r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Validates the input sources to MSS.\r
- ******************************************************************************\r
- * DESCRIPTION: This function examines the input sources to MSS to make sure\r
- * all sources are valid.\r
- *\r
- *****************************************************************************/\r
-\r
-tint mss_src_validation(mssInst_t *inst, void *rx_out_sync, void *mic_fix[],\r
- void *mic_rem[], void *mic_cln[], void *mic_arr[], void *beam[])\r
-{ \r
- int i;\r
- \r
- /* Return error if synchronized Rx out doesn't have valid data (NOT USED!!!) */\r
- /*\r
- * if ( rx_out_sync == NULL ) { \r
- * return (mss_ERR_INVALIDSRC); \r
- * }\r
- */\r
-\r
- /* Check if all sources have valid data.\r
- Currently MSS only supports fixed mic, remote mic, and clean mic.\r
- */\r
- if(inst->num_src_per_group[mss_SRC_MIC_FIXED] > 0) {\r
- if(mic_fix == NULL) {\r
- return (mss_ERR_INVALIDSRC);\r
- }\r
- else {\r
- for (i=0; i<inst->num_src_per_group[mss_SRC_MIC_FIXED]; i++) {\r
- if(mic_fix[i] == NULL) {\r
- return (mss_ERR_INVALIDSRC);\r
- }\r
- }\r
- }\r
- } /* mss_SRC_MIC_FIXED */\r
- \r
- if(inst->num_src_per_group[mss_SRC_MIC_REMOTE] > 0) {\r
- if(mic_rem == NULL) {\r
- return (mss_ERR_INVALIDSRC);\r
- }\r
- else {\r
- for (i=0; i<inst->num_src_per_group[mss_SRC_MIC_REMOTE]; i++) {\r
- if(mic_rem[i] == NULL) {\r
- return (mss_ERR_INVALIDSRC);\r
- }\r
- }\r
- }\r
- } /* mss_SRC_MIC_REMOTE */\r
- \r
- if(inst->num_src_per_group[mss_SRC_MIC_CLEAN] > 0) {\r
- if(mic_cln == NULL) {\r
- return (mss_ERR_INVALIDSRC);\r
- }\r
- else {\r
- for (i=0; i<inst->num_src_per_group[mss_SRC_MIC_CLEAN]; i++) {\r
- if(mic_cln[i] == NULL) {\r
- return (mss_ERR_INVALIDSRC);\r
- }\r
- }\r
- }\r
- } /* mss_SRC_MIC_CLEAN */\r
- \r
- return (mss_NOERR); \r
-} /* mss_src_validation */\r
-\r
-/* Nothing past this point */\r
diff --git a/file_demo_bios/da830/components/mss/src/mssloc.h b/file_demo_bios/da830/components/mss/src/mssloc.h
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef _MSSLOC_H\r
-#define _MSSLOC_H\r
-\r
-//#include <ti/mas/aer/mss.h>\r
-\r
-#include "../mss.h"\r
-\r
-/* MSS states */\r
-enum {\r
- MSS_CLOSED = 0,\r
- MSS_OPEN = 1\r
-};\r
-\r
-\r
-#define MSS_STATE_BIT_SWITCH_SRC 0x0001\r
-\r
-#define MSS_FRAME_SIZE_8KHZ 80 /* samples */\r
-#define MSS_NUM_SAMP_1MS_8KHZ 8 /* samples per msec at 8kHz */\r
-#define MSS_FADE_PHA_INIT 0xC0000000 /* Q31 initial phase of crossfade:\r
- -1/2 corresponding to -pi/2 */\r
-\r
-typedef struct mssParams_s {\r
- tint switch_threshold;\r
- tint switch_duration;\r
- tint switch_hangover;\r
-} mssParams_t;\r
-\r
-typedef struct mssInst_s {\r
- tint state; /* MSS_CLOSED or MSS_OPEN */\r
- void * handle; /* MSS instance handle */\r
- \r
- mssParams_t params;\r
- mssSrc_t cur_src;\r
- mssSrc_t new_src;\r
- tword *svd;\r
- \r
- tint num_src_per_group[mss_MAX_NUM_SRC_TYPES];\r
- tint modes_bf;\r
- tint state_bf;\r
-\r
- LFract crossfade_phase;\r
- LFract crossfade_phase_inc;\r
- tint crossfade_cnt;\r
- tint switch_hang_cnt;\r
- tint svd_size;\r
- tint max_sampling_rate;\r
- tint sampling_rate;\r
- tint frame_size;\r
- tint num_mic_array;\r
-\r
- tint switch_src_cnt;\r
- tuint ramp_up;\r
- Fract ramp_alpha;\r
- \r
- /* for debugging only */\r
- mssSrc_t temp_src; \r
- Fract gain_in; \r
- Fract gain_out; \r
-} mssInst_t;\r
-\r
-/* MSS control bitfield macros */\r
-#define mss_setbit(field,b) ( (field) |= ( b))\r
-#define mss_clrbit(field,b) ( (field) &= (~(b)))\r
-#define mss_chkbit(field,b) (((field) & ( b)) == (b))\r
-\r
-/* min, max macros */\r
-#define mss_MAX(x,y) ( ((x) > (y)) ? (x) : (y) )\r
-#define mss_MIN(x,y) ( ((x) < (y)) ? (x) : (y) )\r
-\r
-/* Size align to L2 power of 2: for L2=3 floor((x+7)/8)*8 */\r
-#define mss_SIZE_ALIGN(x,L2) (((L2) < 1) ? (x) : (((x) + ( (1<<(L2)) - 1 )) & ((~0uL)<<(L2))))\r
-\r
-void mss_src_selection(mssInst_t *inst, void *mic_fix[], void *mic_rem[], \r
- void *mic_cln[]);\r
-void mss_src_output(mssInst_t *inst, void *out, void *mic_fix[], \r
- void *mic_rem[], void *mic_cln[]);\r
-tint mss_src_validation(mssInst_t *inst, void *rx_out_sync, void *mic_fix[],\r
- void *mic_rem[], void *mic_cln[], void *mic_arr[], void *beam[]);\r
-void * mss_get_first_src(mssInst_t *inst, void *mic_fix[], void *mic_rem[], \r
- void *mic_cln[]);\r
-\r
-#endif\r
-/* Nothing past this point */\r
diff --git a/file_demo_bios/da830/components/mss/src/mssproc.c b/file_demo_bios/da830/components/mss/src/mssproc.c
+++ /dev/null
@@ -1,365 +0,0 @@
-/**\r
- * @file mssproc.c\r
- * @brief Contains Main Processing Routines for Multi-Source Selection \r
- * (MSS) module.\r
- *\r
- * (C) Copyright 2011, Texas Instruments, Inc.\r
- */\r
-\r
-#include <xdc/std.h>\r
-#include <ti/mas/types/types.h>\r
-#include <ti/mas/fract/fract.h>\r
-#include <ti/mas/util/utl.h>\r
-#include <ti/mas/vpe/svd.h>\r
-#include "string.h"\r
-\r
-//#include <ti/mas/aer/mss.h>\r
-//#include <ti/mas/aer/src/mssloc.h>\r
-\r
-#include "../mss.h"\r
-#include "mssloc.h"\r
-\r
-#define MSS_MIN_POW 2684 /* correpsonds to -50dBm */\r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Main Processing API of MSS \r
- ******************************************************************************\r
- * DESCRIPTION: This function processes the multi-source inputs and selects one\r
- * source as the output. Crossfading is implemented during the \r
- * switch of two sources. \r
- *\r
- * tint mssProcess (\r
- * Input:\r
- * void *mssInst, - pointer to MSS instance\r
- * void *rx_out_sync, - synchronized Rx out, NOT to be selected, but used to\r
- * help make right selection.\r
- * void *mic_fix[], - data from fixed mics, may be selected.\r
- * void *mic_rem[], - data from remote mics, may be selected.\r
- * void *mic_cln[], - data from clean mics, may be selected.\r
- * void *mic_arr[], - data from microphone arrays, NOT to be selected, but\r
- * used to help make right selection.\r
- * void *beam[], - data from beamformers, may be selected.\r
- * Output:\r
- * void *out, - data of the selected source, or a mix of two sources\r
- * during the switch. \r
- *\r
- *****************************************************************************/\r
-tint mssProcess(void *mssInst, void *out, void *rx_out_sync, void *mic_fix[],\r
- void *mic_rem[], void *mic_cln[], void *mic_arr[], void *beam[])\r
-{\r
- tint src_err; \r
- void *first_src;\r
- mssInst_t * inst = (mssInst_t *)mssInst;\r
- \r
- /* Return error if state is not OPENED */ \r
- if(inst->state != MSS_OPEN) {\r
- return(mss_ERR_NOTOPENED);\r
- }\r
-\r
- /* Check if all sources are valid and return error if any one is invalid. */ \r
- src_err = mss_src_validation(inst, rx_out_sync, mic_fix, mic_rem, mic_cln,\r
- mic_arr, beam); \r
- if(src_err == mss_ERR_INVALIDSRC) {\r
- return(mss_ERR_INVALIDSRC);\r
- }\r
-\r
- /* The BYPASS mode just gets the first available source passed to the output */\r
- if(mss_chkbit(inst->modes_bf, mss_CTL_MODES_BYPASS)) {\r
- first_src = mss_get_first_src(inst, mic_fix, mic_rem, mic_cln);\r
- memcpy(out, first_src, inst->frame_size*sizeof(linSample));\r
- }\r
- else { /* If not bypass, check for FREEZE */\r
- if(!mss_chkbit(inst->modes_bf, mss_CTL_MODES_FREEZE)) {\r
- /* Multi-source selection: \r
- Currently only supports fixed, remote and clean mics. */\r
- mss_src_selection(inst, mic_fix, mic_rem, mic_cln); \r
- }\r
-\r
- /* Output selected source, crossfading during switch between two sources. */\r
- mss_src_output(inst, out, mic_fix, mic_rem, mic_cln);\r
- }\r
- \r
- return src_err;\r
-} /* mssProcess */\r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Get the First Valid Source \r
- ******************************************************************************\r
- * DESCRIPTION: This function orted.\r
- *\r
- * tint mss_get_first_src (\r
- * Input:\r
- * void *inst, - pointer to MSS instance\r
- * void *mic_fix[], - data from fixed mics, may be selected.\r
- * void *mic_rem[], - data from remote mics, may be selected.\r
- * void *mic_cln[], - data from clean mics, may be selected.\r
- * Output:\r
- * void * , - address of the first valid source\r
- *****************************************************************************/\r
-void * mss_get_first_src(mssInst_t *inst, void *mic_fix[], void *mic_rem[], \r
- void *mic_cln[])\r
-{\r
- void * first_src;\r
- \r
- if(inst->num_src_per_group[mss_SRC_MIC_FIXED] > 0) {\r
- first_src = mic_fix[0];\r
- }\r
- else if(inst->num_src_per_group[mss_SRC_MIC_REMOTE] > 0) {\r
- first_src = mic_rem[0];\r
- }\r
- else {\r
- first_src = mic_cln[0];\r
- }\r
- \r
- return first_src;\r
-} /* mss_get_first_src */ \r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Source selection of MSS \r
- ******************************************************************************\r
- * DESCRIPTION: This function processes the multi-source inputs and selects one\r
- * source as the output. The selectin criteria is the exponential\r
- * average of power. The source with maximum power is selected. \r
- * Currently, only fixed mic, remote mic, and clean mic are supported.\r
- *\r
- * tint mss_src_selection (\r
- * Input:\r
- * void *inst, - pointer to MSS instance\r
- * void *mic_fix[], - data from fixed mics, may be selected.\r
- * void *mic_rem[], - data from remote mics, may be selected.\r
- * void *mic_cln[], - data from clean mics, may be selected.\r
- * Output:\r
- * Instance variables: MSS_STATE_BIT_SWITCH_SRC of inst->state_bf\r
- * temp_src\r
- * switch_hang_cnt\r
- * new_src\r
- * crossfade_phase\r
- * crossface_cnt\r
- * \r
- *****************************************************************************/\r
-void mss_src_selection(mssInst_t *inst, void *mic_fix[], void *mic_rem[], \r
- void *mic_cln[])\r
-{\r
- int i, max_pow_src_index, svd_decision;\r
- LFract max_pow, sig_pow;\r
- tword *svd_ptr;\r
- mssSrcType_t max_pow_src_group;\r
- tint frm_len;\r
-\r
- /* Initialization */\r
- svd_ptr = inst->svd;\r
- frm_len = inst->frame_size;\r
- max_pow = (LFract)0;\r
- max_pow_src_group = mss_SRC_INVALID;\r
- \r
- /*\r
- * Task 1: Analyze sources to select the best one.\r
- * Current selection criteria is the exponential average power. Whichever\r
- * source has the largest power will be selected. \r
- */\r
- /* Analyze fixed microphones */ \r
- for (i=0; i<inst->num_src_per_group[mss_SRC_MIC_FIXED]; i++) {\r
- svdProcess(svd_ptr, mic_fix[i], frm_len);\r
- svd_decision = svdGetDecision(svd_ptr, &sig_pow);\r
- \r
- /* only look at power of mics having speech (MSS_MIN_POW is -50.0109dBm) */\r
- if( (svd_decision != svd_VOICE_INACTIVE) /* even when undefined? */\r
- && (sig_pow > MSS_MIN_POW) && (sig_pow > max_pow)) {\r
- max_pow = sig_pow;\r
- max_pow_src_group = mss_SRC_MIC_FIXED;\r
- max_pow_src_index = i;\r
- }\r
- \r
- svd_ptr += inst->svd_size;\r
- } /* num_mic_fix */\r
-\r
- /* Analyze remote microphones */ \r
- for (i=0; i<inst->num_src_per_group[mss_SRC_MIC_REMOTE]; i++) {\r
- svdProcess(svd_ptr, mic_rem[i], frm_len);\r
- svd_decision = svdGetDecision(svd_ptr, &sig_pow);\r
- \r
- /* only look at power of mics having speech */\r
- if( (svd_decision != svd_VOICE_INACTIVE) \r
- && (sig_pow > MSS_MIN_POW) && (sig_pow > max_pow)) {\r
- max_pow = sig_pow;\r
- max_pow_src_group = mss_SRC_MIC_REMOTE;\r
- max_pow_src_index = i;\r
- }\r
- \r
- svd_ptr += inst->svd_size;\r
- } /* num_mic_remote */\r
-\r
- /* Analyze clean microphones */ \r
- for (i=0; i<inst->num_src_per_group[mss_SRC_MIC_CLEAN]; i++) {\r
- svdProcess(svd_ptr, mic_cln[i], frm_len);\r
- svd_decision = svdGetDecision(svd_ptr, &sig_pow);\r
- \r
- /* only look at power of mics having speech */\r
- if( (svd_decision != svd_VOICE_INACTIVE) \r
- && (sig_pow > MSS_MIN_POW) && (sig_pow > max_pow)) {\r
- max_pow = sig_pow;\r
- max_pow_src_group = mss_SRC_MIC_CLEAN;\r
- max_pow_src_index = i;\r
- }\r
- \r
- svd_ptr += inst->svd_size;\r
- } /* num_mic_clean */\r
-\r
- /* for debugging only */\r
- inst->temp_src.group = max_pow_src_group;\r
- inst->temp_src.index = max_pow_src_index;\r
- \r
- /*\r
- * Task 2: Decide whether to switch source based on the selection obtained above.\r
- */ \r
- /* Don's consider switching source in the middle of a switch */\r
- if(!mss_chkbit(inst->state_bf, MSS_STATE_BIT_SWITCH_SRC)) {\r
- /* If not in the middle of a switch, wait until hangover expires. */ \r
- if(inst->switch_hang_cnt > 0) {\r
- inst->switch_hang_cnt -= frm_len; /* expiring hangover */\r
- }\r
- else { /* hangover expires and we can look for switch again */\r
- /* Don't consider switching source if:\r
- 1. speech is not present in any source (max_pow_src_group == mss_SRC_MAX), or \r
- 2. source with max power is the current selected source.\r
- */\r
- if( (max_pow_src_group == mss_SRC_INVALID) \r
- || ( (max_pow_src_group == inst->cur_src.group) \r
- && (max_pow_src_index == inst->cur_src.index) )\r
- ) {\r
- if (inst->switch_src_cnt > frm_len) {\r
- inst->switch_src_cnt -= frm_len; /* Count in opposite direction with same speed */\r
- }\r
- else { /* give up on "new src" */\r
- inst->switch_src_cnt = 0;\r
- inst->new_src = inst->cur_src;\r
- }\r
- }\r
- /* Consider switching source if the source with max power is not the \r
- current active source. */\r
- else if( (max_pow_src_group == inst->new_src.group)\r
- && (max_pow_src_index == inst->new_src.index) \r
- ) {\r
- /* Increment counter since the source with max power doesn't change \r
- from previous frame. */\r
- inst->switch_src_cnt += frm_len;\r
- if(inst->switch_src_cnt >= inst->params.switch_threshold) {\r
- /* Confirm and switch source because the same source had max power long enough */\r
- inst->switch_src_cnt = 0;\r
- inst->crossfade_phase = MSS_FADE_PHA_INIT;\r
- inst->crossfade_cnt = 0;\r
- inst->switch_hang_cnt = inst->params.switch_hangover;\r
- mss_setbit(inst->state_bf, MSS_STATE_BIT_SWITCH_SRC);\r
- }\r
- }\r
- else { /* Source with max power might be changing to something other then current/new */\r
- if (inst->switch_src_cnt > frm_len) {\r
- inst->switch_src_cnt -= frm_len/2; /* Lower speed, this should smooth the "new" selection */\r
- }\r
- else {\r
- /* Don't switch since source with max power is changing. */\r
- inst->new_src.group = max_pow_src_group;\r
- inst->new_src.index = max_pow_src_index;\r
- inst->switch_src_cnt = 0;\r
- }\r
- }\r
- } /* hangover expires */\r
- } /* !mss_chkbit(inst->state_bf, MSS_STATE_BIT_SWITCH_SRC) */ \r
-} /* mss_src_selection */ \r
-\r
-/******************************************************************************\r
- * FUNCTION PURPOSE: Generating Single Output from Multiple Sources \r
- ******************************************************************************\r
- * DESCRIPTION: This function generates single output from multiple input sources.\r
- * Generally, it passes the selected source to the output, but when\r
- * there is a switch from one source to another, it will mix the\r
- * the previously selected and newly selected sources. \r
- *\r
- * tint mss_src_output (\r
- * Input:\r
- * void *inst, - pointer to MSS instance\r
- * void *mic_fix[], - data from fixed mics, may be selected.\r
- * void *mic_rem[], - data from remote mics, may be selected.\r
- * void *mic_cln[], - data from clean mics, may be selected.\r
- * Output:\r
- * void *out - single source or mixed sources\r
- *****************************************************************************/\r
-#define MSS_SIN_PIOVER2 16388\r
-void mss_src_output(mssInst_t *inst, void *out, void *mic_fix[], \r
- void *mic_rem[], void *mic_cln[])\r
-{\r
- int i;\r
- linSample * cur_sel_src;\r
- linSample * new_sel_src;\r
- linSample * output;\r
- Fract fade_in_alpha, fade_out_alpha, sin_phase;\r
- LFract phase, phase_inc;\r
- \r
- /* Identify the buffer of the current selected source. */\r
- if(inst->cur_src.group == mss_SRC_MIC_FIXED) {\r
- cur_sel_src = mic_fix[inst->cur_src.index];\r
- }\r
- else if (inst->cur_src.group == mss_SRC_MIC_REMOTE) {\r
- cur_sel_src = mic_rem[inst->cur_src.index];\r
- }\r
- else if (inst->cur_src.group == mss_SRC_MIC_CLEAN) {\r
- cur_sel_src = mic_cln[inst->cur_src.index];\r
- }\r
- else {\r
- /* error message */\r
- }\r
-\r
- /* Check if in the middle of a switch. */\r
- if(!mss_chkbit(inst->state_bf, MSS_STATE_BIT_SWITCH_SRC)) {\r
- /* If it is not during a switch, copy the current selected source to output \r
- without any modification. */\r
- memcpy(out, cur_sel_src, inst->frame_size*sizeof(linSample));\r
- } \r
- else {\r
- /* If it is during a switch, identify the buffer of the new selected source. */\r
- if(inst->new_src.group == mss_SRC_MIC_FIXED) {\r
- new_sel_src = mic_fix[inst->new_src.index];\r
- }\r
- else if (inst->new_src.group == mss_SRC_MIC_REMOTE) {\r
- new_sel_src = mic_rem[inst->new_src.index];\r
- }\r
- else if (inst->new_src.group == mss_SRC_MIC_CLEAN) {\r
- new_sel_src = mic_cln[inst->new_src.index];\r
- }\r
- else {\r
- /* error message */\r
- } \r
- \r
- /* Mix the previously selected and newly selected sources by crossfading: \r
- fading out previously selected source and fading in new selected source. */\r
- phase = inst->crossfade_phase; \r
- phase_inc = inst->crossfade_phase_inc;\r
- output = (linSample *)out;\r
-\r
- for(i=0; i<inst->frame_size; i++) {\r
-// alpha = (1-utlSin(phase>>16)) / 2; /* to use macros */\r
- sin_phase = utlSin(phase>>16); /* Q.31 to Q.15 */\r
- fade_out_alpha = MSS_SIN_PIOVER2/2 - sin_phase/2; /* (1-sin(pha))/2 in Q.14 */\r
- fade_in_alpha = MSS_SIN_PIOVER2/2 + sin_phase/2; /* (1+sin(pha))/2 in Q.14 */\r
- fade_out_alpha = mss_MIN(16383, fade_out_alpha);\r
- fade_in_alpha = mss_MIN(16383, fade_in_alpha);\r
- output[i] = frctMul(cur_sel_src[i], 0, fade_out_alpha, 14, 0) \r
- +frctMul(new_sel_src[i], 0, fade_in_alpha, 14, 0);\r
- phase += phase_inc;\r
- }\r
- inst->crossfade_phase = phase;\r
-\r
- /* for debugging only */\r
- inst->gain_in = fade_in_alpha;\r
- inst->gain_out = fade_out_alpha;\r
- \r
- inst->crossfade_cnt += inst->frame_size;\r
- if(inst->crossfade_cnt >= inst->params.switch_duration) {\r
- inst->crossfade_cnt = 0;\r
- inst->cur_src = inst->new_src;\r
- mss_clrbit(inst->state_bf, MSS_STATE_BIT_SWITCH_SRC);\r
- } \r
- } \r
-} /* mss_src_output */ \r
-\r
-/* Nothing past this point */\r
diff --git a/file_demo_bios/da830/components/sys.c b/file_demo_bios/da830/components/sys.c
+++ /dev/null
@@ -1,383 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/*=================================================================\r
- * sys.c: Basic system functions.\r
- *=================================================================*/\r
-\r
-#include <string.h>\r
-\r
-#include <xdc/std.h>\r
-#include <ti/sysbios/BIOS.h>\r
-#include <xdc/runtime/System.h>\r
-\r
-#include <ti/mas/types/types.h>\r
-#include <ti/mas/util/ecomem.h>\r
-//#include <ti/mas/mhm/mhm.h>\r
-\r
-#include "mhm/mhm.h"\r
-\r
-#include "sys.h"\r
-#include "syseram.h"\r
-#include "sysiram.h"\r
-#include "sysbfflt.h"\r
-\r
-/* Globals */\r
-\r
-/* Buffer descriptor array for memory allocations */\r
-ecomemBuffer_t sysCompBufs[SYS_COMP_MAXBUFS];\r
-\r
-/* Input sample buffer (dual) (align=8) */\r
-#pragma DATA_ALIGN(sysInBuf,8)\r
-tword sysInBuf[SYS_IN_SIZE];\r
-\r
-/* Virtual microphone frame outputs (align=8)*/\r
-#pragma DATA_ALIGN(sysVmicFrame,8)\r
-linSample sysVmicFrame[SYS_VMICS_MAX*SYS_FRAME_LENGTH];\r
-\r
-/* Virtual microphone angles to be used (default is all 12, every 30 degrees) */\r
-tint sysBfVMicAngles[SYS_VMICS_MAX] = {\r
- SYS_BF_ANGLE_P0,\r
- SYS_BF_ANGLE_P30,\r
- SYS_BF_ANGLE_P60,\r
- SYS_BF_ANGLE_P90,\r
- SYS_BF_ANGLE_P120,\r
- SYS_BF_ANGLE_P150,\r
- SYS_BF_ANGLE_P180,\r
- SYS_BF_ANGLE_M150,\r
- SYS_BF_ANGLE_M120,\r
- SYS_BF_ANGLE_M90,\r
- SYS_BF_ANGLE_M60,\r
- SYS_BF_ANGLE_M30\r
-};\r
-\r
-sysContext_t sysContext; /* Global System Context structure */\r
-\r
-#define max(a,b) (((a)>(b))?(a):(b))\r
-\r
-/*=============================\r
- * Functions\r
- *=============================*/\r
-\r
-/*=================================================================\r
- * int sysAngleConfig( Configure default virtual microphones\r
- * tint nvmics) - Number of virtual mics to configure\r
- * \r
- * This function accespts only 4,6,8,12 virtual microphones.\r
- * If different number is used, manual configuration must be done\r
- * with potentially providing different microphone filters for the array.\r
- *=================================================================*/\r
-\r
-int sysAngleConfig(tint nvmics)\r
-{\r
- int err;\r
-\r
- err = SYS_ERR_SUCCESS;\r
- nvmics = sysContext.nvmics;\r
- switch (nvmics) {\r
- case 4:\r
- sysBfVMicAngles[0] = SYS_BF_ANGLE_P0;\r
- sysBfVMicAngles[1] = SYS_BF_ANGLE_P90;\r
- sysBfVMicAngles[2] = SYS_BF_ANGLE_P180;\r
- sysBfVMicAngles[3] = SYS_BF_ANGLE_M90;\r
- break;\r
- case 6:\r
- sysBfVMicAngles[0] = SYS_BF_ANGLE_P0;\r
- sysBfVMicAngles[1] = SYS_BF_ANGLE_P60;\r
- sysBfVMicAngles[2] = SYS_BF_ANGLE_P120;\r
- sysBfVMicAngles[3] = SYS_BF_ANGLE_P180;\r
- sysBfVMicAngles[4] = SYS_BF_ANGLE_M120;\r
- sysBfVMicAngles[5] = SYS_BF_ANGLE_M60;\r
- break;\r
- case 8:\r
- sysBfVMicAngles[0] = SYS_BF_ANGLE_P0;\r
- sysBfVMicAngles[1] = SYS_BF_ANGLE_P45;\r
- sysBfVMicAngles[2] = SYS_BF_ANGLE_P90;\r
- sysBfVMicAngles[3] = SYS_BF_ANGLE_P135;\r
- sysBfVMicAngles[4] = SYS_BF_ANGLE_P180;\r
- sysBfVMicAngles[5] = SYS_BF_ANGLE_M135;\r
- sysBfVMicAngles[6] = SYS_BF_ANGLE_M90;\r
- sysBfVMicAngles[7] = SYS_BF_ANGLE_M45;\r
- break;\r
- case 12:\r
- sysBfVMicAngles[0] = SYS_BF_ANGLE_P0;\r
- sysBfVMicAngles[1] = SYS_BF_ANGLE_P30;\r
- sysBfVMicAngles[2] = SYS_BF_ANGLE_P60;\r
- sysBfVMicAngles[3] = SYS_BF_ANGLE_P90;\r
- sysBfVMicAngles[4] = SYS_BF_ANGLE_P120;\r
- sysBfVMicAngles[5] = SYS_BF_ANGLE_P150;\r
- sysBfVMicAngles[6] = SYS_BF_ANGLE_P180;\r
- sysBfVMicAngles[7] = SYS_BF_ANGLE_M150;\r
- sysBfVMicAngles[8] = SYS_BF_ANGLE_M120;\r
- sysBfVMicAngles[9] = SYS_BF_ANGLE_M90;\r
- sysBfVMicAngles[10] = SYS_BF_ANGLE_M60;\r
- sysBfVMicAngles[11] = SYS_BF_ANGLE_M30;\r
- break;\r
- default:\r
- err = SYS_ERR_ANGLECONFIG;\r
- break;\r
- }\r
- return(err);\r
-} /* sysAngleConfig */\r
-\r
-/*=================================================================\r
- * int sysCreate(\r
- * sysConfig_t cfg); - System configuration (see sys.h)\r
- *=================================================================*/\r
-\r
-int sysCreate(sysConfig_t *cfg)\r
-{\r
- int k, err, nvmics;\r
- void *heap_p;\r
- linSample *x_p;\r
-\r
- if (cfg->nmics < 1 || cfg->nmics > SYS_MICS_MAX ||\r
- cfg->nvmics < 1 || cfg->nvmics > SYS_VMICS_MAX) {\r
- return(SYS_ERR_BADCONFIG);\r
- }\r
- sysContext.nmics = cfg->nmics; /* Store # of mics used */\r
- nvmics = sysContext.nvmics = cfg->nvmics; /* Store # of virtual mics used */\r
- sysContext.use_fileio = cfg->use_fileio; /* probably FALSE since slow */\r
- sysContext.eof = FALSE; /* no EOF reached yet */\r
- sysContext.use_default = cfg->use_default; /* TRUE for default vmic angles */\r
-\r
- /* Initialize input buffer pointers and read portion */\r
- sysContext.in_lo = &sysInBuf[0]; /* Input buffer start (Low part) */\r
- sysContext.in_hi = &sysInBuf[SYS_IN_SIZE/2]; /* High part of input buffer */\r
- sysContext.in_w = sysContext.in_lo; /* Write pointer */\r
- sysContext.in_r = sysContext.in_hi; /* Read pointer */\r
- memset(sysContext.in_r, 0xBA, SYS_IN_SIZE/2); /* Initial the read portion */\r
-\r
- /* Clear instance pointers */\r
- for (k = 0; k < SYS_VMICS_MAX; k++) {\r
- sysContext.bfInst_p[k] = sysContext.asnrInst_p[k] = NULL;\r
- }\r
- sysContext.mssInst_p = sysContext.vauInst_p = NULL;\r
-\r
- /* Initialize virtual microphone frame pointers */\r
-\r
- /* First check to see if default configurations are used */\r
- if (sysContext.use_default) {\r
- err = sysAngleConfig(nvmics);\r
- if (err != SYS_ERR_SUCCESS) {\r
- return(err);\r
- }\r
- }\r
- x_p = &sysVmicFrame[0];\r
- for (k = 0; k < nvmics; k++) {\r
- sysContext.vmicfrm[k] = &x_p[k*SYS_FRAME_LENGTH];\r
- sysContext.vmicangles[k] = sysBfVMicAngles[k];\r
- }\r
- for ( ; k < SYS_VMICS_MAX; k++) {\r
- sysContext.vmicfrm[k] = (linSample*)NULL;\r
- sysContext.vmicangles[k] = 0;\r
- }\r
-\r
- /* Create heaps */\r
- heap_p = mhmCreate(sysEramPermanent,SYS_ERAM_PERMANENT_SIZE,0);\r
- if (heap_p == NULL) {\r
- return(SYS_ERR_HEAPINIT);\r
- }\r
- sysContext.heapEP = heap_p;\r
-\r
- heap_p = mhmCreate(sysEramScratch,SYS_ERAM_SCRATCH_SIZE,0);\r
- if (heap_p == NULL) {\r
- return(SYS_ERR_HEAPINIT);\r
- }\r
- sysContext.heapES = heap_p;\r
-\r
- heap_p = mhmCreate(sysIramPermanent,SYS_IRAM_PERMANENT_SIZE,0);\r
- if (heap_p == NULL) {\r
- return(SYS_ERR_HEAPINIT);\r
- }\r
- sysContext.heapIP = heap_p;\r
-\r
- heap_p = mhmCreate(sysIramScratch,SYS_IRAM_SCRATCH_SIZE,0);\r
- if (heap_p == NULL) {\r
- return(SYS_ERR_HEAPINIT);\r
- }\r
- sysContext.heapIS = heap_p;\r
-\r
- return(SYS_ERR_SUCCESS);\r
-} /* sysCreate */\r
-\r
-/*=================================================================\r
- * void sysError( Print error and exit\r
- * int err); - System errror code (see sys.h)\r
- *=================================================================*/\r
-\r
-void sysError(int err)\r
-{\r
- System_printf("*** ERROR: %d\n", err);\r
- BIOS_exit(0);\r
-} /* sysError */\r
-\r
-/*=================================================================\r
- * int sysHeapAlloc( Allocate buffer from appropriate heap\r
- * void *bd, - buffer descriptor\r
- * tint reset) - 1: reset heap, 0: don't\r
- *=================================================================*/\r
-\r
-int sysHeapAlloc(void *bd_in, tint reset)\r
-{\r
- tuint size;\r
- void *handle;\r
- tword *base_w;\r
- tulong *used_p;\r
-\r
- ecomemBuffer_t *bd_p = (ecomemBuffer_t*) bd_in;\r
-\r
- if (bd_p->mclass == ecomem_CLASS_EXTERNAL) {\r
- if (bd_p->volat) {\r
- handle = sysContext.heapES;\r
- used_p = &sysContext.heapES_used;\r
- }\r
- else { /* permanent */\r
- handle = sysContext.heapEP;\r
- used_p = &sysContext.heapEP_used;\r
- }\r
- }\r
- else if (bd_p->mclass == ecomem_CLASS_INTERNAL) {\r
- if (bd_p->volat) {\r
- handle = sysContext.heapIS;\r
- used_p = &sysContext.heapIS_used;\r
- }\r
- else { /* permanent */\r
- handle = sysContext.heapIP;\r
- used_p = &sysContext.heapIP_used;\r
- }\r
- }\r
- else {\r
- return(SYS_ERR_INVHEAPCLASS);\r
- }\r
-\r
- if (reset != 0) {\r
- mhmReset(handle); /* optionally reset the heap */\r
- *used_p = 0; /* reset used size to zero */\r
- }\r
- size = bd_p->size;\r
- base_w = (tword*)mhmAllocAligned(handle, size, bd_p->log2align);\r
- *used_p += size; /* update the used size */\r
-\r
- bd_p->base = base_w; /* store the bsae address for a buffer */\r
-\r
- return(SYS_ERR_SUCCESS);\r
-} /* sysHeapAlloc */\r
-\r
-/*=================================================================\r
- * int sysHeapAllocAll( Allocate ALL buffers from appropriate heaps\r
- * tint nbufs, - number of buffers\r
- * void *bdout, - output buffer descriptors\r
- * void *bdin) - input buffer descriptors\r
- *=================================================================*/\r
-\r
-int sysHeapAllocAll(tint nbufs, void *bdout_p, const void *bdin_p)\r
-{\r
- int err;\r
- tint k, volatile_found;\r
- tulong es_used, is_used; /* place to save scratch used sizes */\r
- ecomemBuffer_t *bdout = bdout_p;\r
- const ecomemBuffer_t *bdin = bdin_p;\r
-\r
- es_used = sysContext.heapES_used; /* save in case scratch was reset */\r
- is_used = sysContext.heapIS_used;\r
-\r
- /* Allocate memory for all buffers */\r
- volatile_found = FALSE;\r
- for (k = 0; k < nbufs; k++) {\r
- bdout[k] = bdin[k];\r
- if (bdout[k].volat && !volatile_found) { /* first volatile? */\r
- err=sysHeapAlloc(&bdout[k], TRUE); /* reset heap for the first volatile buffer */\r
- if (err < 0) {\r
- return(err);\r
- }\r
- volatile_found = TRUE;\r
- }\r
- else { /* no need to reset heap */\r
- err=sysHeapAlloc(&bdout[k], FALSE);\r
- if (err < 0) {\r
- return(err);\r
- }\r
- }\r
- }\r
-\r
- /* fix the scratch heap used sizes if necessary */\r
- sysContext.heapES_used = max(es_used,sysContext.heapES_used);\r
- sysContext.heapIS_used = max(is_used,sysContext.heapIS_used);\r
-\r
- return(SYS_ERR_SUCCESS);\r
-} /* sysHeapAllocAll */\r
-\r
-/*==================================================*/\r
-/* The following was based on MHM implementation!!! */\r
-/*==================================================*/\r
-\r
-/* Heap header that is placed at the beginning of a memory pool. */\r
-typedef struct {\r
- tuint total_size; /* total number of words in a memory pool */\r
- tuint used_size; /* index of the first available word */\r
-} sysMhmHead_t;\r
-typedef tulong sysMhmAddress_t;\r
-\r
-/*=================================================================\r
- * int sysPrintConfig(\r
- * tuint scope); - SYSM_SCOPE_STATIC: Static configuration like default constants\r
- * SYSM_SCOPE_DYNAMIC: Dynamic configuraiton like actual run-time values \r
- *=================================================================*/\r
-\r
-int sysPrintConfig(tuint scope)\r
-{\r
- if (SYS_MASK_TEST(scope,SYSM_SCOPE_STATIC)) {\r
- System_printf("\nStatic information:\n");\r
- System_printf("tword: %d\n", sizeof(tword));\r
- System_printf("tint: %d\n", sizeof(tint));\r
- System_printf("tlong: %d\n", sizeof(tlong));\r
- System_printf("Max #mics: %d\n", SYS_MICS_MAX);\r
- System_printf("Max #vmics: %d\n", SYS_VMICS_MAX);\r
- System_printf("Fs: %d [Hz]\n", SYS_FS_HZ);\r
- System_printf("Frame duration: %d [ms]\n", SYS_FRAME_DURATION_MS);\r
- System_printf("Frame length: %ld samples\n", SYS_FRAME_LENGTH);\r
- System_printf("Frame size: %ld bytes\n", SYS_FRAME_SIZE);\r
- System_printf("Input buffer length: %ld samples\n", SYS_IN_LENGTH);\r
- System_printf("Frame buffer size: %ld bytes\n", SYS_IN_SIZE);\r
- }\r
- if (SYS_MASK_TEST(scope,SYSM_SCOPE_DYNAMIC)) {\r
- System_printf("\nDynamic information:\n");\r
- System_printf("#mics: %d\n", sysContext.nmics);\r
- System_printf("#vmics: %d\n", sysContext.nvmics);\r
- }\r
- return(SYS_ERR_SUCCESS);\r
-} /* sysPrintConfig */\r
-\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/sys.h b/file_demo_bios/da830/components/sys.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/* \r
- sys.h: System constants, data types, prototypes.\r
-*/\r
-#ifndef _SYS_H\r
-#define _SYS_H\r
-\r
-#include <xdc/std.h> /* required for types.h */\r
-#include <ti/mas/types/types.h>\r
-#include <ti/mas/util/ecomem.h>\r
-\r
-/*======================================================================\r
- * Static system configuration parameters\r
- *======================================================================*/\r
-\r
-#define SYS_MICS_MAX 8 /* Maximum number of microphones in the system */\r
-#define SYS_VMICS_MAX 12 /* Maximum number of virtual microphones in the system */\r
-#define SYS_FS_HZ 16000 /* Sampling rate in Hz */\r
-#define SYS_FRAME_DURATION_MS 10 /* Frame duration in ms */\r
-#define SYS_FRAME_LENGTH (1L*SYS_FS_HZ*SYS_FRAME_DURATION_MS/1000) /* Frame length in samples */\r
-#define SYS_FRAME_SIZE (TYP_LINSAMPLE_SIZE*SYS_FRAME_LENGTH/TYP_TWORD_SIZE) /* Frame size in bytes */\r
-#define SYS_IN_LENGTH (2L*SYS_FRAME_LENGTH*SYS_MICS_MAX) /* Input buffer length (dual) */\r
-#define SYS_IN_SIZE (TYP_LINSAMPLE_SIZE*SYS_IN_LENGTH/TYP_TWORD_SIZE) /* # of words in input buffer */\r
-\r
-/*======================================================================\r
- * Bit masks, bit-mask handling macros, error codes\r
- *======================================================================*/\r
-\r
-/* Bit masks for sysPrintConfig */\r
-#define SYSM_SCOPE_STATIC 0x1 /* Static system information */\r
-#define SYSM_SCOPE_DYNAMIC 0x2 /* Dynamic system onfirmation */\r
-\r
-/* Macros for bit-mask manipulations */\r
-#define SYS_MASK_GET(value,mask) ((value)&(mask))\r
-#define SYS_MASK_SET(value,mask) ((value)|(mask))\r
-#define SYS_MASK_TEST(value,mask) (SYS_MASK_GET(value,mask)!=0)\r
-\r
-/* System error codes */\r
-#define SYS_ERR_SUCCESS 0\r
-#define SYS_ERR_BADCONFIG (-1)\r
-#define SYS_INV_HANDLE (-2)\r
-#define SYS_INV_LOGIC (-3)\r
-#define SYS_ERR_BUFLENGTH (-4)\r
-#define SYS_ERR_FOPEN (-5)\r
-#define SYS_ERR_FLOAD (-6)\r
-#define SYS_ERR_FMAXBUF (-7)\r
-#define SYS_ERR_FREAD (-8)\r
-#define SYS_ERR_HEAPINIT (-9)\r
-#define SYS_ERR_INVHEAPCLASS (-10)\r
-#define SYS_ERR_BFERROR (-11)\r
-#define SYS_ERR_EOF (-12)\r
-#define SYS_ERR_ASNRERROR (-13)\r
-#define SYS_ERR_MSSERROR (-14)\r
-#define SYS_ERR_MSSDEBUG (-15)\r
-#define SYS_ERR_ANGLECONFIG (-16)\r
-#define SYS_ERR_VAUERROR (-17)\r
-\r
-/*======================================================================\r
- * System Data Types\r
- *======================================================================*/\r
-\r
-/* System Configuration Structure */\r
-struct sysConfig_stc {\r
- tint nmics; /* The actual number of microphones in ths system */\r
- tint nvmics; /* The acutal number of virtual microphones in the system */\r
- tbool use_fileio; /* Use file I/O to load microphone files */\r
- tbool use_default; /* Use default angles for virtual microphones */\r
-};\r
-typedef struct sysConfig_stc sysConfig_t;\r
-\r
-/* System Context Structure */\r
-struct sysContext_stc {\r
- tint nmics; /* The actual number of microphones in ths system */\r
- tint nvmics; /* The acutal number of virtual microphones in the system */\r
-\r
- /* heap handles (point to head header) */\r
- void *heapEP;\r
- void *heapES;\r
- void *heapIP;\r
- void *heapIS;\r
-\r
- /* used heap */\r
- tulong heapEP_used; /* how many used in words */\r
- tulong heapES_used;\r
- tulong heapIP_used;\r
- tulong heapIS_used;\r
-\r
- /* Mic input buffer */\r
- /* This is a dual buffer. Each part has SYS_FRAME_LENGTH*SYS_MICS_MAX samples\r
- * to accomodate all microphone inputs. The samples are written contiguously\r
- * without any gaps. Channel after channel.\r
- */\r
- void *in_w; /* Mic input buffer being written to */\r
- void *in_r; /* Mic input buffer being read from */\r
- void *in_lo; /* Low part of mic input buffer */\r
- void *in_hi; /* High part of mic input buffer */\r
-\r
- linSample *vmicfrm[SYS_VMICS_MAX]; /* Virtual mic frames */\r
-\r
- /* Instance pointers */\r
- void *bfInst_p[SYS_VMICS_MAX]; /* beamformer instance pointers */\r
- void *asnrInst_p[SYS_VMICS_MAX]; /* ASNR instance pointers */\r
- void *mssInst_p; /* MSS instance pointer */\r
- void *vauInst_p; /* VAU instance pointer */\r
-\r
- tint vmicangles[SYS_VMICS_MAX]; /* use SYS_BF_ANGLE_xxx from sysbfflt.h */\r
-\r
- tbool use_fileio; /* Use file I/O to load microphone files */\r
- tbool eof; /* End of file reached */\r
- tbool use_default; /* Use default vmic angles (4,6,8,12 vmics supported only) */\r
-};\r
-typedef struct sysContext_stc sysContext_t;\r
-\r
-/*======================================================================\r
- * Global variable declarations\r
- *======================================================================*/\r
-\r
-extern sysContext_t sysContext; /* Defined in sys.c */\r
-extern tint sysBfVMicAngles[]; /* Defined in sys.c */\r
-\r
-/* Buffer descriptor array for memory allocations */\r
-#define SYS_COMP_MAXBUFS 10\r
-extern ecomemBuffer_t sysCompBufs[];\r
-\r
-/*======================================================================\r
- * Additional Macros\r
- *======================================================================*/\r
-\r
-/* Misc macros */\r
-#define SYS_CHECK_ERROR(err) if((err)<0){sysError(err);}\r
-\r
-/*======================================================================\r
- * API Prototypes\r
- *======================================================================*/\r
-\r
-/* sys.c */\r
-extern int sysCreate(sysConfig_t*); /* Initialize system context */\r
-extern void sysError(int); /* Printf error code and exit */\r
-extern int sysHeapAlloc(void*, tint); /* Allocate from appropriate heap */\r
-extern int sysHeapAllocAll(tint, void*, const void*); /* Allocate ALL buffers */\r
-extern int sysPrintConfig(tuint); /* Print system configuration */\r
-\r
-/* sysbf.c */\r
-extern void sysBfCreate(void); /* Create all active beamformers */\r
-\r
-/* sysasnr.c */\r
-extern void sysAsnrCreate(void); /* Create all active ASNR's */\r
-\r
-/* sysmss.c */\r
-extern void sysMssCreate(void); /* Create the MSS module */\r
-\r
-/* sysvau.c */\r
-extern void sysVauCreate(void); /* Create the VAU module */\r
-\r
-#endif\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/sysasnr.c b/file_demo_bios/da830/components/sysasnr.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/*=================================================================\r
- * sysasnr.c: ASNR creation routines.\r
- *=================================================================*/\r
-\r
-#include <xdc/std.h>\r
-#include <ti/sysbios/BIOS.h>\r
-#include <xdc/runtime/System.h>\r
-\r
-#include <ti/mas/types/types.h>\r
-#include <ti/mas/util/ecomem.h>\r
-#include <ti/mas/vpe/asnr.h>\r
-\r
-#include "sys.h"\r
-\r
-asnrSizeConfig_t asnrSizeConfig = {\r
- asnr_SRATE_16K /* 16kHz sampling rate */\r
-};\r
-\r
-asnrOpenConfig_t asnrOpenConfig = {\r
- asnr_SRATE_16K /* use 16kHz sampling rate */\r
-};\r
-\r
-/*=================================================================\r
- * void sysAsnrCreate(void) Create ASNR's within virtual mics\r
- *=================================================================*/\r
-void sysAsnrCreate(void)\r
-{\r
- int k, err;\r
- tint nbufs;\r
- const ecomemBuffer_t *bufs;\r
- asnrNewConfig_t asnrNewConfig;\r
- asnrControl_t asnrCtl;\r
-\r
- System_printf("...Initializing ASNR's\n");\r
- System_flush();\r
-\r
- /* Configure ASNR's (use same configuration for all) */\r
- err = asnrGetSizes(&nbufs, &bufs, &asnrSizeConfig);\r
- if (err != asnr_NOERR) {\r
- System_printf("*** ASNR's getsizes error: %d\n", err);\r
- BIOS_exit(0);\r
- }\r
- /* Allocate memory for ASNR's */\r
- if (nbufs > SYS_COMP_MAXBUFS) {\r
- System_printf("*** not enough buffer descriptors");\r
- BIOS_exit(0);\r
- }\r
-\r
- asnrNewConfig.sizeCfg = asnrSizeConfig; /* Use same configuration for all */\r
- for (k = 0; k < sysContext.nvmics; k++) {\r
- err = sysHeapAllocAll(nbufs, sysCompBufs, (const void*)bufs);\r
- SYS_CHECK_ERROR(err);\r
- \r
- /* Give memory to ASNR #k */\r
- asnrNewConfig.handle = (void*)k; /* Indicate ASNR instance #k */\r
- sysContext.asnrInst_p[k] = NULL;\r
- err = asnrNew(&sysContext.asnrInst_p[k], nbufs, sysCompBufs, &asnrNewConfig);\r
- if (err != asnr_NOERR) {\r
- System_printf("*** ASNR #%d new error: %d\n", k, err);\r
- BIOS_exit(0);\r
- }\r
- }\r
-\r
- /* Open ASNR for business */\r
- for (k = 0; k < sysContext.nvmics; k++) {\r
- err = asnrOpen(sysContext.asnrInst_p[k],&asnrOpenConfig);\r
- if (err != asnr_NOERR) {\r
- System_printf("*** ASNR #%d open error: %d\n", k, err);\r
- BIOS_exit(0);\r
- }\r
- }\r
- /* At this point ASNR's are open, but may need additional configuration */\r
-\r
- /* Here we reconfigure the ASNR */\r
- asnrCtl.valid_bitfield = (asnr_CTL_VALID_BAND1_MAX_ATTEN |\r
- asnr_CTL_VALID_BAND2_MAX_ATTEN |\r
- asnr_CTL_VALID_BAND3_MAX_ATTEN);\r
- asnrCtl.band1_max_atten = 12;\r
- asnrCtl.band2_max_atten = 9;\r
- asnrCtl.band3_max_atten = 6;\r
- for (k = 0; k < sysContext.nvmics; k++) {\r
- err = asnrControl (sysContext.asnrInst_p[k], &asnrCtl);\r
- if (err != asnr_NOERR) {\r
- System_printf("*** ASNR #%d control error: %d\n", k, err);\r
- BIOS_exit(0);\r
- }\r
- }\r
-\r
- System_printf("Done with ASNR's\n");\r
- System_flush();\r
-\r
-} /* sysAsnrCreate */\r
-\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/sysbf.c b/file_demo_bios/da830/components/sysbf.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/*=================================================================\r
- * sysbf.c: BF creation routines.\r
- *=================================================================*/\r
-\r
-#include <xdc/std.h>\r
-#include <ti/sysbios/BIOS.h>\r
-#include <xdc/runtime/System.h>\r
-\r
-#include <ti/mas/types/types.h>\r
-#include <ti/mas/util/ecomem.h>\r
-#include <ti/mas/aer/bf.h>\r
-\r
-#include "sysbfflt.h"\r
-#include "sys.h"\r
-\r
-bfSizeConfig_t bfSizeConfig = {\r
- bf_SAMP_RATE_16K, /* 16kHz sampling rate */\r
- SYS_MICS_MAX, /* Maximum number of mics in the system */\r
- 32, /* Maximum beamformer filter length */\r
- bf_TYPE_FIXED /* Fixed beamformer type */\r
-};\r
-\r
-bfConfig_t bfConfig = {\r
- bf_SAMP_RATE_16K, /* use 16kHz sampling rate */\r
- SYS_MICS_MAX, /* use all mics */\r
-};\r
-\r
-/*=================================================================\r
- * void sysBfCreate(void) Create beamformers\r
- *=================================================================*/\r
-void sysBfCreate(void)\r
-{\r
- int k, n, err;\r
- tint nbufs;\r
- Fract *coeff_p;\r
- const ecomemBuffer_t *bufs;\r
- bfNewConfig_t bfNewConfig;\r
- bfControl_t bfCtl;\r
-\r
- System_printf("...Initializing beamformers\n");\r
- System_flush();\r
-\r
- /* Configure Beamformers (use same configuration for all) */\r
- err = bfGetSizes(&nbufs, &bufs, &bfSizeConfig);\r
- if (err != bf_NOERR) {\r
- System_printf("*** beamformer getsizes error: %d\n", err);\r
- BIOS_exit(0);\r
- }\r
- /* Allocate memory for beamformer */\r
- if (nbufs > SYS_COMP_MAXBUFS) {\r
- System_printf("*** not enough buffer descriptors");\r
- BIOS_exit(0);\r
- }\r
-\r
- bfNewConfig.sizeCfg = bfSizeConfig; /* Use same configuration for all */\r
- for (k = 0; k < sysContext.nvmics; k++) {\r
- err = sysHeapAllocAll(nbufs, sysCompBufs, (const void*)bufs);\r
- SYS_CHECK_ERROR(err);\r
- \r
- /* Give memory to beamformer #k */\r
- bfNewConfig.handle = (void*)k; /* Indicate BF instance #k */\r
- sysContext.bfInst_p[k] = NULL;\r
- err = bfNew(&sysContext.bfInst_p[k], nbufs, sysCompBufs, &bfNewConfig);\r
- if (err != bf_NOERR) {\r
- System_printf("*** beamformer #%d new error: %d\n", k, err);\r
- BIOS_exit(0);\r
- }\r
- }\r
-\r
- /* Open BF for business */\r
- for (k = 0; k < sysContext.nvmics; k++) {\r
- err = bfOpen(sysContext.bfInst_p[k],&bfConfig);\r
- if (err != bf_NOERR) {\r
- System_printf("*** beamformer #%d open error: %d\n", k, err);\r
- BIOS_exit(0);\r
- }\r
- }\r
- /* At this point BF's are open, but DISABLED! */\r
- /* We need to initialize filters prior to enabling them. */\r
-\r
- for (k = 0; k < sysContext.nvmics; k++) {\r
- coeff_p = sysBfFilters[sysContext.vmicangles[k]];\r
- for (n = 0; n < sysContext.nmics; n++) {\r
- err = bfPutFilter (sysContext.bfInst_p[k], coeff_p, bf_FG_BF, n, SYS_BF_FILTER_LENGTH);\r
- if (err != bf_NOERR) {\r
- System_printf("*** beamformer #%d put-filter error: %d\n", k, err);\r
- BIOS_exit(0);\r
- }\r
- coeff_p += SYS_BF_FILTER_LENGTH; /* point to the filter for next mic */\r
- }\r
- }\r
-\r
- /* Now we can enable beamformers */\r
- bfCtl.valid_bitfield = bf_CTL_CONFIG;\r
- bfCtl.config.mask = bf_CTL_CFG_ENABLE;\r
- bfCtl.config.value = bf_ENABLE;\r
- for (k = 0; k < sysContext.nvmics; k++) {\r
- err = bfControl (sysContext.bfInst_p[k], &bfCtl);\r
- if (err != bf_NOERR) {\r
- System_printf("*** beamformer #%d control error: %d\n", k, err);\r
- BIOS_exit(0);\r
- }\r
- }\r
-\r
- System_printf("Done with beamformers\n");\r
- System_flush();\r
-\r
-} /* sysBfCreate */\r
-\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/sysbfflt.c b/file_demo_bios/da830/components/sysbfflt.c
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/*=================================================================\r
- * sysbfflt.c: BF filters for all angles of interest\r
- *=================================================================*/\r
-\r
-#include <xdc/std.h>\r
-#include <ti/mas/types/types.h>\r
-\r
-#include "sysbfflt.h"\r
-\r
-/* SYS_BF_ANGLE_P0 */\r
-Fract sysBfFltP0[][SYS_BF_FILTER_LENGTH] = {\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_P30 */\r
-Fract sysBfFltP30[][SYS_BF_FILTER_LENGTH] = {\r
- { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
- { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0},\r
- { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
- { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0},\r
- { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
- { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0},\r
- { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
- { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_P45 */\r
-Fract sysBfFltP45[][SYS_BF_FILTER_LENGTH] = {\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_P60 */\r
-Fract sysBfFltP60[][SYS_BF_FILTER_LENGTH] = {\r
- { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
- { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0},\r
- { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
- { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0},\r
- { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
- { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0},\r
- { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
- { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_P90 */\r
-Fract sysBfFltP90[][SYS_BF_FILTER_LENGTH] = {\r
- { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_P120 */\r
-Fract sysBfFltP120[][SYS_BF_FILTER_LENGTH] = {\r
- { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
- { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0},\r
- { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
- { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0},\r
- { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
- { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0},\r
- { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
- { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_P135 */\r
-Fract sysBfFltP135[][SYS_BF_FILTER_LENGTH] = {\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_P150 */\r
-Fract sysBfFltP150[][SYS_BF_FILTER_LENGTH] = {\r
- { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
- { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0},\r
- { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
- { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0},\r
- { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
- { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0},\r
- { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
- { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_P180 */\r
-Fract sysBfFltP180[][SYS_BF_FILTER_LENGTH] = {\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_M150 */\r
-Fract sysBfFltM150[][SYS_BF_FILTER_LENGTH] = {\r
- { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
- { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0},\r
- { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
- { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0},\r
- { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
- { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0},\r
- { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
- { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_M135 */\r
-Fract sysBfFltM135[][SYS_BF_FILTER_LENGTH] = {\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_M120 */\r
-Fract sysBfFltM120[][SYS_BF_FILTER_LENGTH] = {\r
- { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
- { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0},\r
- { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
- { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0},\r
- { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
- { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0},\r
- { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
- { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_M90 */\r
-Fract sysBfFltM90[][SYS_BF_FILTER_LENGTH] = {\r
- { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_M60 */\r
-Fract sysBfFltM60[][SYS_BF_FILTER_LENGTH] = {\r
- { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
- { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0},\r
- { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
- { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0},\r
- { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
- { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0},\r
- { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
- { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_M45 */\r
-Fract sysBfFltM45[][SYS_BF_FILTER_LENGTH] = {\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
- { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
- { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
- { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0}\r
-};\r
-\r
-/* SYS_BF_ANGLE_M30 */\r
-Fract sysBfFltM30[][SYS_BF_FILTER_LENGTH] = {\r
- { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
- { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0},\r
- { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
- { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0},\r
- { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
- { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0},\r
- { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
- { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0}\r
-};\r
-\r
-/* Table of all available filters */\r
-Fract *sysBfFilters[SYS_BF_ANGLES_MAX] = {\r
- &sysBfFltP0[0][0], /* SYS_BF_ANGLE_P0 */\r
- &sysBfFltP30[0][0], /* SYS_BF_ANGLE_P30 */\r
- &sysBfFltP45[0][0], /* SYS_BF_ANGLE_P45 */\r
- &sysBfFltP60[0][0], /* SYS_BF_ANGLE_P60 */\r
- &sysBfFltP90[0][0], /* SYS_BF_ANGLE_P90 */\r
- &sysBfFltP120[0][0], /* SYS_BF_ANGLE_P120 */\r
- &sysBfFltP135[0][0], /* SYS_BF_ANGLE_P130 */\r
- &sysBfFltP150[0][0], /* SYS_BF_ANGLE_P150 */\r
- &sysBfFltP180[0][0], /* SYS_BF_ANGLE_P180 */\r
- &sysBfFltM150[0][0], /* SYS_BF_ANGLE_M150 */\r
- &sysBfFltM135[0][0], /* SYS_BF_ANGLE_M135 */\r
- &sysBfFltM120[0][0], /* SYS_BF_ANGLE_M120 */\r
- &sysBfFltM90[0][0], /* SYS_BF_ANGLE_M90 */\r
- &sysBfFltM60[0][0], /* SYS_BF_ANGLE_M60 */\r
- &sysBfFltM45[0][0], /* SYS_BF_ANGLE_M45 */\r
- &sysBfFltM30[0][0] /* SYS_BF_ANGLE_M30 */\r
-};\r
-\r
-/* Table of all available filter angles */\r
-tint sysBfFilterAngles[SYS_BF_ANGLES_MAX] = {\r
- 0, /* SYS_BF_ANGLE_P0 */\r
- 30, /* SYS_BF_ANGLE_P30 */\r
- 45, /* SYS_BF_ANGLE_P45 */\r
- 60, /* SYS_BF_ANGLE_P60 */\r
- 90, /* SYS_BF_ANGLE_P90 */\r
- 120, /* SYS_BF_ANGLE_P120 */\r
- 130, /* SYS_BF_ANGLE_P130 */\r
- 150, /* SYS_BF_ANGLE_P150 */\r
- 180, /* SYS_BF_ANGLE_P180 */\r
- -150, /* SYS_BF_ANGLE_M150 */\r
- -135, /* SYS_BF_ANGLE_M135 */\r
- -120, /* SYS_BF_ANGLE_M120 */\r
- -90, /* SYS_BF_ANGLE_M90 */\r
- -60, /* SYS_BF_ANGLE_M60 */\r
- -45, /* SYS_BF_ANGLE_M45 */\r
- -30 /* SYS_BF_ANGLE_M30 */\r
-};\r
-\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/sysbfflt.h b/file_demo_bios/da830/components/sysbfflt.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/* \r
- sysbfflt.h: BF filter definitions for all angles of intereset\r
-*/\r
-#ifndef _SYSBFFLT_H\r
-#define _SYSBFFLT_H\r
-\r
-#include <xdc/std.h> /* required for types.h */\r
-#include <ti/mas/types/types.h>\r
-\r
-/*======================================================================\r
- * Filter angles that are supported\r
- *======================================================================*/\r
-\r
-#define SYS_BF_ANGLE_P0 (0)\r
-#define SYS_BF_ANGLE_P30 (1)\r
-#define SYS_BF_ANGLE_P45 (2)\r
-#define SYS_BF_ANGLE_P60 (3)\r
-#define SYS_BF_ANGLE_P90 (4)\r
-#define SYS_BF_ANGLE_P120 (5)\r
-#define SYS_BF_ANGLE_P135 (6)\r
-#define SYS_BF_ANGLE_P150 (7)\r
-#define SYS_BF_ANGLE_P180 (8)\r
-#define SYS_BF_ANGLE_M150 (9)\r
-#define SYS_BF_ANGLE_M135 (10)\r
-#define SYS_BF_ANGLE_M120 (11)\r
-#define SYS_BF_ANGLE_M90 (12)\r
-#define SYS_BF_ANGLE_M60 (13)\r
-#define SYS_BF_ANGLE_M45 (14)\r
-#define SYS_BF_ANGLE_M30 (15)\r
-#define SYS_BF_ANGLE_LAST SYS_BF_ANGLE_M30\r
-#define SYS_BF_ANGLES_MAX (SYS_BF_ANGLE_LAST+1)\r
-\r
-#define SYS_BF_FILTER_LENGTH 24 /* must be even for optimized code */\r
-\r
-extern Fract *sysBfFilters[]; /* table of all available filters */\r
-extern tint sysBfFilterAngles[]; /* table of filter angles in degrees */\r
-#endif\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/syseram.c b/file_demo_bios/da830/components/syseram.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/*=================================================================\r
- * syseram.c: External memory heaps.\r
- *=================================================================*/\r
-\r
-#include <xdc/std.h> /* required for types.h */\r
-#include <ti/mas/types/types.h>\r
-\r
-#include "syseram.h"\r
-\r
-#pragma DATA_ALIGN(sysEramPermanent,SYS_ERAM_ALIGN);\r
-#pragma DATA_SECTION(sysEramPermanent,".bferam");\r
-tword sysEramPermanent[SYS_ERAM_PERMANENT_SIZE];\r
-\r
-#pragma DATA_ALIGN(sysEramScratch,SYS_ERAM_ALIGN);\r
-#pragma DATA_SECTION(sysEramScratch,".bferam");\r
-tword sysEramScratch[SYS_ERAM_SCRATCH_SIZE];\r
-\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/syseram.h b/file_demo_bios/da830/components/syseram.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/* \r
- * syseram.h: External memory heaps\r
-*/\r
-#ifndef _SYSERAM_H\r
-#define _SYSERAM_H\r
-\r
-#include <xdc/std.h> /* required for types.h */\r
-#include <ti/mas/types/types.h>\r
-\r
-#define SYS_ERAM_ALIGN_LOG2 3\r
-#define SYS_ERAM_ALIGN (8*8/TYP_TWORD_SIZE) /* alignment on 8 bytes */\r
-\r
-#if SYS_ERAM_ALIGN != 8\r
-#error unsuported word size\r
-#endif\r
-\r
-#define SYS_ERAM_PERMANENT 2000L /* The number of 8-byte elements */\r
-#define SYS_ERAM_SCRATCH 500L\r
-\r
-#define SYS_ERAM_PERMANENT_SIZE (SYS_ERAM_ALIGN*SYS_ERAM_PERMANENT)\r
-#define SYS_ERAM_SCRATCH_SIZE (SYS_ERAM_ALIGN*SYS_ERAM_SCRATCH)\r
-\r
-extern __far tword sysEramPermanent[];\r
-extern __far tword sysEramScratch[];\r
-\r
-#endif\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/sysiram.c b/file_demo_bios/da830/components/sysiram.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/*=================================================================\r
- * sysiram.c: Internal memory heaps.\r
- *=================================================================*/\r
-\r
-#include <xdc/std.h> /* required for types.h */\r
-#include <ti/mas/types/types.h>\r
-\r
-#include "sysiram.h"\r
-\r
-#pragma DATA_ALIGN(sysIramPermanent,SYS_IRAM_ALIGN);\r
-#pragma DATA_SECTION(sysIramPermanent,".bfiram");\r
-tword sysIramPermanent[SYS_IRAM_PERMANENT_SIZE];\r
-\r
-#pragma DATA_ALIGN(sysIramScratch,SYS_IRAM_ALIGN);\r
-#pragma DATA_SECTION(sysIramScratch,".bfiram");\r
-tword sysIramScratch[SYS_IRAM_SCRATCH_SIZE];\r
-\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/sysiram.h b/file_demo_bios/da830/components/sysiram.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/* \r
- * sysiram.h: Internal memory heaps\r
-*/\r
-#ifndef _SYSIRAM_H\r
-#define _SYSIRAM_H\r
-\r
-#include <xdc/std.h> /* required for types.h */\r
-#include <ti/mas/types/types.h>\r
-\r
-#define SYS_IRAM_ALIGN_LOG2 3\r
-#define SYS_IRAM_ALIGN (8*8/TYP_TWORD_SIZE) /* alignment on 8 bytes */\r
-\r
-#if SYS_IRAM_ALIGN != 8\r
-#error unsuported word size\r
-#endif\r
-\r
-#define SYS_IRAM_PERMANENT 4000L /* The number of 8-byte elements */\r
-#define SYS_IRAM_SCRATCH 1000L\r
-\r
-#define SYS_IRAM_PERMANENT_SIZE (SYS_IRAM_ALIGN*SYS_IRAM_PERMANENT)\r
-#define SYS_IRAM_SCRATCH_SIZE (SYS_IRAM_ALIGN*SYS_IRAM_SCRATCH)\r
-\r
-extern __far tword sysIramPermanent[];\r
-extern __far tword sysIramScratch[];\r
-\r
-#endif\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/sysmss.c b/file_demo_bios/da830/components/sysmss.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/*=================================================================\r
- * sysmss.c: MSS creation routines.\r
- *=================================================================*/\r
-\r
-#include <xdc/std.h>\r
-#include <ti/sysbios/BIOS.h>\r
-#include <xdc/runtime/System.h>\r
-\r
-#include <ti/mas/types/types.h>\r
-#include <ti/mas/util/ecomem.h>\r
-//#include <ti/mas/aer/mss.h>\r
-\r
-#include "mss/mss.h"\r
-#include "sys.h"\r
-\r
-/* Configuration for getSizes */\r
-mssSizeConfig_t mssSizeConfig = {\r
- mss_SAMP_RATE_16K, /* 16kHz sampling rate */\r
- SYS_VMICS_MAX, /* Maximum # of fixed mics (will be providing virtual here! */\r
- 0, /* No remote mics */\r
- 0, /* No "clean" mics */\r
- 0 /* Beams not supported so we have to used fixed! */\r
-};\r
-\r
-/* Configuration for Open */\r
-mssConfig_t mssConfig = {\r
- mss_SAMP_RATE_16K, /* use 16kHz sampling rate */\r
- SYS_VMICS_MAX, /* use one virtual mic only by default */\r
- 0, /* No remote mics */\r
- 0, /* No "clean" mics */\r
- SYS_MICS_MAX, /* Microphone array has 8 mics */\r
- 0 /* Beams not supported so we used the fixed! */\r
-};\r
-\r
-mssControl_t mssCtl = {\r
- (mss_CTL_SWITCH_THRESH | mss_CTL_SWITCH_DURATION | mss_CTL_SWITCH_HNAGOVER),\r
- {0, 0}, /* do not use modes */\r
- {0, 0}, /* do not use source */\r
- 250, /* sw-thresh in ms */\r
- 500, /* sw-duration in ms */\r
- 500 /* sw-hangover in ms */\r
-};\r
-\r
-/*=================================================================\r
- * void sysMssCreate(void) Create beamformers\r
- *=================================================================*/\r
-void sysMssCreate(void)\r
-{\r
- int err;\r
- tint nbufs;\r
- const ecomemBuffer_t *bufs;\r
- mssNewConfig_t mssNewConfig;\r
-// bfControl_t bfCtl;\r
-\r
- System_printf("...Initializing MSS\n");\r
- System_flush();\r
-\r
- /* Configure MSS */\r
- err = mssGetSizes(&nbufs, &bufs, &mssSizeConfig);\r
- if (err != mss_NOERR) {\r
- System_printf("*** MSS getSizes error: %d\n", err);\r
- BIOS_exit(0);\r
- }\r
- if (nbufs > SYS_COMP_MAXBUFS) {\r
- System_printf("*** not enough buffer descriptors");\r
- BIOS_exit(0);\r
- }\r
-\r
- /* Allocate memory for MSS */\r
- mssNewConfig.sizeCfg = mssSizeConfig; /* Use same configuration */\r
- err = sysHeapAllocAll(nbufs, sysCompBufs, (const void*)bufs);\r
- SYS_CHECK_ERROR(err);\r
- \r
- /* Give memory to MSS */\r
- mssNewConfig.handle = (void*)0; /* Indicate instance 0 */\r
- sysContext.mssInst_p = NULL;\r
- err = mssNew(&sysContext.mssInst_p, nbufs, sysCompBufs, &mssNewConfig);\r
- if (err != mss_NOERR) {\r
- System_printf("*** MSS New error: %d\n", err);\r
- BIOS_exit(0);\r
- }\r
-\r
- /* Open MSS for business */\r
- err = mssOpen(sysContext.mssInst_p,&mssConfig);\r
- if (err != mss_NOERR) {\r
- System_printf("*** MSS open error: %d\n", err);\r
- BIOS_exit(0);\r
- }\r
- /* At this point MSS is open */\r
-\r
- /* Reconfigure hangovers, etc. */\r
- err = mssControl(sysContext.mssInst_p, &mssCtl);\r
- if (err != mss_NOERR) {\r
- System_printf("*** MSS control error: %d\n", err);\r
- BIOS_exit(0);\r
- }\r
-\r
- System_printf("Done with MSS\n");\r
- System_flush();\r
-\r
-} /* sysMssCreate */\r
-\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/components/sysvau.c b/file_demo_bios/da830/components/sysvau.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 2016, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-\r
-/*=================================================================\r
- * sysvau.c: VAU creation routines.\r
- *=================================================================*/\r
-\r
-#include <xdc/std.h>\r
-#include <ti/sysbios/BIOS.h>\r
-#include <xdc/runtime/System.h>\r
-\r
-#include <ti/mas/types/types.h>\r
-#include <ti/mas/util/ecomem.h>\r
-#include <ti/mas/vau/vau.h>\r
-\r
-#include "sys.h"\r
-\r
-vauSizeConfig_t vauSizeConfig = {\r
- SYS_FRAME_LENGTH, /* 10ms frames (160 samples) */\r
- vau_SAMP_RATE_16KHZ /* 16kHz sampling rate */\r
-};\r
-\r
-vauOpenConfig_t vauOpenConfig = {\r
- SYS_FRAME_LENGTH, /* use 160 sample frames */\r
- vau_SAMP_RATE_16KHZ, /* use 16kHz sampling rate */\r
- { 0, 0, 0, 0, 0} /* Do not reconfigure defaults */\r
-};\r
-\r
-/*=================================================================\r
- * void sysVauCreate(void) Create VAU instance\r
- *=================================================================*/\r
-void sysVauCreate(void)\r
-{\r
- int err;\r
- tint nbufs;\r
- const ecomemBuffer_t *bufs;\r
- ifvauControl_t vauCtl;\r
-\r
- System_printf("...Initializing VAU\n");\r
- System_flush();\r
-\r
- /* Configure VAU */\r
- err = vauGetSizes(&nbufs, &bufs, &vauSizeConfig);\r
- if (err != vau_NOERR) {\r
- System_printf("*** VAU getsizes error: %d\n", err);\r
- BIOS_exit(0);\r
- }\r
- /* Allocate memory for VAU */\r
- if (nbufs > SYS_COMP_MAXBUFS) {\r
- System_printf("*** not enough buffer descriptors");\r
- BIOS_exit(0);\r
- }\r
-\r
- err = sysHeapAllocAll(nbufs, sysCompBufs, (const void*)bufs);\r
- SYS_CHECK_ERROR(err);\r
- \r
- /* Give memory to VAU */\r
- sysContext.vauInst_p = NULL;\r
- err = vauNew(&sysContext.vauInst_p, nbufs, sysCompBufs);\r
- if (err != vau_NOERR) {\r
- System_printf("*** VAU #%d new error: %d\n", err);\r
- BIOS_exit(0);\r
- }\r
-\r
- /* Open VAU for business */\r
- err = vauOpen(sysContext.vauInst_p,&vauOpenConfig);\r
- if (err != vau_NOERR) {\r
- System_printf("*** VAU open error: %d\n", err);\r
- BIOS_exit(0);\r
- }\r
- /* At this point VAU is open, but may need additional configuration */\r
-\r
- /* Here we enable VAU */\r
- vauCtl.valid_params = ifvau_VALID_CONTROL;\r
- vauCtl.control = ifvau_ENABLE;\r
- err = vauControl (sysContext.vauInst_p, NULL, &vauCtl);\r
- if (err != vau_NOERR) {\r
- System_printf("*** VAU control error: %d\n", err);\r
- BIOS_exit(0);\r
- }\r
-\r
- System_printf("Done with VAU\n");\r
- System_flush();\r
-\r
-} /* sysVauCreate */\r
-\r
-/* nothing past this point */\r
-\r
diff --git a/file_demo_bios/da830/dskda830_dsp.gel b/file_demo_bios/da830/dskda830_dsp.gel
+++ /dev/null
@@ -1,980 +0,0 @@
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * dskda830_dsp.gel *\r
- * Version 1.06 *\r
- * *\r
- * This GEL file is designed to be used in conjunction with *\r
- * CCStudio 3.3+ and the DA830 based DSK. *\r
- * *\r
- * SDI Version History: *\r
- * 1.00 Initial Release *\r
- * 1.01 Added USB1 clock enable in CFGCGHIP2 *\r
- * 1.02 Added Setup_Data_Cache(), added hotmenu item Setup_EMIFA_PinMux() *\r
- * 1.03 Corrected PINMUX0, 11 settings to enable EMB_CLK, AXR2[0] *\r
- * 1.04 General cleanup *\r
- * 1.05 Corrected ARM INTC in Memory map *\r
- * 1.06 Fixed tRFC SDRAM timing parameter *\r
- * ------------------------------------------------------------------------ */\r
- \r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * StartUp( ) *\r
- * Setup Memory Map *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-StartUp( )\r
-{\r
- Setup_Memory_Map( );\r
-}\r
-\r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * OnTargetConnect( ) *\r
- * Setup PinMux, Power, PLLs, SDRAM & EMIFs *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-OnTargetConnect( )\r
-{\r
- GEL_TextOut( "\nDA830 DSP Startup Sequence\n\n" );\r
-\r
- Setup_Data_Cache(); // Setup L1D to 32 KB cache\r
-\r
- Setup_System_Config( ); // Setup Pin Mux and other system module registers\r
- Setup_PLL(); // Setup PLL0 (300MHZ ARM, 300MHz DSP, 133MHz EMIFs\r
-\r
- Setup_Psc_All_On( ); // Setup All Power Domains\r
-\r
- Setup_EMIFA(); // Async EMIF\r
- Setup_EMIFB(); // Setup SDRAM\r
-\r
- Enable_ARM();\r
-\r
- GEL_TextOut( "\nStartup Complete.\n\n" );\r
-}\r
-\r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * OnPreFileLoaded( ) *\r
- * This function is called automatically when the 'Load Program' *\r
- * Menu item is selected. *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-OnPreFileLoaded( )\r
-{\r
- /*\r
- * GEL_Reset() is used to deal with the worst case senario of\r
- * unknown target state. If for some reason a reset is not desired\r
- * upon target connection, GEL_Reset() may be removed and replaced\r
- * with something "less brutal" like a cache initialization\r
- * function.\r
- */\r
- GEL_Reset( );\r
-\r
-// Disable_EDMA( ); // Disable EDMA\r
-\r
- GEL_TextOut( "\n" );\r
-}\r
-\r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * OnRestart( ) *\r
- * This function is called by CCS when you do Debug->Restart. *\r
- * The goal is to put the CPU into a known good state with respect to *\r
- * edma. *\r
- * Failure to do this can cause problems when you restart and *\r
- * run your application code multiple times. This is different *\r
- * then OnPreFileLoaded() which will do a GEL_Reset() to get the *\r
- * ARM9 into a known good state. *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-OnRestart( int nErrorCode )\r
-{\r
- Disable_EDMA( ); // Disable EDMA\r
-\r
- GEL_TextOut( "\n" );\r
-}\r
-\r
-menuitem "DA830 Memory Map";\r
-\r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * Setup_Memory_Map( ) *\r
- * Setup the Memory Map for DSP. *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-hotmenu\r
-Setup_Memory_Map( )\r
-{\r
- GEL_MapOn( );\r
- GEL_MapReset( );\r
-\r
- /* ARM */\r
- GEL_MapAddStr( 0xFFFD0000, 0, 0x00010000, "R|W|AS4", 0 ); // ARM Local ROM\r
- GEL_MapAddStr( 0xFFFEE000, 0, 0x00002000, "R|W|AS4", 0 ); // ARM INTC\r
- GEL_MapAddStr( 0xFFFF0000, 0, 0x00002000, "R|W|AS4", 0 ); // ARM Local RAM\r
- GEL_MapAddStr( 0x01BC0000, 0, 0x00001000, "R|W|AS4", 0 ); // ARM ETB Memory\r
- GEL_MapAddStr( 0x01BC1000, 0, 0x00000800, "R|W|AS4", 0 ); // ARM ETB Regs\r
- GEL_MapAddStr( 0x01BC1800, 0, 0x00000100, "R|W|AS4", 0 ); // ARM Ice Crusher\r
-\r
- /* DSP */\r
- GEL_MapAddStr( 0x00700000, 0, 0x00100000, "R|W|AS4", 0 ); // DSP L2 ROM\r
- GEL_MapAddStr( 0x00800000, 0, 0x00040000, "R|W|AS4", 0 ); // DSP l2 RAM\r
- GEL_MapAddStr( 0x00E00000, 0, 0x00008000, "R|W|AS4", 0 ); // DSP L1P RAM\r
- GEL_MapAddStr( 0x00F00000, 0, 0x00008000, "R|W|AS4", 0 ); // DSP L1D RAM\r
- GEL_MapAddStr( 0x01800000, 0, 0x00010000, "R|W|AS4", 0 ); // DSP Interrupt Controller\r
- GEL_MapAddStr( 0x01810000, 0, 0x00001000, "R|W|AS4", 0 ); // DSP Powerdown Controller\r
- GEL_MapAddStr( 0x01811000, 0, 0x00001000, "R|W|AS4", 0 ); // DSP Security ID\r
- GEL_MapAddStr( 0x01812000, 0, 0x00008000, "R|W|AS4", 0 ); // DSP Revision ID\r
- GEL_MapAddStr( 0x01820000, 0, 0x00010000, "R|W|AS4", 0 ); // DSP EMC\r
- GEL_MapAddStr( 0x01830000, 0, 0x00010000, "R|W|AS4", 0 ); // DSP Internal Reserved\r
- GEL_MapAddStr( 0x01840000, 0, 0x00010000, "R|W|AS4", 0 ); // DSP Memory System\r
-\r
- GEL_MapAddStr( 0x11700000, 0, 0x00100000, "R|W|AS4", 0 ); // DSP L2 ROM (mirror)\r
- GEL_MapAddStr( 0x11800000, 0, 0x00040000, "R|W|AS4", 0 ); // DSP l2 RAM (mirror)\r
- GEL_MapAddStr( 0x11E00000, 0, 0x00008000, "R|W|AS4", 0 ); // DSP L1P RAM (mirror)\r
- GEL_MapAddStr( 0x11F00000, 0, 0x00008000, "R|W|AS4", 0 ); // DSP L1D RAM (mirror)\r
- \r
- /* Shared RAM */\r
- GEL_MapAddStr( 0x80000000, 0, 0x00020000, "R|W|AS4", 0 ); // Shared RAM\r
-\r
- /* EMIFA */\r
- GEL_MapAddStr( 0x68000000, 0, 0x00008000, "R|W|AS4", 0 ); // EMIFA Control\r
- GEL_MapAddStr( 0x40000000, 0, 0x20000000, "R|W|AS4", 0 ); // EMIFA SDRAM Data\r
- GEL_MapAddStr( 0x60000000, 0, 0x02000000, "R|W|AS4", 0 ); // AEMIF CS2\r
- GEL_MapAddStr( 0x62000000, 0, 0x02000000, "R|W|AS4", 0 ); // AEMIF CS3\r
- GEL_MapAddStr( 0x64000000, 0, 0x02000000, "R|W|AS4", 0 ); // AEMIF CS4\r
- GEL_MapAddStr( 0x66000000, 0, 0x02000000, "R|W|AS4", 0 ); // AEMIF CS5\r
-\r
- /* DDR */\r
- GEL_MapAddStr( 0xB0000000, 0, 0x00008000, "R|W|AS4", 0 ); // EMIFB Control\r
- GEL_MapAddStr( 0xC0000000, 0, 0x20000000, "R|W|AS4", 0 ); // EMIFB SDRAM Data\r
-\r
- /* Peripherals */\r
- GEL_MapAddStr( 0x01C00000, 0, 0x00008000, "R|W|AS4", 0 ); // TPCC\r
- GEL_MapAddStr( 0x01C08000, 0, 0x00000400, "R|W|AS4", 0 ); // TPTC0\r
- GEL_MapAddStr( 0x01C08400, 0, 0x00000400, "R|W|AS4", 0 ); // TPTC1\r
- GEL_MapAddStr( 0x01C10000, 0, 0x00001000, "R|W|AS4", 0 ); // PSC 0\r
- GEL_MapAddStr( 0x01C11000, 0, 0x00001000, "R|W|AS4", 0 ); // PLL Controller 0\r
- GEL_MapAddStr( 0x01C12000, 0, 0x00001000, "R|W|AS4", 0 ); // Key Manager\r
- GEL_MapAddStr( 0x01C13000, 0, 0x00001000, "R|W|AS4", 0 ); // Security Controller\r
- GEL_MapAddStr( 0x01C14000, 0, 0x00001000, "R|W|AS4", 0 ); // BootConfig\r
- GEL_MapAddStr( 0x01C16000, 0, 0x00001000, "R|W|AS4", 0 ); // IOPU 0\r
- GEL_MapAddStr( 0x01C17000, 0, 0x00001000, "R|W|AS4", 0 ); // IOPU 2\r
- GEL_MapAddStr( 0x01C20000, 0, 0x00001000, "R|W|AS4", 0 ); // Timer64P 0\r
- GEL_MapAddStr( 0x01C21000, 0, 0x00001000, "R|W|AS4", 0 ); // Timer64P 1\r
- GEL_MapAddStr( 0x01C22000, 0, 0x00001000, "R|W|AS4", 0 ); // I2C 0\r
- GEL_MapAddStr( 0x01C23000, 0, 0x00001000, "R|W|AS4", 0 ); // RTC\r
- GEL_MapAddStr( 0x01C24000, 0, 0x00001000, "R|W|AS4", 0 ); // IOPU 1\r
- GEL_MapAddStr( 0x01C30000, 0, 0x00000200, "R|W|AS4", 0 ); // dMax Data RAM 0\r
- GEL_MapAddStr( 0x01C32000, 0, 0x00000200, "R|W|AS4", 0 ); // dMax Data RAM 1\r
- GEL_MapAddStr( 0x01C34000, 0, 0x00004000, "R|W|AS4", 0 ); // dMax Control Registers\r
- GEL_MapAddStr( 0x01C38000, 0, 0x00001000, "R|W|AS4", 0 ); // dMAX MAX0 Config Memory\r
- GEL_MapAddStr( 0x01C3C000, 0, 0x00001000, "R|W|AS4", 0 ); // dMAX MAX1 Config Memory\r
- GEL_MapAddStr( 0x01C40000, 0, 0x00001000, "R|W|AS4", 0 ); // MMC/SD 0\r
- GEL_MapAddStr( 0x01C41000, 0, 0x00001000, "R|W|AS4", 0 ); // SPI 0\r
- GEL_MapAddStr( 0x01C42000, 0, 0x00001000, "R|W|AS4", 0 ); // UART 0\r
- GEL_MapAddStr( 0x01C43000, 0, 0x00001000, "R|W|AS4", 0 ); // MPU 0\r
- GEL_MapAddStr( 0x01D00000, 0, 0x00001000, "R|W|AS4", 0 ); // McASP 0 Control\r
- GEL_MapAddStr( 0x01D01000, 0, 0x00001000, "R|W|AS4", 0 ); // McASP 0 FIFO Ctrl\r
- GEL_MapAddStr( 0x01D02000, 0, 0x00001000, "R|W|AS4", 0 ); // McASP 0 Data\r
- GEL_MapAddStr( 0x01D04000, 0, 0x00001000, "R|W|AS4", 0 ); // McASP 1 Control\r
- GEL_MapAddStr( 0x01D05000, 0, 0x00001000, "R|W|AS4", 0 ); // McASP 1 FIFO Ctrl\r
- GEL_MapAddStr( 0x01D06000, 0, 0x00001000, "R|W|AS4", 0 ); // McASP 1 Data\r
- GEL_MapAddStr( 0x01D08000, 0, 0x00001000, "R|W|AS4", 0 ); // McASP 2 Control\r
- GEL_MapAddStr( 0x01D09000, 0, 0x00001000, "R|W|AS4", 0 ); // McASP 2 FIFO Ctrl\r
- GEL_MapAddStr( 0x01D0A000, 0, 0x00001000, "R|W|AS4", 0 ); // McASP 2 Data\r
- GEL_MapAddStr( 0x01D0C000, 0, 0x00001000, "R|W|AS4", 0 ); // UART 1\r
- GEL_MapAddStr( 0x01D0D000, 0, 0x00001000, "R|W|AS4", 0 ); // UART 2\r
- GEL_MapAddStr( 0x01D0E000, 0, 0x00001000, "R|W|AS4", 0 ); // IOPU 4\r
- GEL_MapAddStr( 0x01E00000, 0, 0x00010000, "R|W|AS4", 0 ); // USB0 (USB HS) Cfg\r
- GEL_MapAddStr( 0x01E10000, 0, 0x00001000, "R|W|AS4", 0 ); // UHPI Cfg\r
- GEL_MapAddStr( 0x01E11000, 0, 0x00001000, "R|W|AS4", 0 ); // UHPI (IODFT)\r
- GEL_MapAddStr( 0x01E12000, 0, 0x00001000, "R|W|AS4", 0 ); // SPI 1\r
- GEL_MapAddStr( 0x01E13000, 0, 0x00001000, "R|W|AS4", 0 ); // LCD Controller\r
- GEL_MapAddStr( 0x01E14000, 0, 0x00001000, "R|W|AS4", 0 ); // MPU 1\r
- GEL_MapAddStr( 0x01E15000, 0, 0x00001000, "R|W|AS4", 0 ); // MPU 2\r
- GEL_MapAddStr( 0x01E20000, 0, 0x00002000, "R|W|AS4", 0 ); // EMAC CPPI port\r
- GEL_MapAddStr( 0x01E22000, 0, 0x00001000, "R|W|AS4", 0 ); // EMAC CPGMACSS registers\r
- GEL_MapAddStr( 0x01E23000, 0, 0x00001000, "R|W|AS4", 0 ); // EMAC CPGMAC registers\r
- GEL_MapAddStr( 0x01E24000, 0, 0x00001000, "R|W|AS4", 0 ); // EMAC MDIO port\r
- GEL_MapAddStr( 0x01E25000, 0, 0x00001000, "R|W|AS4", 0 ); // USB1 (USB FS)\r
- GEL_MapAddStr( 0x01E26000, 0, 0x00001000, "R|W|AS4", 0 ); // GPIO\r
- GEL_MapAddStr( 0x01E27000, 0, 0x00001000, "R|W|AS4", 0 ); // PSC 1\r
- GEL_MapAddStr( 0x01E28000, 0, 0x00001000, "R|W|AS4", 0 ); // I2C 1\r
- GEL_MapAddStr( 0x01E29000, 0, 0x00001000, "R|W|AS4", 0 ); // IOPU 3\r
- GEL_MapAddStr( 0x01E2A000, 0, 0x00001000, "R|W|AS4", 0 ); // PBIST Controller\r
- GEL_MapAddStr( 0x01E2B000, 0, 0x00001000, "R|W|AS4", 0 ); // PBIST Combiner\r
- GEL_MapAddStr( 0x01F00000, 0, 0x00001000, "R|W|AS4", 0 ); // EPWM 0\r
- GEL_MapAddStr( 0x01F01000, 0, 0x00001000, "R|W|AS4", 0 ); // HRPWM 0\r
- GEL_MapAddStr( 0x01F02000, 0, 0x00001000, "R|W|AS4", 0 ); // EPWM 1\r
- GEL_MapAddStr( 0x01F03000, 0, 0x00001000, "R|W|AS4", 0 ); // HRPWM 1\r
- GEL_MapAddStr( 0x01F04000, 0, 0x00001000, "R|W|AS4", 0 ); // EPWM 2\r
- GEL_MapAddStr( 0x01F05000, 0, 0x00001000, "R|W|AS4", 0 ); // HRPWM 2\r
- GEL_MapAddStr( 0x01F06000, 0, 0x00001000, "R|W|AS4", 0 ); // ECAP 0\r
- GEL_MapAddStr( 0x01F07000, 0, 0x00001000, "R|W|AS4", 0 ); // ECAP 1\r
- GEL_MapAddStr( 0x01F08000, 0, 0x00001000, "R|W|AS4", 0 ); // ECAP 2\r
- GEL_MapAddStr( 0x01F09000, 0, 0x00001000, "R|W|AS4", 0 ); // EQEP 0\r
- GEL_MapAddStr( 0x01F0A000, 0, 0x00001000, "R|W|AS4", 0 ); // EQEP 1\r
- GEL_MapAddStr( 0x01F0B000, 0, 0x00001000, "R|W|AS4", 0 ); // IOPU 5\r
-}\r
-\r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * Clear_Memory_Map( ) *\r
- * Clear the Memory Map *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-hotmenu\r
-Clear_Memory_Map( )\r
-{\r
- GEL_MapOff( );\r
- GEL_MapReset( );\r
-}\r
-\r
-menuitem "DSKDA830 Functions";\r
-\r
-_wait( int delay )\r
-{\r
- int i;\r
- for( i = 0 ; i < delay ; i++ ){}\r
-}\r
-\r
-#define SYS_BASE 0x01C14000\r
-#define REVID *(unsigned int*)(SYS_BASE + 0x000) \r
-#define DIEIDR0 *(unsigned int*)(SYS_BASE + 0x008)\r
-#define DIEIDR1 *(unsigned int*)(SYS_BASE + 0x00C)\r
-#define DIEIDR2 *(unsigned int*)(SYS_BASE + 0x010)\r
-#define DIEIDR3 *(unsigned int*)(SYS_BASE + 0x014)\r
-#define DEVIDR0 *(unsigned int*)(SYS_BASE + 0x018)\r
-#define DEVIDR1 *(unsigned int*)(SYS_BASE + 0x01C)\r
-#define BOOTCFG *(unsigned int*)(SYS_BASE + 0x020)\r
-#define CHIPREVIDR *(unsigned int*)(SYS_BASE + 0x024)\r
-#define KICK0R *(unsigned int*)(SYS_BASE + 0x038) \r
-#define KICK1R *(unsigned int*)(SYS_BASE + 0x03c) \r
-#define HOST0CFG *(unsigned int*)(SYS_BASE + 0x040) //ARM HOST0CFG\r
-#define HOST1CFG *(unsigned int*)(SYS_BASE + 0x044)\r
-#define IRAWSTAT *(unsigned int*)(SYS_BASE + 0x0E0) \r
-#define IENSTAT *(unsigned int*)(SYS_BASE + 0x0E4) \r
-#define IENSET *(unsigned int*)(SYS_BASE + 0x0E8) \r
-#define IENCLR *(unsigned int*)(SYS_BASE + 0x0EC) \r
-#define EOI *(unsigned int*)(SYS_BASE + 0x0F0) \r
-#define FLTADDRR *(unsigned int*)(SYS_BASE + 0x0F4) \r
-#define FLTSTAT *(unsigned int*)(SYS_BASE + 0x0F8) \r
-#define MSTPRI0 *(unsigned int*)(SYS_BASE + 0x110) \r
-#define MSTPRI1 *(unsigned int*)(SYS_BASE + 0x114) \r
-#define MSTPRI2 *(unsigned int*)(SYS_BASE + 0x118) \r
-#define PINMUX0 *(unsigned int*)(SYS_BASE + 0x120) //PINMUX0\r
-#define PINMUX1 *(unsigned int*)(SYS_BASE + 0x124) //PINMUX1\r
-#define PINMUX2 *(unsigned int*)(SYS_BASE + 0x128) //PINMUX2\r
-#define PINMUX3 *(unsigned int*)(SYS_BASE + 0x12C) //PINMUX3\r
-#define PINMUX4 *(unsigned int*)(SYS_BASE + 0x130) //PINMUX4\r
-#define PINMUX5 *(unsigned int*)(SYS_BASE + 0x134) //PINMUX5\r
-#define PINMUX6 *(unsigned int*)(SYS_BASE + 0x138) //PINMUX6\r
-#define PINMUX7 *(unsigned int*)(SYS_BASE + 0x13C) //PINMUX7\r
-#define PINMUX8 *(unsigned int*)(SYS_BASE + 0x140) //PINMUX8\r
-#define PINMUX9 *(unsigned int*)(SYS_BASE + 0x144) //PINMUX9\r
-#define PINMUX10 *(unsigned int*)(SYS_BASE + 0x148) //PINMUX10\r
-#define PINMUX11 *(unsigned int*)(SYS_BASE + 0x14C) //PINMUX11\r
-#define PINMUX12 *(unsigned int*)(SYS_BASE + 0x150) //PINMUX12\r
-#define PINMUX13 *(unsigned int*)(SYS_BASE + 0x154) //PINMUX13\r
-#define PINMUX14 *(unsigned int*)(SYS_BASE + 0x158) //PINMUX14\r
-#define PINMUX15 *(unsigned int*)(SYS_BASE + 0x15C) //PINMUX15\r
-#define PINMUX16 *(unsigned int*)(SYS_BASE + 0x160) //PINMUX16\r
-#define PINMUX17 *(unsigned int*)(SYS_BASE + 0x164) //PINMUX17\r
-#define PINMUX18 *(unsigned int*)(SYS_BASE + 0x168) //PINMUX18\r
-#define PINMUX19 *(unsigned int*)(SYS_BASE + 0x16C) //PINMUX19\r
-#define SUSPSRC *(unsigned int*)(SYS_BASE + 0x170) \r
-#define CHIPSIG *(unsigned int*)(SYS_BASE + 0x174) \r
-#define CHIPSIG_CLR *(unsigned int*)(SYS_BASE + 0x178) \r
-#define CFGCHIP0 *(unsigned int*)(SYS_BASE + 0x17C) \r
-#define CFGCHIP1 *(unsigned int*)(SYS_BASE + 0x180) \r
-#define CFGCHIP2 *(unsigned int*)(SYS_BASE + 0x184) \r
-#define CFGCHIP3 *(unsigned int*)(SYS_BASE + 0x188) \r
-#define CFGCHIP4 *(unsigned int*)(SYS_BASE + 0x18C) \r
-\r
-#define PLL0_BASE 0x01C11000 /*SYSTEM PLL BASE ADDRESS*/\r
-\r
-#define PLL0_PID *(unsigned int*) (PLL0_BASE + 0x00) /*PID*/\r
-#define PLL0_FUSERR *(unsigned int*) (PLL0_BASE + 0xE0) /*x*FuseFarm Error Reg*/\r
-#define PLL0_RSTYPE *(unsigned int*) (PLL0_BASE + 0xE4) /*Reset Type status Reg*/\r
-#define PLL0_PLLCTL *(unsigned int*) (PLL0_BASE + 0x100) /*PLL Control Register*/\r
-#define PLL0_OCSEL *(unsigned int*) (PLL0_BASE + 0x104) /*OBSCLK Select Register*/\r
-#define PLL0_SECCTL *(unsigned int*) (PLL0_BASE + 0x108) /*PLL Secondary Control Register*/\r
-#define PLL0_PLLM *(unsigned int*) (PLL0_BASE + 0x110) /*PLL Multiplier*/ \r
-#define PLL0_PREDIV *(unsigned int*) (PLL0_BASE + 0x114) /*Pre divider*/ \r
-#define PLL0_PLLDIV1 *(unsigned int*) (PLL0_BASE + 0x118) /*Diveder-1*/ \r
-#define PLL0_PLLDIV2 *(unsigned int*) (PLL0_BASE + 0x11C) /*Diveder-2*/ \r
-#define PLL0_PLLDIV3 *(unsigned int*) (PLL0_BASE + 0x120) /*Diveder-3*/ \r
-#define PLL0_OSCDIV1 *(unsigned int*) (PLL0_BASE + 0x124) /*Oscilator Divider*/ \r
-#define PLL0_POSTDIV *(unsigned int*) (PLL0_BASE + 0x128) /*Post Divider*/ \r
-#define PLL0_BPDIV *(unsigned int*) (PLL0_BASE + 0x12C) /*Bypass Divider*/\r
-#define PLL0_WAKEUP *(unsigned int*) (PLL0_BASE + 0x130) /*Wakeup Reg*/\r
-#define PLL0_PLLCMD *(unsigned int*) (PLL0_BASE + 0x138) /*Command Reg*/\r
-#define PLL0_PLLSTAT *(unsigned int*) (PLL0_BASE + 0x13C) /*Status Reg*/\r
-#define PLL0_ALNCTL *(unsigned int*) (PLL0_BASE + 0x140) /*Clock Align Control Reg*/\r
-#define PLL0_DCHANGE *(unsigned int*) (PLL0_BASE + 0x144) /*PLLDIV Ratio Chnage status*/\r
-#define PLL0_CKEN *(unsigned int*) (PLL0_BASE + 0x148) /*Clock Enable Reg*/\r
-#define PLL0_CKSTAT *(unsigned int*) (PLL0_BASE + 0x14C) /*Clock Status Reg*/\r
-#define PLL0_SYSTAT *(unsigned int*) (PLL0_BASE + 0x150) /*Sysclk status reg*/\r
-#define PLL0_PLLDIV4 *(unsigned int*) (PLL0_BASE + 0x160) /*Divider 4*/\r
-#define PLL0_PLLDIV5 *(unsigned int*) (PLL0_BASE + 0x164) /*Divider 5*/\r
-#define PLL0_PLLDIV6 *(unsigned int*) (PLL0_BASE + 0x168) /*Divider 6*/\r
-#define PLL0_PLLDIV7 *(unsigned int*) (PLL0_BASE + 0x16C) /*Divider 7*/\r
-#define PLL0_PLLDIV8 *(unsigned int*) (PLL0_BASE + 0x170) /*Divider 8*/\r
-#define PLL0_PLLDIV9 *(unsigned int*) (PLL0_BASE + 0x174) /*Divider 9*/\r
-#define PLL0_PLLDIV10 *(unsigned int*) (PLL0_BASE + 0x178) /*Divider 10*/\r
-#define PLL0_PLLDIV11 *(unsigned int*) (PLL0_BASE + 0x17C) /*Divider 11*/\r
-#define PLL0_PLLDIV12 *(unsigned int*) (PLL0_BASE + 0x180) /*Divider 12*/\r
-#define PLL0_PLLDIV13 *(unsigned int*) (PLL0_BASE + 0x184) /*Divider 13*/\r
-#define PLL0_PLLDIV14 *(unsigned int*) (PLL0_BASE + 0x188) /*Divider 14*/\r
-#define PLL0_PLLDIV15 *(unsigned int*) (PLL0_BASE + 0x18C) /*Divider 15*/\r
-#define PLL0_PLLDIV16 *(unsigned int*) (PLL0_BASE + 0x190) /*Divider 16*/\r
-#define PLLEN_MUX_SWITCH 4 \r
-#define PLL_LOCK_TIME_CNT 2400\r
-\r
-\r
-/*PSC Module Related Registers*/ \r
-#define PSC0_BASE 0x01C10000\r
-#define PSC1_BASE 0x01E27000\r
-\r
-#define PSC0_MDCTL (PSC0_BASE+0xA00)\r
-#define PSC0_MDSTAT (PSC0_BASE+0x800)\r
-#define PSC0_PTCMD *(unsigned int*) (PSC0_BASE + 0x120)\r
-#define PSC0_PTSTAT *(unsigned int*) (PSC0_BASE + 0x128)\r
-\r
-#define PSC1_MDCTL (PSC1_BASE+0xA00)\r
-#define PSC1_MDSTAT (PSC1_BASE+0x800)\r
-#define PSC1_PTCMD *(unsigned int*) (PSC1_BASE + 0x120)\r
-#define PSC1_PTSTAT *(unsigned int*) (PSC1_BASE + 0x128)\r
-\r
-\r
-/*Enable Function for PSC0*/\r
-PSC0_lPSC_enable(unsigned int PD, unsigned int LPSC_num) {\r
-\r
- *(unsigned int*) (PSC0_MDCTL+4*LPSC_num) = (*(unsigned int*) (PSC0_MDCTL+4*LPSC_num) & 0xFFFFFFE0) | 0x0003;\r
- PSC0_PTCMD = 0x1<<PD;\r
- while( (PSC0_PTSTAT & (0x1<<PD) ) !=0) ; /*Wait for power state transition to finish*/\r
- while( (*(unsigned int*)(PSC0_MDSTAT+4 * LPSC_num) & 0x1F) !=0x3);\r
-}\r
-\r
-/*Enable Function for PSC1*/\r
-PSC1_lPSC_enable(unsigned int PD, unsigned int LPSC_num) {\r
-\r
- *(unsigned int*) (PSC1_MDCTL+4*LPSC_num) = (*(unsigned int*) (PSC1_MDCTL+4*LPSC_num) & 0xFFFFFFE0) | 0x0003;\r
- PSC1_PTCMD = 0x1<<PD;\r
- while( (PSC1_PTSTAT & (0x1<<PD) ) !=0) ; /*Wait for power state transition to finish*/\r
- while( (*(unsigned int*)(PSC1_MDSTAT+4 * LPSC_num) & 0x1F) !=0x3);\r
-}\r
-\r
-#define L1DCFG 0x01840040\r
-#define L1DWB 0x01845040\r
-\r
-Setup_Data_Cache ()\r
-{\r
- // Flush L1D\r
- *((unsigned int *) L1DWB) = 0x01;\r
- // Reconfigure L1D to default state (full cache)\r
- *((unsigned int *) L1DCFG) = 0x07;\r
-}\r
-\r
-hotmenu\r
-Setup_PLL()\r
-{\r
- int i = 0;\r
-\r
- /* Configure ARM, DSP at 300MHz, EMIFs at 133MHz */\r
- unsigned int DIV45_EN = 1;\r
- unsigned int CLKMODE = 0;\r
- unsigned int PLLM = 24;\r
- unsigned int POSTDIV = 1;\r
- unsigned int PLLDIV3 = 2;\r
- unsigned int PLLDIV5 = 5;\r
- unsigned int PLLDIV7 = 7;\r
-\r
- // Moved step 2c and 2d to step 0\r
- /*Set PLLEN=0 and PLLRST=0, Reset the PLL*/\r
- PLL0_PLLCTL &= 0xFFFFFFFE; /*PLL BYPASS MODE*/\r
- \r
- /*wait for 4 cycles to allow PLLEN mux switches properly to bypass clock*/\r
- for(i=0; i<PLLEN_MUX_SWITCH; i++) {;} /*Make PLLEN_MUX_SWITCH as bootpacket*/\r
-\r
- /*Select the Clock Mode bit 8 as External Clock or On Chip Oscilator*/\r
- PLL0_PLLCTL &= 0xFFFFFEFF; \r
- PLL0_PLLCTL |= (CLKMODE<<8); /* Make CLKSRC as BootPacket to pass the value*/\r
-\r
- /*Set PLLENSRC '0',bit 5, PLL Enable(PLLEN) selection is controlled through MMR*/\r
- PLL0_PLLCTL &= 0xFFFFFFDF; \r
- \r
- /*PLLCTL.EXTCLKSRC bit 9 should be left at 0 for Primus*/\r
- PLL0_PLLCTL &= 0xFFFFFDFF;\r
-\r
- /* Clear PLLRST bit to 0 -Reset the PLL */\r
- PLL0_PLLCTL &= 0xFFFFFFF7; \r
- \r
- /*Disable the PLL output*/ \r
- PLL0_PLLCTL |= 0x10; \r
- \r
- /*PLL initialization sequence*/\r
- \r
- /*Power up the PLL- PWRDN bit set to 0 to bring the PLL out of power down bit*/\r
- PLL0_PLLCTL &= 0xFFFFFFFD;\r
- \r
- /*Enable the PLL from Disable Mode PLLDIS bit to 0 - This is step is not required for Primus*/\r
- PLL0_PLLCTL &= 0xFFFFFFEF;\r
- \r
- /*PLL stabilisation time- take out this step , not required here when PLL in bypassmode*/\r
- /* for(i=0; i<PLL_STABILIZATION_TIME; i++) {;} /* Make PLL_STABILIZATION_TIME as bootpacket*/\r
- \r
- /*Program the required multiplier value in PLLM*/\r
- PLL0_PLLM = PLLM; /* Make PLLMULTIPLEIR as bootpacket*/\r
-\r
- /*If desired to scale all the SYSCLK frequencies of a given PLLC, program the POSTDIV ratio*/\r
- PLL0_POSTDIV = 0x8000 | POSTDIV; /* Make POSTDIV as bootpacket*/\r
-\r
- /*If Necessary program the PLLDIVx*/\r
- /*Check for the GOSTAT bit in PLLSTAT to clear to 0 to indicate that no GO operation is currently in progress*/\r
- while(PLL0_PLLSTAT & 0x1==1){}\r
-\r
- /*Program the RATIO field in PLLDIVx with the desired divide factors. In addition, make sure in this step you leave the PLLDIVx.DxEN bits set so clocks are still enabled (default).*/\r
- PLL0_PLLDIV3 = 0x8000 | PLLDIV3; /* Make PLLDIV3 as bootpacket, do it for other PLLDIVx to if required*/\r
- PLL0_PLLDIV5 = 0x8000 | PLLDIV5; /* Make PLLDIV5 as bootpacket, do it for other PLLDIVx to if required*/\r
- PLL0_PLLDIV7 = 0x8000 | PLLDIV7; /* Make PLLDIV7 as bootpacket, do it for other PLLDIVx to if required*/\r
-\r
- /*Set the GOSET bit in PLLCMD to 1 to initiate a new divider transition.*/\r
- PLL0_PLLCMD |= 0x1;\r
-\r
- /*Wait for the GOSTAT bit in PLLSTAT to clear to 0 (completion of phase alignment).*/\r
- while(PLL0_PLLSTAT & 0x1==1) { } \r
- \r
- \r
- /*Wait for PLL to reset properly. See PLL spec for PLL reset time - This step is not required here -step11*/\r
- /* for(i=0; i<PLL_RESET_TIME_CNT; i++) {;} /*128 MXI Cycles*/ /*Make PLL_RESET_TIME_CNT as boot packet*/\r
- \r
- /*Set the PLLRST bit in PLLCTL to 1 to bring the PLL out of reset*/\r
- PLL0_PLLCTL |= 0x8;\r
- \r
- /*Wait for PLL to lock. See PLL spec for PLL lock time*/\r
- for(i=0; i<PLL_LOCK_TIME_CNT; i++) {;} /*Make PLL_LOCK_TIME_CNT as boot Packet*/ \r
- \r
- /*Set the PLLEN bit in PLLCTL to 1 to remove the PLL from bypass mode*/\r
- PLL0_PLLCTL |= 0x1;\r
-\r
- KICK0R = 0x83e70b13; // Kick0 register + data (unlock)\r
- KICK1R = 0x95a4f1e0; // Kick1 register + data (unlock)\r
- CFGCHIP3 |= 0x4; // Enable 4.5 divider PLL\r
- CFGCHIP3 |= 0x1; // Select 4.5 divider for EMIFB clock source only (not EMIFA)\r
-\r
- GEL_TextOut( "PLL Setup Complete\n" );\r
-}\r
-\r
-\r
-\r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * setup_pll_0( ) *\r
- * *\r
- * clock_source <- 0: Onchip Oscillator *\r
- * 1: External Clock *\r
- * *\r
- * pll_mult <- 21: 22x Multiplier * 27MHz Clk = 594 MHz *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-setup_pll_0( int clock_source, int pll_mult )\r
-{\r
- unsigned int* pll_ctl = ( unsigned int* )( 0x01c11100 );\r
- unsigned int* pll_pllm = ( unsigned int* )( 0x01c11110 );\r
- unsigned int* pll_cmd = ( unsigned int* )( 0x01c11138 );\r
- unsigned int* pll_postdiv = ( unsigned int* )( 0x01c11128 );\r
- unsigned int* pll_bpdiv = ( unsigned int* )( 0x01c1112c );\r
- unsigned int* pll_div1 = ( unsigned int* )( 0x01c11118 );\r
- unsigned int* pll_div2 = ( unsigned int* )( 0x01c1111c );\r
- unsigned int* pll_div3 = ( unsigned int* )( 0x01c11120 );\r
- unsigned int* pll_div4 = ( unsigned int* )( 0x01c11160 );\r
- unsigned int* pll_div5 = ( unsigned int* )( 0x01c11164 );\r
- unsigned int* pll_div6 = ( unsigned int* )( 0x01c11168 );\r
- unsigned int* pll_div7 = ( unsigned int* )( 0x01c1116c );\r
- unsigned int* pll_div8 = ( unsigned int* )( 0x01c11170 );\r
- unsigned int* pll_div9 = ( unsigned int* )( 0x01c11174 );\r
-\r
- int pll0_freq = 24 * ( pll_mult + 1 );\r
-\r
- GEL_TextOut( "Setup PLL0 " );\r
-\r
- /*\r
- * Step 1 - Set clock mode\r
- */\r
- if ( clock_source == 0 )\r
- *pll_ctl &= ~0x0100; // Onchip Oscillator\r
- else\r
- *pll_ctl |= 0x0100; // External Clock\r
-\r
- /*\r
- * Step 2 - Set PLL to bypass\r
- * - Wait for PLL to stabilize\r
- */\r
- *pll_ctl &= ~0x0020;\r
- *pll_ctl &= ~0x0001;\r
- _wait( 150 );\r
-\r
- /*\r
- * Step 3 - Reset PLL\r
- */\r
- *pll_ctl |= 0x0008;\r
-\r
- /*\r
- * Step 4 - Disable PLL\r
- * Step 5 - Powerup PLL\r
- * Step 6 - Enable PLL\r
- * Step 7 - Wait for PLL to stabilize\r
- */\r
- *pll_ctl |= 0x0010; // Disable PLL\r
- *pll_ctl &= ~0x0002; // Power up PLL\r
- *pll_ctl &= ~0x0010; // Enable PLL\r
- _wait( 150 ); // Wait for PLL to stabilize\r
-\r
- /*\r
- * Step 8 - Load PLL multiplier\r
- */\r
- *pll_pllm = pll_mult & 0x3f;\r
-\r
- /*\r
- * Step 9 - Set PLL post dividers\r
- */\r
-\r
- *pll_postdiv= 0x8000 | 1; // Post divider \r
- *pll_div5 = 0x8001;\r
- *pll_cmd |= 0x0001; // GO\r
- _wait( 2000 );\r
-\r
- /*\r
- * Step 10 - Wait for PLL to reset ( 2000 cycles )\r
- * Step 11 - Release from reset\r
- */\r
- _wait( 2000 );\r
- *pll_ctl &= ~0x0008;\r
-\r
- /*\r
- * Step 12 - Wait for PLL to re-lock ( 2000 cycles )\r
- * Step 13 - Switch out of BYPASS mode\r
- */\r
- _wait( 2000 );\r
- *pll_ctl |= 0x0001;\r
-\r
- // Enable 4.5X divider\r
- KICK0R = 0x83e70b13; // Kick0 register + data (unlock)\r
- KICK1R = 0x95a4f1e0; // Kick1 register + data (unlock)\r
- CFGCHIP3 |= 0x4; // Enable 4.5 divider PLL\r
-// CFGCHIP3 |= 0x3; // Select 4.5 divider for EMIFA / EMIFB clock source\r
-\r
- pll0_freq = 24 * ( ( *pll_pllm & 0x3f ) + 1 ) / 2;\r
-\r
- GEL_TextOut( "(DSP = %d MHz + ",,,,, pll0_freq );\r
- GEL_TextOut( "ARM = %d MHz + ",,,,, pll0_freq );\r
-\r
- if ( clock_source == 0 )\r
- GEL_TextOut( "Onchip Oscillator)... " );\r
- else\r
- GEL_TextOut( "External Clock)... " );\r
-\r
- GEL_TextOut( "[Done]\n" );\r
-}\r
-\r
-\r
-\r
-\r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * Disable_IRQ_Flush_Cache( ) *\r
- * Flush Cache & Disable Interrupts *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-Disable_IRQ_Flush_Cache( )\r
-{\r
-\r
-}\r
-\r
-\r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * Disable_EDMA( ) *\r
- * Disabe EDMA events and interrupts, clear any pending events *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-Disable_EDMA( )\r
-{\r
- #define EDMA_3CC_IECRH *( unsigned int* )( 0x01c0105c )\r
- #define EDMA_3CC_EECRH *( unsigned int* )( 0x01c0102c )\r
- #define EDMA_3CC_ICRH *( unsigned int* )( 0x01c01074 )\r
- #define EDMA_3CC_ECRH *( unsigned int* )( 0x01c0100c )\r
-\r
- #define EDMA_3CC_IECR *( unsigned int* )( 0x01c01058 )\r
- #define EDMA_3CC_EECR *( unsigned int* )( 0x01c01028 )\r
- #define EDMA_3CC_ICR *( unsigned int* )( 0x01c01070 )\r
- #define EDMA_3CC_ECR *( unsigned int* )( 0x01c01008 )\r
-\r
- GEL_TextOut( "Disable EDMA events\n" );\r
-\r
- EDMA_3CC_IECRH = 0xffffffff; // IERH - Disable high interrupts\r
- EDMA_3CC_EECRH = 0xffffffff; // EERH - Disable high events\r
- EDMA_3CC_ICRH = 0xffffffff; // ICRH - Clear high interrupts\r
- EDMA_3CC_ECRH = 0xffffffff; // ICRH - Clear high events\r
-\r
- EDMA_3CC_IECR = 0xffffffff; // IER - Disable low interrupts\r
- EDMA_3CC_EECR = 0xffffffff; // EER - Disable low events\r
- EDMA_3CC_ICR = 0xffffffff; // ICR - Clear low interrupts\r
- EDMA_3CC_ECR = 0xffffffff; // ICRH - Clear low events\r
-}\r
-\r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * Enable_Instruction_Cache( ) *\r
- * Enable I-Cache *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-hotmenu Enable_Instruction_Cache( )\r
-{\r
- GEL_TextOut( "\Enable Instruction Cache.\n\n" );\r
-\r
- CPSR = 0x400000d3; // Set to supervisor mode, disable IRQ/FIQ\r
- REG_CP15_I_CACHE = 1; // Enable Instruction Cache\r
-} \r
-\r
-\r
-\r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * Setup_System_Config( ) *\r
- * Configure PINMUX and other system module registers *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-hotmenu\r
-Setup_System_Config( )\r
-{\r
-\r
- GEL_TextOut( "Setup PINMUX Registers... " );\r
- KICK0R = 0x83e70b13; // Kick0 register + data (unlock)\r
- KICK1R = 0x95a4f1e0; // Kick1 register + data (unlock)\r
-\r
- PINMUX0 = 0x11112188; // EMIFB, Check EMU0/RTCK\r
- PINMUX1 = 0x11111111; // EMIFB\r
- PINMUX2 = 0x11111111; // EMIFB\r
- PINMUX3 = 0x11111111; // EMIFB\r
- PINMUX4 = 0x11111111; // EMIFB\r
- PINMUX5 = 0x11111111; // EMIFB\r
- PINMUX6 = 0x11111111; // EMIFB\r
- PINMUX7 = 0x11111111; // EMIFB, SPI0\r
- PINMUX8 = 0x21122111; // UART2, McASP1, I2C0, I2C1\r
- PINMUX9 = 0x11011112; // RMII CLK, McASP0, USB_DRVVBUS, UART2\r
- PINMUX10 = 0x22222221; // RMII/ McASP0\r
- PINMUX11 = 0x11142222; // McASP1, AXR2[0] (DIT), UART1, McASP0, MDIO (last 2 digits 0x22 for MDIO instead of GPIO)\r
- PINMUX12 = 0x11111111; // McASP0 / McASP1\r
- PINMUX13 = 0x22111111; // SD / McASP1\r
- PINMUX14 = 0x88222222; // SD / EMIFA\r
- PINMUX15 = 0x21888888; // SD / EMIFA\r
- PINMUX16 = 0x11111112; // SD / EMIFA\r
- PINMUX17 = 0x00100111; // EMIFA\r
- PINMUX18 = 0x11111111; // EMIFA\r
- PINMUX19 = 0x00000001; // EMIFA\r
-\r
- CFGCHIP2 |= 0x00001000; // Enable USB1 clock\r
-\r
- GEL_TextOut( "[Done]\n" );\r
-}\r
-\r
-hotmenu\r
-Setup_EMIFA_PinMux()\r
-{\r
- PINMUX13 &= 0x00FFFFFF;\r
- PINMUX13 |= 0x11000000;\r
- PINMUX14 = 0x11111111;\r
- PINMUX15 = 0x11111111;\r
- PINMUX16 = 0x11111111;\r
- PINMUX17 = 0x11111111;\r
- PINMUX18 = 0x11111111;\r
- PINMUX19 &= 0xFFFFFFF0;\r
- PINMUX19 |= 0x00000001;\r
-\r
- GEL_TextOut( "[Done]\n" );\r
-}\r
-\r
-/*Enable Function for PSC0*/\r
-PSC0_lPSC_enableARM(unsigned int PD, unsigned int LPSC_num) {\r
-\r
- *(unsigned int*) (PSC0_MDCTL+4*LPSC_num) = (*(unsigned int*) (PSC0_MDCTL+4*LPSC_num) & 0xFFFFFEE0) | 0x0103;\r
-\r
- PSC0_PTCMD = 0x1<<PD;\r
- while( (PSC0_PTSTAT & (0x1<<PD) ) !=0) ; /*Wait for power state transition to finish*/\r
- while( (*(unsigned int*)(PSC0_MDSTAT+4 * LPSC_num) & 0x1F) !=0x3);\r
-}\r
-\r
-hotmenu Enable_ARM()\r
-{\r
- /* Turn on ARM RAM */\r
- PSC0_lPSC_enable(0, 7);\r
-\r
- /* Put branch to self at ARM vector table before releasing PSC */\r
- *( unsigned int* )( 0xFFFF0000 ) = 0xEAFFFFFE;\r
- *( unsigned int* )( 0xFFFF0004 ) = 0xEAFFFFFE;\r
- *( unsigned int* )( 0xFFFF0008 ) = 0xEAFFFFFE;\r
- *( unsigned int* )( 0xFFFF000C ) = 0xEAFFFFFE;\r
-\r
- HOST0CFG = 0x00000001; \r
-\r
- /* Turn on ARM */\r
- PSC0_lPSC_enableARM(0, 14);\r
-\r
- GEL_TextOut(" ARM Enabled\n");\r
-}\r
-\r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * Setup_Psc_All_On( ) *\r
- * Enable all PSC modules on ALWAYSON and DSP power dominas. *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-hotmenu\r
-Setup_Psc_All_On( )\r
-{\r
- int i;\r
- GEL_TextOut( "Setup Power Modules (All on)... " );\r
-\r
- // PSC0\r
- PSC0_lPSC_enable(0, 0);\r
- PSC0_lPSC_enable(0, 1);\r
- PSC0_lPSC_enable(0, 2);\r
- PSC0_lPSC_enable(0, 3); // EMIFA\r
- PSC0_lPSC_enable(0, 4);\r
- PSC0_lPSC_enable(0, 5);\r
- PSC0_lPSC_enable(0, 6);\r
- PSC0_lPSC_enable(0, 8);\r
- PSC0_lPSC_enable(0, 9);\r
- PSC0_lPSC_enable(0, 10);\r
- PSC0_lPSC_enable(0, 11);\r
- PSC0_lPSC_enable(0, 12);\r
- PSC0_lPSC_enable(0, 13);\r
-\r
- // PSC1\r
- PSC1_lPSC_enable(0, 1);\r
- PSC1_lPSC_enable(0, 2);\r
- PSC1_lPSC_enable(0, 3);\r
- PSC1_lPSC_enable(0, 4);\r
- PSC1_lPSC_enable(0, 5);\r
- PSC1_lPSC_enable(0, 6); // EMIFB\r
- PSC1_lPSC_enable(0, 7);\r
- PSC1_lPSC_enable(0, 8);\r
- PSC1_lPSC_enable(0, 9);\r
- PSC1_lPSC_enable(0, 10);\r
- PSC1_lPSC_enable(0, 11);\r
- PSC1_lPSC_enable(0, 12);\r
- PSC1_lPSC_enable(0, 13);\r
- PSC1_lPSC_enable(0, 16);\r
- PSC1_lPSC_enable(0, 17);\r
- PSC1_lPSC_enable(0, 20);\r
- PSC1_lPSC_enable(0, 21);\r
- PSC1_lPSC_enable(0, 24);\r
- PSC1_lPSC_enable(0, 25);\r
- PSC1_lPSC_enable(0, 26);\r
- PSC1_lPSC_enable(0, 31);\r
-\r
- GEL_TextOut( "[Done]\n" );\r
-}\r
-\r
-\r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * Setup_EMIFA( ) *\r
- * Setup Async-EMIF to the specified timings using either NAND Hw *\r
- * controller or normal EMIF controller *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-#define AEMIF_AWCCR *( unsigned int* )( 0x68000004 )\r
-#define AEMIF_A1CR *( unsigned int* )( 0x68000010 )\r
-#define AEMIF_A2CR *( unsigned int* )( 0x68000014 )\r
-#define AEMIF_A3CR *( unsigned int* )( 0x68000018 )\r
-#define AEMIF_A4CR *( unsigned int* )( 0x6800001C )\r
-#define AEMIF_NANDFCR *( unsigned int* )( 0x68000060 )\r
-\r
-Setup_EMIFA( )\r
-{\r
- /* Use extended wait cycles to keep CE low during NAND access */\r
- AEMIF_AWCCR = 0xff;\r
-\r
- /* Setup CS2 - 8-bit normal async */\r
- AEMIF_A1CR = 0x00300608;\r
- AEMIF_NANDFCR &= ~1;\r
-\r
- /* Setup CS3 - 8-bit NAND */\r
- AEMIF_A2CR = 0x00300388;\r
- AEMIF_NANDFCR |= 2;\r
-\r
- /* Setup CS4 - 8-bit normal async */\r
- AEMIF_A3CR = 0x00a00504; // Setup=0, Strobe=A, Hold=0, TA=1, 8-bit\r
- AEMIF_NANDFCR &= ~4;\r
-\r
- /* Setup CS5 - 8-bit normal async */\r
- AEMIF_A4CR = 0x00a00504; // Setup=0, Strobe=A, Hold=0, TA=1, 8-bit\r
- AEMIF_NANDFCR &= ~8;\r
-}\r
-\r
-\r
-/* ------------------------------------------------------------------------ *\r
- * *\r
- * Setup_EMIFB( ) *\r
- * Configure SDRAM. *\r
- * *\r
- * ------------------------------------------------------------------------ */\r
-#define EMIFB_BASE 0xB0000000\r
-#define EMIFB_SDSTAT *(unsigned int*)(EMIFB_BASE + 0x04) //SDRAM Status Register \r
-#define EMIFB_SDCFG *(unsigned int*)(EMIFB_BASE + 0x08) //SDRAM Bank Config Register\r
-#define EMIFB_SDREF *(unsigned int*)(EMIFB_BASE + 0x0C) //SDRAM Refresh Control Register\r
-#define EMIFB_SDTIM1 *(unsigned int*)(EMIFB_BASE + 0x10) //SDRAM Timing Register\r
-#define EMIFB_SDTIM2 *(unsigned int*)(EMIFB_BASE + 0x14) //SDRAM Timing Register\r
-\r
-\r
-\r
-Setup_EMIFB()\r
-{\r
- // ISSI IS42S16160B-6BL SDRAM, 2 x 16M x 16 (32-bit data path), 133MHz\r
- EMIFB_SDCFG = 0 // SDRAM Bank Config Register\r
- |( 1 << 15) // Unlock timing registers\r
- |( 2 << 9 ) // CAS latency is 2\r
- |( 2 << 4 ) // 4 bank SDRAM devices\r
- |( 1 << 0 ); // 512-word pages requiring 9 column address bits\r
-\r
- EMIFB_SDREF = 0 // SDRAM Refresh Control Register\r
- |( 0 << 31) // Low power mode disabled\r
- |( 0 << 30) // MCLK stoping disabled\r
- |( 0 << 23) // Selects self refresh instead of power down\r
- |( 1040 <<0); // Refresh rate = 7812.5ns / 7.5ns\r
-\r
- EMIFB_SDTIM1 = 0 // SDRAM Timing Register 1\r
- |( 8 << 25) // (67.5ns / 7.55ns) - 1 = TRFC @ 133MHz\r
- |( 2 << 22 ) // (20ns / 7.5ns) - 1 =TRP\r
- |( 2 << 19 ) // (20ns / 7.5ns) - 1 = TRCD\r
- |( 1 << 16 ) // (14ns / 7.5ns) - 1 = TWR\r
- |( 5 << 11 ) // (45ns / 7.5ns) - 1 = TRAS\r
- |( 8 << 6 ) // (67.5ns / 7.5ns) - 1 = TRC\r
- |( 2 << 3 ); // *(((4 * 14ns) + (2 * 7.5ns)) / (4 * 7.5ns)) -1. = TRRD\r
- // but it says to use this formula if 8 banks but only 4 are used here.\r
- // and SDCFG1 register only suports upto 4 banks.\r
-\r
- EMIFB_SDTIM2 = 0 // SDRAM Timing Register 2\r
- |( 14<< 27) // not sure how they got this number. the datasheet says value should be\r
- // "Maximum number of refresh_rate intervals from Activate to Precharge command"\r
- // but has no equation. TRASMAX is 120k.\r
- |( 9 << 16) // ( 70 / 7.5) - 1\r
- |( 5 << 0 ); // ( 45 / 7.5 ) - 1\r
-\r
- EMIFB_SDCFG = 0 // SDRAM Bank Config Register\r
- |( 1 << 16)\r
- |( 0 << 15) // Unlock timing registers\r
- |( 2 << 9 ) // CAS latency is 2\r
- |( 2 << 4 ) // 4 bank SDRAM devices\r
- |( 1 << 0 ); // 512-word pages requiring 9 column address bits\r
-\r
- /*Program the EMIF3C_SDRAM Controller*/\r
-// EMIF3C_SDCFG = 0x00008421;\r
-// EMIF3C_SDTIM1 = 0x10912A10; \r
-// EMIF3C_SDTIM2 = 0x70090005;\r
-// EMIF3C_SDREF = 0x410;\r
-}\r
-\r
-/* GEL file to load microphone files */\r
-\r
-#define MIC1PATH "$(GEL_file_dir)/t8/y16L8g3m7090_1.pcm"\r
-#define MIC2PATH "$(GEL_file_dir)/t8/y16L8g3m7090_2.pcm"\r
-#define MIC3PATH "$(GEL_file_dir)/t8/y16L8g3m7090_3.pcm"\r
-#define MIC4PATH "$(GEL_file_dir)/t8/y16L8g3m7090_4.pcm"\r
-#define MIC5PATH "$(GEL_file_dir)/t8/y16L8g3m7090_5.pcm"\r
-#define MIC6PATH "$(GEL_file_dir)/t8/y16L8g3m7090_6.pcm"\r
-#define MIC7PATH "$(GEL_file_dir)/t8/y16L8g3m7090_7.pcm"\r
-#define MIC8PATH "$(GEL_file_dir)/t8/y16L8g3m7090_8.pcm"\r
-\r
-#define OUTPUTPATH "$(GEL_file_dir)/t8/fileOutput.bin"\r
-\r
-BFLoadMic(buffer,micpath)\r
-{\r
- GEL_MemoryLoad(buffer,0,160,micpath,32);\r
-}\r
-\r
-BFSaveMic(buffer,num, micpath)\r
-{\r
- GEL_MemorySave(buffer,0,num,micpath,8,0,32);\r
-}\r
-\r
-menuitem "Microphone Load Functions";\r
-\r
-dialog BFLoadOneMic(buffer "Buffer Address",micpath "Microphone File Path")\r
-{\r
- GEL_TextOut("Loading %s\n","",,,,micpath);\r
- BFLoadMic(buffer,micpath);\r
-}\r
-\r
-hotmenu BFLoadMic1()\r
-{\r
- GEL_TextOut("Loading %s\n","",,,,MIC1PATH);\r
- BFLoadMic(filBuf0,MIC1PATH);\r
-}\r
-\r
-hotmenu BFLoadMic2()\r
-{\r
- GEL_TextOut("Loading %s\n","",,,,MIC2PATH);\r
- BFLoadMic(filBuf1,MIC2PATH);\r
-}\r
-\r
-hotmenu BFLoadMic3()\r
-{\r
- GEL_TextOut("Loading %s\n","",,,,MIC3PATH);\r
- BFLoadMic(filBuf2,MIC3PATH);\r
-}\r
-\r
-hotmenu BFLoadMic4()\r
-{\r
- GEL_TextOut("Loading %s\n","",,,,MIC4PATH);\r
- BFLoadMic(filBuf3,MIC4PATH);\r
-}\r
-\r
-hotmenu BFLoadMic5()\r
-{\r
- GEL_TextOut("Loading %s\n","",,,,MIC5PATH);\r
- BFLoadMic(filBuf4,MIC5PATH);\r
-}\r
-\r
-hotmenu BFLoadMic6()\r
-{\r
- GEL_TextOut("Loading %s\n","",,,,MIC6PATH);\r
- BFLoadMic(filBuf5,MIC6PATH);\r
-}\r
-\r
-hotmenu BFLoadMic7()\r
-{\r
- GEL_TextOut("Loading %s\n","",,,,MIC7PATH);\r
- BFLoadMic(filBuf6,MIC7PATH);\r
-}\r
-\r
-hotmenu BFLoadMic8()\r
-{\r
- GEL_TextOut("Loading %s\n","",,,,MIC8PATH);\r
- BFLoadMic(filBuf7,MIC8PATH);\r
-}\r
-\r
-hotmenu BFLoadMicAll()\r
-{\r
- BFLoadMic1();\r
- BFLoadMic2();\r
- BFLoadMic3();\r
- BFLoadMic4();\r
- BFLoadMic5();\r
- BFLoadMic6();\r
- BFLoadMic7();\r
- BFLoadMic8();\r
- GEL_TextOut("Done Loading Microphones\n");\r
-}\r
-\r
-menuitem "Microphone Save Functions";\r
-\r
-hotmenu BFSaveOutput()\r
-{\r
- GEL_TextOut("Saving %s\n","",,,,OUTPUTPATH);\r
- BFSaveMic(filOutBuf0,filConfig.outlen/2,OUTPUTPATH);\r
-}\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3m120.log b/file_demo_bios/da830/filters/fir16L8g3m120.log
+++ /dev/null
@@ -1,8 +0,0 @@
- 0 0 6 -32 82 -162 280 -451 700 -1087 1788 -3605 31832 4748 -2086 1228 -784 507 -319 189 -100 42 -11\r
- 0 0 8 -50 134 -273 479 -776 1208 -1872 3041 -5866 29149 10250 -4136 2388 -1517 981 -621 371 -199 88 -25\r
- 0 0 -35 116 -255 470 -782 1231 -1902 3007 -5285 14027 26596 -6613 3513 -2178 1407 -902 554 -312 152 -54 8\r
- 0 -34 113 -250 461 -767 1209 -1868 2952 -5179 13643 26879 -6563 3478 -2155 1392 -893 548 -310 150 -54 8 0\r
- -11 42 -100 189 -319 507 -784 1228 -2086 4748 31832 -3605 1788 -1087 700 -451 280 -162 82 -32 6 0 0\r
- -25 88 -199 371 -621 981 -1517 2388 -4136 10250 29149 -5866 3041 -1872 1208 -776 479 -273 134 -50 8 0 0\r
- 8 -54 152 -312 554 -902 1407 -2178 3513 -6613 26596 14027 -5285 3007 -1902 1231 -782 470 -255 116 -35 0 0\r
- 0 8 -54 150 -310 548 -893 1392 -2155 3478 -6563 26879 13643 -5179 2952 -1868 1209 -767 461 -250 113 -34 0\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3m135.log b/file_demo_bios/da830/filters/fir16L8g3m135.log
+++ /dev/null
@@ -1,8 +0,0 @@
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 8 -53 145 -297 524 -851 1326 -2054 3324 -6328 27878 12228 -4766 2732 -1731 1120 -710 426 -230 103 -30\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- -30 103 -230 426 -710 1120 -1731 2732 -4766 12228 27878 -6328 3324 -2054 1326 -851 524 -297 145 -53 8 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3m150.log b/file_demo_bios/da830/filters/fir16L8g3m150.log
+++ /dev/null
@@ -1,8 +0,0 @@
- 0 0 -35 116 -255 470 -782 1231 -1902 3007 -5285 14027 26596 -6613 3513 -2178 1407 -902 554 -312 152 -54 8\r
- 0 0 8 -50 134 -273 479 -776 1208 -1872 3041 -5866 29149 10250 -4136 2388 -1517 981 -621 371 -199 88 -25\r
- 0 0 6 -32 82 -162 280 -451 700 -1087 1788 -3605 31832 4748 -2086 1228 -784 507 -319 189 -100 42 -11\r
- 0 8 -54 150 -310 548 -893 1392 -2155 3478 -6563 26879 13643 -5179 2952 -1868 1209 -767 461 -250 113 -34 0\r
- 8 -54 152 -312 554 -902 1407 -2178 3513 -6613 26596 14027 -5285 3007 -1902 1231 -782 470 -255 116 -35 0 0\r
- -25 88 -199 371 -621 981 -1517 2388 -4136 10250 29149 -5866 3041 -1872 1208 -776 479 -273 134 -50 8 0 0\r
- -11 42 -100 189 -319 507 -784 1228 -2086 4748 31832 -3605 1788 -1087 700 -451 280 -162 82 -32 6 0 0\r
- 0 -34 113 -250 461 -767 1209 -1868 2952 -5179 13643 26879 -6563 3478 -2155 1392 -893 548 -310 150 -54 8 0\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3m30.log b/file_demo_bios/da830/filters/fir16L8g3m30.log
+++ /dev/null
@@ -1,8 +0,0 @@
- 0 0 -35 116 -255 470 -782 1231 -1902 3007 -5285 14027 26596 -6613 3513 -2178 1407 -902 554 -312 152 -54 8\r
- 0 -34 113 -250 461 -767 1209 -1868 2952 -5179 13643 26879 -6563 3478 -2155 1392 -893 548 -310 150 -54 8 0\r
- -11 42 -100 189 -319 507 -784 1228 -2086 4748 31832 -3605 1788 -1087 700 -451 280 -162 82 -32 6 0 0\r
- -25 88 -199 371 -621 981 -1517 2388 -4136 10250 29149 -5866 3041 -1872 1208 -776 479 -273 134 -50 8 0 0\r
- 8 -54 152 -312 554 -902 1407 -2178 3513 -6613 26596 14027 -5285 3007 -1902 1231 -782 470 -255 116 -35 0 0\r
- 0 8 -54 150 -310 548 -893 1392 -2155 3478 -6563 26879 13643 -5179 2952 -1868 1209 -767 461 -250 113 -34 0\r
- 0 0 6 -32 82 -162 280 -451 700 -1087 1788 -3605 31832 4748 -2086 1228 -784 507 -319 189 -100 42 -11\r
- 0 0 8 -50 134 -273 479 -776 1208 -1872 3041 -5866 29149 10250 -4136 2388 -1517 981 -621 371 -199 88 -25\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3m45.log b/file_demo_bios/da830/filters/fir16L8g3m45.log
+++ /dev/null
@@ -1,8 +0,0 @@
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- -30 103 -230 426 -710 1120 -1731 2732 -4766 12228 27878 -6328 3324 -2054 1326 -851 524 -297 145 -53 8 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 8 -53 145 -297 524 -851 1326 -2054 3324 -6328 27878 12228 -4766 2732 -1731 1120 -710 426 -230 103 -30\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3m60.log b/file_demo_bios/da830/filters/fir16L8g3m60.log
+++ /dev/null
@@ -1,8 +0,0 @@
- 0 0 6 -32 82 -162 280 -451 700 -1087 1788 -3605 31832 4748 -2086 1228 -784 507 -319 189 -100 42 -11\r
- 0 8 -54 150 -310 548 -893 1392 -2155 3478 -6563 26879 13643 -5179 2952 -1868 1209 -767 461 -250 113 -34 0\r
- 8 -54 152 -312 554 -902 1407 -2178 3513 -6613 26596 14027 -5285 3007 -1902 1231 -782 470 -255 116 -35 0 0\r
- -25 88 -199 371 -621 981 -1517 2388 -4136 10250 29149 -5866 3041 -1872 1208 -776 479 -273 134 -50 8 0 0\r
- -11 42 -100 189 -319 507 -784 1228 -2086 4748 31832 -3605 1788 -1087 700 -451 280 -162 82 -32 6 0 0\r
- 0 -34 113 -250 461 -767 1209 -1868 2952 -5179 13643 26879 -6563 3478 -2155 1392 -893 548 -310 150 -54 8 0\r
- 0 0 -35 116 -255 470 -782 1231 -1902 3007 -5285 14027 26596 -6613 3513 -2178 1407 -902 554 -312 152 -54 8\r
- 0 0 8 -50 134 -273 479 -776 1208 -1872 3041 -5866 29149 10250 -4136 2388 -1517 981 -621 371 -199 88 -25\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3m90.log b/file_demo_bios/da830/filters/fir16L8g3m90.log
+++ /dev/null
@@ -1,8 +0,0 @@
- 0 0 8 -53 145 -297 524 -851 1326 -2054 3324 -6328 27878 12228 -4766 2732 -1731 1120 -710 426 -230 103 -30\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- -30 103 -230 426 -710 1120 -1731 2732 -4766 12228 27878 -6328 3324 -2054 1326 -851 524 -297 145 -53 8 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3p0.log b/file_demo_bios/da830/filters/fir16L8g3p0.log
+++ /dev/null
@@ -1,8 +0,0 @@
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- -30 103 -230 426 -710 1120 -1731 2732 -4766 12228 27878 -6328 3324 -2054 1326 -851 524 -297 145 -53 8 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 8 -53 145 -297 524 -851 1326 -2054 3324 -6328 27878 12228 -4766 2732 -1731 1120 -710 426 -230 103 -30\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3p120.log b/file_demo_bios/da830/filters/fir16L8g3p120.log
+++ /dev/null
@@ -1,8 +0,0 @@
- -11 42 -100 189 -319 507 -784 1228 -2086 4748 31832 -3605 1788 -1087 700 -451 280 -162 82 -32 6 0 0\r
- 0 -34 113 -250 461 -767 1209 -1868 2952 -5179 13643 26879 -6563 3478 -2155 1392 -893 548 -310 150 -54 8 0\r
- 0 0 -35 116 -255 470 -782 1231 -1902 3007 -5285 14027 26596 -6613 3513 -2178 1407 -902 554 -312 152 -54 8\r
- 0 0 8 -50 134 -273 479 -776 1208 -1872 3041 -5866 29149 10250 -4136 2388 -1517 981 -621 371 -199 88 -25\r
- 0 0 6 -32 82 -162 280 -451 700 -1087 1788 -3605 31832 4748 -2086 1228 -784 507 -319 189 -100 42 -11\r
- 0 8 -54 150 -310 548 -893 1392 -2155 3478 -6563 26879 13643 -5179 2952 -1868 1209 -767 461 -250 113 -34 0\r
- 8 -54 152 -312 554 -902 1407 -2178 3513 -6613 26596 14027 -5285 3007 -1902 1231 -782 470 -255 116 -35 0 0\r
- -25 88 -199 371 -621 981 -1517 2388 -4136 10250 29149 -5866 3041 -1872 1208 -776 479 -273 134 -50 8 0 0\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3p135.log b/file_demo_bios/da830/filters/fir16L8g3p135.log
+++ /dev/null
@@ -1,8 +0,0 @@
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 8 -53 145 -297 524 -851 1326 -2054 3324 -6328 27878 12228 -4766 2732 -1731 1120 -710 426 -230 103 -30\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- -30 103 -230 426 -710 1120 -1731 2732 -4766 12228 27878 -6328 3324 -2054 1326 -851 524 -297 145 -53 8 0 0\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3p150.log b/file_demo_bios/da830/filters/fir16L8g3p150.log
+++ /dev/null
@@ -1,8 +0,0 @@
- 8 -54 152 -312 554 -902 1407 -2178 3513 -6613 26596 14027 -5285 3007 -1902 1231 -782 470 -255 116 -35 0 0\r
- 0 8 -54 150 -310 548 -893 1392 -2155 3478 -6563 26879 13643 -5179 2952 -1868 1209 -767 461 -250 113 -34 0\r
- 0 0 6 -32 82 -162 280 -451 700 -1087 1788 -3605 31832 4748 -2086 1228 -784 507 -319 189 -100 42 -11\r
- 0 0 8 -50 134 -273 479 -776 1208 -1872 3041 -5866 29149 10250 -4136 2388 -1517 981 -621 371 -199 88 -25\r
- 0 0 -35 116 -255 470 -782 1231 -1902 3007 -5285 14027 26596 -6613 3513 -2178 1407 -902 554 -312 152 -54 8\r
- 0 -34 113 -250 461 -767 1209 -1868 2952 -5179 13643 26879 -6563 3478 -2155 1392 -893 548 -310 150 -54 8 0\r
- -11 42 -100 189 -319 507 -784 1228 -2086 4748 31832 -3605 1788 -1087 700 -451 280 -162 82 -32 6 0 0\r
- -25 88 -199 371 -621 981 -1517 2388 -4136 10250 29149 -5866 3041 -1872 1208 -776 479 -273 134 -50 8 0 0\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3p180.log b/file_demo_bios/da830/filters/fir16L8g3p180.log
+++ /dev/null
@@ -1,8 +0,0 @@
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 8 -53 145 -297 524 -851 1326 -2054 3324 -6328 27878 12228 -4766 2732 -1731 1120 -710 426 -230 103 -30\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- -30 103 -230 426 -710 1120 -1731 2732 -4766 12228 27878 -6328 3324 -2054 1326 -851 524 -297 145 -53 8 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3p30.log b/file_demo_bios/da830/filters/fir16L8g3p30.log
+++ /dev/null
@@ -1,8 +0,0 @@
- 8 -54 152 -312 554 -902 1407 -2178 3513 -6613 26596 14027 -5285 3007 -1902 1231 -782 470 -255 116 -35 0 0\r
- -25 88 -199 371 -621 981 -1517 2388 -4136 10250 29149 -5866 3041 -1872 1208 -776 479 -273 134 -50 8 0 0\r
- -11 42 -100 189 -319 507 -784 1228 -2086 4748 31832 -3605 1788 -1087 700 -451 280 -162 82 -32 6 0 0\r
- 0 -34 113 -250 461 -767 1209 -1868 2952 -5179 13643 26879 -6563 3478 -2155 1392 -893 548 -310 150 -54 8 0\r
- 0 0 -35 116 -255 470 -782 1231 -1902 3007 -5285 14027 26596 -6613 3513 -2178 1407 -902 554 -312 152 -54 8\r
- 0 0 8 -50 134 -273 479 -776 1208 -1872 3041 -5866 29149 10250 -4136 2388 -1517 981 -621 371 -199 88 -25\r
- 0 0 6 -32 82 -162 280 -451 700 -1087 1788 -3605 31832 4748 -2086 1228 -784 507 -319 189 -100 42 -11\r
- 0 8 -54 150 -310 548 -893 1392 -2155 3478 -6563 26879 13643 -5179 2952 -1868 1209 -767 461 -250 113 -34 0\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3p45.log b/file_demo_bios/da830/filters/fir16L8g3p45.log
+++ /dev/null
@@ -1,8 +0,0 @@
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- -30 103 -230 426 -710 1120 -1731 2732 -4766 12228 27878 -6328 3324 -2054 1326 -851 524 -297 145 -53 8 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 8 -53 145 -297 524 -851 1326 -2054 3324 -6328 27878 12228 -4766 2732 -1731 1120 -710 426 -230 103 -30\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3p60.log b/file_demo_bios/da830/filters/fir16L8g3p60.log
+++ /dev/null
@@ -1,8 +0,0 @@
- -11 42 -100 189 -319 507 -784 1228 -2086 4748 31832 -3605 1788 -1087 700 -451 280 -162 82 -32 6 0 0\r
- -25 88 -199 371 -621 981 -1517 2388 -4136 10250 29149 -5866 3041 -1872 1208 -776 479 -273 134 -50 8 0 0\r
- 8 -54 152 -312 554 -902 1407 -2178 3513 -6613 26596 14027 -5285 3007 -1902 1231 -782 470 -255 116 -35 0 0\r
- 0 8 -54 150 -310 548 -893 1392 -2155 3478 -6563 26879 13643 -5179 2952 -1868 1209 -767 461 -250 113 -34 0\r
- 0 0 6 -32 82 -162 280 -451 700 -1087 1788 -3605 31832 4748 -2086 1228 -784 507 -319 189 -100 42 -11\r
- 0 0 8 -50 134 -273 479 -776 1208 -1872 3041 -5866 29149 10250 -4136 2388 -1517 981 -621 371 -199 88 -25\r
- 0 0 -35 116 -255 470 -782 1231 -1902 3007 -5285 14027 26596 -6613 3513 -2178 1407 -902 554 -312 152 -54 8\r
- 0 -34 113 -250 461 -767 1209 -1868 2952 -5179 13643 26879 -6563 3478 -2155 1392 -893 548 -310 150 -54 8 0\r
diff --git a/file_demo_bios/da830/filters/fir16L8g3p90.log b/file_demo_bios/da830/filters/fir16L8g3p90.log
+++ /dev/null
@@ -1,8 +0,0 @@
- -30 103 -230 426 -710 1120 -1731 2732 -4766 12228 27878 -6328 3324 -2054 1326 -851 524 -297 145 -53 8 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 8 -53 145 -297 524 -851 1326 -2054 3324 -6328 27878 12228 -4766 2732 -1731 1120 -710 426 -230 103 -30\r
- 0 0 -6 24 -56 108 -183 292 -452 706 -1190 2628 32453 -2242 1088 -658 423 -273 170 -99 50 -20 4\r
- 0 0 0 0 0 0 0 0 0 0 0 32767 0 0 0 0 0 0 0 0 0 0 0\r
- 4 -20 50 -99 170 -273 423 -658 1088 -2242 32453 2628 -1190 706 -452 292 -183 108 -56 24 -6 0 0\r
diff --git a/file_demo_bios/da830/signals/Exec1.JPG b/file_demo_bios/da830/signals/Exec1.JPG
deleted file mode 100644 (file)
index 6971c70..0000000
Binary files a/file_demo_bios/da830/signals/Exec1.JPG and /dev/null differ
index 6971c70..0000000
Binary files a/file_demo_bios/da830/signals/Exec1.JPG and /dev/null differ
diff --git a/file_demo_bios/da830/signals/Exec2.JPG b/file_demo_bios/da830/signals/Exec2.JPG
deleted file mode 100644 (file)
index 9bd7549..0000000
Binary files a/file_demo_bios/da830/signals/Exec2.JPG and /dev/null differ
index 9bd7549..0000000
Binary files a/file_demo_bios/da830/signals/Exec2.JPG and /dev/null differ
diff --git a/file_demo_bios/da830/signals/Exec3.JPG b/file_demo_bios/da830/signals/Exec3.JPG
deleted file mode 100644 (file)
index 7306780..0000000
Binary files a/file_demo_bios/da830/signals/Exec3.JPG and /dev/null differ
index 7306780..0000000
Binary files a/file_demo_bios/da830/signals/Exec3.JPG and /dev/null differ
diff --git a/file_demo_bios/da830/signals/msstrace.m b/file_demo_bios/da830/signals/msstrace.m
+++ /dev/null
@@ -1,27 +0,0 @@
-% MSSTRACE: Matrix A(N,5) has:\r
-%\r
-% A(:,1): time in seconds\r
-% A(:,3): selection value (0 - current mic, 1 - new mic)\r
-% A(:,5): mix idx\r
-\r
-tgood = [0 8 8 16 16 24 24 32 32 40];\r
-xgood = [-146 -146 -90 -90 146 146 -34 -34 34 34];\r
-t = A(:,1);\r
-sel = A(:,3);\r
-idx0 = find(sel == 0);\r
-idx1 = find(sel == 1);\r
-\r
-x = A(idx0,2);\r
-y = A(idx1,2);\r
-t0 = t(idx0);\r
-t1 = t(idx1);\r
-\r
-hx=stairs(t0, x, 'linew',2);\r
-hold on;\r
-hy=stairs(t1, y, 'color',[0 0.5 0]);\r
-hg=stairs(tgood,xgood,'r','linew',2);\r
-hold off;\r
-\r
-grid;\r
-\r
-% nothing past this point\r
diff --git a/file_demo_bios/da830/signals/msstraceA12H500.csv b/file_demo_bios/da830/signals/msstraceA12H500.csv
+++ /dev/null
@@ -1,92 +0,0 @@
-Time:ulong,Error:uinteger,Source:string,DataValue:integer,AuxData1:uinteger,AuxData2:uinteger,Logger:string
-"112283269641","0","C66xx_DSP1:MSS-C: 0, G:0","0","0","0","Main Logger"
-"112283270460","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"113553245274","0","C66xx_DSP1:MSS-N: 1, G:0","180","1","6","Main Logger"
-"113563242541","0","C66xx_DSP1:MSS-N: 1, G:0","-150","1","7","Main Logger"
-"113573244013","0","C66xx_DSP1:MSS-N: 1, G:0","-120","1","8","Main Logger"
-"113583244104","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","9","Main Logger"
-"113593244230","0","C66xx_DSP1:MSS-N: 1, G:0","60","1","2","Main Logger"
-"113613242173","0","C66xx_DSP1:MSS-N: 1, G:0","90","1","3","Main Logger"
-"113633246006","0","C66xx_DSP1:MSS-N: 1, G:0","180","1","6","Main Logger"
-"113653242682","0","C66xx_DSP1:MSS-N: 1, G:0","-150","1","7","Main Logger"
-"114393304782","0","C66xx_DSP1:MSS-C: 0, G:0","-150","0","7","Main Logger"
-"114983246474","0","C66xx_DSP1:MSS-N: 1, G:0","180","1","6","Main Logger"
-"115153244842","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"115563243462","0","C66xx_DSP1:MSS-N: 1, G:0","-120","1","8","Main Logger"
-"115703248050","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"115783246925","0","C66xx_DSP1:MSS-N: 1, G:0","-150","1","7","Main Logger"
-"117383247586","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"117743250646","0","C66xx_DSP1:MSS-N: 1, G:0","-150","1","7","Main Logger"
-"117853240182","0","C66xx_DSP1:MSS-N: 1, G:0","-120","1","8","Main Logger"
-"118153245042","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"119073302670","0","C66xx_DSP1:MSS-C: 0, G:0","0","0","0","Main Logger"
-"120763244870","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","9","Main Logger"
-"121543305558","0","C66xx_DSP1:MSS-C: 0, G:0","-90","0","9","Main Logger"
-"122683245562","0","C66xx_DSP1:MSS-N: 1, G:0","-120","1","8","Main Logger"
-"122693246984","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","9","Main Logger"
-"125183246742","0","C66xx_DSP1:MSS-N: 1, G:0","-120","1","8","Main Logger"
-"125243246732","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","9","Main Logger"
-"125603243598","0","C66xx_DSP1:MSS-N: 1, G:0","-120","1","8","Main Logger"
-"125613239972","0","C66xx_DSP1:MSS-N: 1, G:0","-60","1","10","Main Logger"
-"125773244142","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","9","Main Logger"
-"126363246270","0","C66xx_DSP1:MSS-N: 1, G:0","-120","1","8","Main Logger"
-"126463245162","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","9","Main Logger"
-"126993245858","0","C66xx_DSP1:MSS-N: 1, G:0","-120","1","8","Main Logger"
-"127003244208","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","9","Main Logger"
-"127103249334","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"127143245930","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","9","Main Logger"
-"127183245922","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"127203244764","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","9","Main Logger"
-"128593246502","0","C66xx_DSP1:MSS-N: 1, G:0","150","1","5","Main Logger"
-"128643243146","0","C66xx_DSP1:MSS-N: 1, G:0","120","1","4","Main Logger"
-"129413305354","0","C66xx_DSP1:MSS-C: 0, G:0","120","0","4","Main Logger"
-"129923244102","0","C66xx_DSP1:MSS-N: 1, G:0","150","1","5","Main Logger"
-"131153305962","0","C66xx_DSP1:MSS-C: 0, G:0","150","0","5","Main Logger"
-"132953244478","0","C66xx_DSP1:MSS-N: 1, G:0","120","1","4","Main Logger"
-"132993242294","0","C66xx_DSP1:MSS-N: 1, G:0","150","1","5","Main Logger"
-"133043244058","0","C66xx_DSP1:MSS-N: 1, G:0","120","1","4","Main Logger"
-"133783305692","0","C66xx_DSP1:MSS-C: 0, G:0","120","0","4","Main Logger"
-"134293240582","0","C66xx_DSP1:MSS-N: 1, G:0","150","1","5","Main Logger"
-"135393244394","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"135403244794","0","C66xx_DSP1:MSS-N: 1, G:0","120","1","4","Main Logger"
-"136843244994","0","C66xx_DSP1:MSS-N: 1, G:0","-30","1","11","Main Logger"
-"137613304314","0","C66xx_DSP1:MSS-C: 0, G:0","-30","0","11","Main Logger"
-"138453240570","0","C66xx_DSP1:MSS-N: 1, G:0","-60","1","10","Main Logger"
-"138693240518","0","C66xx_DSP1:MSS-N: 1, G:0","-30","1","11","Main Logger"
-"138833246158","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"138873242050","0","C66xx_DSP1:MSS-N: 1, G:0","-30","1","11","Main Logger"
-"138943245714","0","C66xx_DSP1:MSS-N: 1, G:0","-60","1","10","Main Logger"
-"139043246574","0","C66xx_DSP1:MSS-N: 1, G:0","-30","1","11","Main Logger"
-"139093241834","0","C66xx_DSP1:MSS-N: 1, G:0","-60","1","10","Main Logger"
-"139293246222","0","C66xx_DSP1:MSS-N: 1, G:0","-30","1","11","Main Logger"
-"140973241114","0","C66xx_DSP1:MSS-N: 1, G:0","-60","1","10","Main Logger"
-"141173244450","0","C66xx_DSP1:MSS-N: 1, G:0","-30","1","11","Main Logger"
-"141813243226","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"141893245514","0","C66xx_DSP1:MSS-N: 1, G:0","-30","1","11","Main Logger"
-"142153246130","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"142163245542","0","C66xx_DSP1:MSS-N: 1, G:0","-30","1","11","Main Logger"
-"142213242814","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"142753244002","0","C66xx_DSP1:MSS-N: 1, G:0","-30","1","11","Main Logger"
-"142793244977","0","C66xx_DSP1:MSS-N: 1, G:0","-60","1","10","Main Logger"
-"142843241749","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"142933243350","0","C66xx_DSP1:MSS-N: 1, G:0","-30","1","11","Main Logger"
-"143143247334","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"143163243136","0","C66xx_DSP1:MSS-N: 1, G:0","-30","1","11","Main Logger"
-"143573245454","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"143633244944","0","C66xx_DSP1:MSS-N: 1, G:0","-30","1","11","Main Logger"
-"144753243902","0","C66xx_DSP1:MSS-N: 1, G:0","30","1","1","Main Logger"
-"145163244482","0","C66xx_DSP1:MSS-N: 1, G:0","60","1","2","Main Logger"
-"145513242606","0","C66xx_DSP1:MSS-N: 1, G:0","30","1","1","Main Logger"
-"146303308192","0","C66xx_DSP1:MSS-C: 0, G:0","30","0","1","Main Logger"
-"148693246174","0","C66xx_DSP1:MSS-N: 1, G:0","60","1","2","Main Logger"
-"148733242530","0","C66xx_DSP1:MSS-N: 1, G:0","30","1","1","Main Logger"
-"148903246930","0","C66xx_DSP1:MSS-N: 1, G:0","60","1","2","Main Logger"
-"148923242566","0","C66xx_DSP1:MSS-N: 1, G:0","30","1","1","Main Logger"
-"149153244214","0","C66xx_DSP1:MSS-N: 1, G:0","60","1","2","Main Logger"
-"149163242333","0","C66xx_DSP1:MSS-N: 1, G:0","30","1","1","Main Logger"
-"149373241122","0","C66xx_DSP1:MSS-N: 1, G:0","60","1","2","Main Logger"
-"149383243505","0","C66xx_DSP1:MSS-N: 1, G:0","30","1","1","Main Logger"
-"149403243090","0","C66xx_DSP1:MSS-N: 1, G:0","60","1","2","Main Logger"
-"150233306138","0","C66xx_DSP1:MSS-C: 0, G:0","60","0","2","Main Logger"
-"150743248122","0","C66xx_DSP1:MSS-N: 1, G:0","30","1","1","Main Logger"
-"150793243685","0","C66xx_DSP1:MSS-N: 1, G:0","60","1","2","Main Logger"
diff --git a/file_demo_bios/da830/signals/msstraceA12H500.xlsx b/file_demo_bios/da830/signals/msstraceA12H500.xlsx
deleted file mode 100644 (file)
index bdbd283..0000000
Binary files a/file_demo_bios/da830/signals/msstraceA12H500.xlsx and /dev/null differ
index bdbd283..0000000
Binary files a/file_demo_bios/da830/signals/msstraceA12H500.xlsx and /dev/null differ
diff --git a/file_demo_bios/da830/signals/msstraceA8H500.csv b/file_demo_bios/da830/signals/msstraceA8H500.csv
+++ /dev/null
@@ -1,96 +0,0 @@
-Time:ulong,Error:uinteger,Source:string,DataValue:integer,AuxData1:uinteger,AuxData2:uinteger,Logger:string
-"40873607173","0","C66xx_DSP1:MSS-C: 0, G:0","0","0","0","Main Logger"
-"40873607781","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"42143582844","0","C66xx_DSP1:MSS-N: 1, G:0","180","1","4","Main Logger"
-"42153579564","0","C66xx_DSP1:MSS-N: 1, G:0","-135","1","5","Main Logger"
-"42173582072","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","6","Main Logger"
-"42183581444","0","C66xx_DSP1:MSS-N: 1, G:0","45","1","1","Main Logger"
-"42203577672","0","C66xx_DSP1:MSS-N: 1, G:0","90","1","2","Main Logger"
-"42223581124","0","C66xx_DSP1:MSS-N: 1, G:0","180","1","4","Main Logger"
-"42273579724","0","C66xx_DSP1:MSS-N: 1, G:0","-135","1","5","Main Logger"
-"43013643532","0","C66xx_DSP1:MSS-C: 0, G:0","-135","0","5","Main Logger"
-"43563579328","0","C66xx_DSP1:MSS-N: 1, G:0","180","1","4","Main Logger"
-"43763581580","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"44023580172","0","C66xx_DSP1:MSS-N: 1, G:0","-135","1","5","Main Logger"
-"44213581820","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"44453579424","0","C66xx_DSP1:MSS-N: 1, G:0","-135","1","5","Main Logger"
-"45973580588","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"46333584792","0","C66xx_DSP1:MSS-N: 1, G:0","-135","1","5","Main Logger"
-"46703580060","0","C66xx_DSP1:MSS-N: 1, G:0","180","1","4","Main Logger"
-"46713582364","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"47653639316","0","C66xx_DSP1:MSS-C: 0, G:0","0","0","0","Main Logger"
-"49353581324","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","6","Main Logger"
-"50133642372","0","C66xx_DSP1:MSS-C: 0, G:0","-90","0","6","Main Logger"
-"51273581884","0","C66xx_DSP1:MSS-N: 1, G:0","-135","1","5","Main Logger"
-"51283580036","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","6","Main Logger"
-"54193581032","0","C66xx_DSP1:MSS-N: 1, G:0","-45","1","7","Main Logger"
-"54333583348","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","6","Main Logger"
-"54993580432","0","C66xx_DSP1:MSS-N: 1, G:0","-135","1","5","Main Logger"
-"55013582428","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","6","Main Logger"
-"55693586268","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"55733582880","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","6","Main Logger"
-"55773583232","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"55793580137","0","C66xx_DSP1:MSS-N: 1, G:0","-90","1","6","Main Logger"
-"57183581668","0","C66xx_DSP1:MSS-N: 1, G:0","130","1","3","Main Logger"
-"57923639736","0","C66xx_DSP1:MSS-C: 0, G:0","130","0","3","Main Logger"
-"58613583772","0","C66xx_DSP1:MSS-N: 1, G:0","180","1","4","Main Logger"
-"58623580540","0","C66xx_DSP1:MSS-N: 1, G:0","130","1","3","Main Logger"
-"58933583294","0","C66xx_DSP1:MSS-N: 1, G:0","180","1","4","Main Logger"
-"58953580414","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"59173584396","0","C66xx_DSP1:MSS-N: 1, G:0","130","1","3","Main Logger"
-"59353581484","0","C66xx_DSP1:MSS-N: 1, G:0","180","1","4","Main Logger"
-"59363579689","0","C66xx_DSP1:MSS-N: 1, G:0","90","1","2","Main Logger"
-"59373582882","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"59553581296","0","C66xx_DSP1:MSS-N: 1, G:0","130","1","3","Main Logger"
-"59683581212","0","C66xx_DSP1:MSS-N: 1, G:0","180","1","4","Main Logger"
-"59693582458","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"59853584804","0","C66xx_DSP1:MSS-N: 1, G:0","130","1","3","Main Logger"
-"62093585652","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"62113581312","0","C66xx_DSP1:MSS-N: 1, G:0","180","1","4","Main Logger"
-"62123580196","0","C66xx_DSP1:MSS-N: 1, G:0","130","1","3","Main Logger"
-"62283580720","0","C66xx_DSP1:MSS-N: 1, G:0","180","1","4","Main Logger"
-"62303580214","0","C66xx_DSP1:MSS-N: 1, G:0","-135","1","5","Main Logger"
-"62313581920","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"62903580560","0","C66xx_DSP1:MSS-N: 1, G:0","130","1","3","Main Logger"
-"62993581844","0","C66xx_DSP1:MSS-N: 1, G:0","-135","1","5","Main Logger"
-"63013580446","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"63273579644","0","C66xx_DSP1:MSS-N: 1, G:0","130","1","3","Main Logger"
-"63323579728","0","C66xx_DSP1:MSS-N: 1, G:0","-135","1","5","Main Logger"
-"63373582529","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"63393580060","0","C66xx_DSP1:MSS-N: 1, G:0","45","1","1","Main Logger"
-"63403581248","0","C66xx_DSP1:MSS-N: 1, G:0","130","1","3","Main Logger"
-"63523579276","0","C66xx_DSP1:MSS-N: 1, G:0","45","1","1","Main Logger"
-"63543581996","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"64333641420","0","C66xx_DSP1:MSS-C: 0, G:0","0","0","0","Main Logger"
-"65433581456","0","C66xx_DSP1:MSS-N: 1, G:0","-45","1","7","Main Logger"
-"66173639236","0","C66xx_DSP1:MSS-C: 0, G:0","-45","0","7","Main Logger"
-"67423581636","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"67463579160","0","C66xx_DSP1:MSS-N: 1, G:0","-45","1","7","Main Logger"
-"67823581960","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"67883578934","0","C66xx_DSP1:MSS-N: 1, G:0","-45","1","7","Main Logger"
-"70363579568","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"70583579636","0","C66xx_DSP1:MSS-N: 1, G:0","-45","1","7","Main Logger"
-"70743580592","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"70763580408","0","C66xx_DSP1:MSS-N: 1, G:0","-45","1","7","Main Logger"
-"70803580504","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"71243578872","0","C66xx_DSP1:MSS-N: 1, G:0","-45","1","7","Main Logger"
-"71303580784","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"71323580414","0","C66xx_DSP1:MSS-N: 1, G:0","-45","1","7","Main Logger"
-"71413583901","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"71533584672","0","C66xx_DSP1:MSS-N: 1, G:0","-45","1","7","Main Logger"
-"71593580802","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"71613582608","0","C66xx_DSP1:MSS-N: 1, G:0","-45","1","7","Main Logger"
-"71743581412","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"71753579774","0","C66xx_DSP1:MSS-N: 1, G:0","-45","1","7","Main Logger"
-"72163581636","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"72223581530","0","C66xx_DSP1:MSS-N: 1, G:0","-45","1","7","Main Logger"
-"73343580884","0","C66xx_DSP1:MSS-N: 1, G:0","45","1","1","Main Logger"
-"74083638800","0","C66xx_DSP1:MSS-C: 0, G:0","45","0","1","Main Logger"
-"75223582292","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"75283580416","0","C66xx_DSP1:MSS-N: 1, G:0","45","1","1","Main Logger"
-"78083579492","0","C66xx_DSP1:MSS-N: 1, G:0","90","1","2","Main Logger"
-"78103580728","0","C66xx_DSP1:MSS-N: 1, G:0","45","1","1","Main Logger"
-"78663580892","0","C66xx_DSP1:MSS-N: 1, G:0","90","1","2","Main Logger"
-"78673581221","0","C66xx_DSP1:MSS-N: 1, G:0","45","1","1","Main Logger"
-"79363580240","0","C66xx_DSP1:MSS-N: 1, G:0","0","1","0","Main Logger"
-"79383580197","0","C66xx_DSP1:MSS-N: 1, G:0","45","1","1","Main Logger"
diff --git a/file_demo_bios/da830/signals/msstraceA8H500.xlsx b/file_demo_bios/da830/signals/msstraceA8H500.xlsx
deleted file mode 100644 (file)
index 7d20c1b..0000000
Binary files a/file_demo_bios/da830/signals/msstraceA8H500.xlsx and /dev/null differ
index 7d20c1b..0000000
Binary files a/file_demo_bios/da830/signals/msstraceA8H500.xlsx and /dev/null differ
diff --git a/file_demo_bios/da830/signals/profile.xlsx b/file_demo_bios/da830/signals/profile.xlsx
deleted file mode 100644 (file)
index 4453004..0000000
Binary files a/file_demo_bios/da830/signals/profile.xlsx and /dev/null differ
index 4453004..0000000
Binary files a/file_demo_bios/da830/signals/profile.xlsx and /dev/null differ
diff --git a/file_demo_bios/da830/signals/trace.JPG b/file_demo_bios/da830/signals/trace.JPG
deleted file mode 100644 (file)
index 9a5a2ad..0000000
Binary files a/file_demo_bios/da830/signals/trace.JPG and /dev/null differ
index 9a5a2ad..0000000
Binary files a/file_demo_bios/da830/signals/trace.JPG and /dev/null differ
diff --git a/file_demo_bios/da830/t8/fileOutput.bin b/file_demo_bios/da830/t8/fileOutput.bin
deleted file mode 100644 (file)
index 4be06b3..0000000
Binary files a/file_demo_bios/da830/t8/fileOutput.bin and /dev/null differ
index 4be06b3..0000000
Binary files a/file_demo_bios/da830/t8/fileOutput.bin and /dev/null differ
diff --git a/file_demo_bios/da830/t8/y16L8g3m7090_1.pcm b/file_demo_bios/da830/t8/y16L8g3m7090_1.pcm
deleted file mode 100644 (file)
index 146ad8a..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_1.pcm and /dev/null differ
index 146ad8a..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_1.pcm and /dev/null differ
diff --git a/file_demo_bios/da830/t8/y16L8g3m7090_2.pcm b/file_demo_bios/da830/t8/y16L8g3m7090_2.pcm
deleted file mode 100644 (file)
index 1429b3e..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_2.pcm and /dev/null differ
index 1429b3e..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_2.pcm and /dev/null differ
diff --git a/file_demo_bios/da830/t8/y16L8g3m7090_3.pcm b/file_demo_bios/da830/t8/y16L8g3m7090_3.pcm
deleted file mode 100644 (file)
index d9de2c4..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_3.pcm and /dev/null differ
index d9de2c4..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_3.pcm and /dev/null differ
diff --git a/file_demo_bios/da830/t8/y16L8g3m7090_4.pcm b/file_demo_bios/da830/t8/y16L8g3m7090_4.pcm
deleted file mode 100644 (file)
index d515aff..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_4.pcm and /dev/null differ
index d515aff..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_4.pcm and /dev/null differ
diff --git a/file_demo_bios/da830/t8/y16L8g3m7090_5.pcm b/file_demo_bios/da830/t8/y16L8g3m7090_5.pcm
deleted file mode 100644 (file)
index 8d5776d..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_5.pcm and /dev/null differ
index 8d5776d..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_5.pcm and /dev/null differ
diff --git a/file_demo_bios/da830/t8/y16L8g3m7090_6.pcm b/file_demo_bios/da830/t8/y16L8g3m7090_6.pcm
deleted file mode 100644 (file)
index cc92c93..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_6.pcm and /dev/null differ
index cc92c93..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_6.pcm and /dev/null differ
diff --git a/file_demo_bios/da830/t8/y16L8g3m7090_7.pcm b/file_demo_bios/da830/t8/y16L8g3m7090_7.pcm
deleted file mode 100644 (file)
index 95014cd..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_7.pcm and /dev/null differ
index 95014cd..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_7.pcm and /dev/null differ
diff --git a/file_demo_bios/da830/t8/y16L8g3m7090_8.pcm b/file_demo_bios/da830/t8/y16L8g3m7090_8.pcm
deleted file mode 100644 (file)
index a4e382a..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_8.pcm and /dev/null differ
index a4e382a..0000000
Binary files a/file_demo_bios/da830/t8/y16L8g3m7090_8.pcm and /dev/null differ
similarity index 100%
rename from file_demo_bios/da830/.xdchelp
rename to file_demo_bios/omapl137/.xdchelp
rename from file_demo_bios/da830/.xdchelp
rename to file_demo_bios/omapl137/.xdchelp
similarity index 100%
rename from file_demo_bios/da830/app.cfg
rename to file_demo_bios/omapl137/app.cfg
rename from file_demo_bios/da830/app.cfg
rename to file_demo_bios/omapl137/app.cfg
similarity index 100%
rename from file_demo_bios/da830/bflinker.cmd
rename to file_demo_bios/omapl137/bflinker.cmd
rename from file_demo_bios/da830/bflinker.cmd
rename to file_demo_bios/omapl137/bflinker.cmd
diff --git a/file_demo_bios/omapl137/build/makefile b/file_demo_bios/omapl137/build/makefile
--- /dev/null
@@ -0,0 +1,439 @@
+XDAIS_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/xdais_7_24_00_04\r
+VOLIB_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/volib_C64P_2_1_0_1\r
+AER_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/aer_c64Px_obj_17_0_0_0\r
+\r
+GEN_OPTS__FLAG := --cmd_file="configPkg/compiler.opt"\r
+GEN_CMDS__FLAG := -l"configPkg/linker.cmd"\r
+\r
+ORDERED_OBJS += \
+"./clk.obj" \
+"./fil.obj" \
+"./main.obj" \
+"./mhm.obj" \
+"./mss.obj" \
+"./mssproc.obj" \
+"./sys.obj" \
+"./sysasnr.obj" \
+"./sysbf.obj" \
+"./sysbfflt.obj" \
+"./sysdrc.obj" \
+"./syseram.obj" \
+"./sysiram.obj" \
+"./sysmss.obj" \
+"./sysvau.obj" \
+"../bflinker.cmd" \
+$(GEN_CMDS__FLAG) \
+-laer_c.ae64P \
+-lvau/lib/vau_c.ae64P \
+-lvpe/lib/vpe_a.ae64P \
+-lvpe/lib/vpe_c.ae64P \
+-lutil/lib/util_c.ae64P \
+-lmhm/lib/mhm_c.ae64P \
+-llibc.a \
+\r
+-include ../makefile.init\r
+\r
+OS := $(shell uname)\r
+ifeq ($(OS), Linux)\r
+RM := rm -f\r
+RMDIR := rm -d -f -r\r
+else\r
+RM := rm -f\r
+RMDIR := rm -r -f\r
+endif\r
+\r
+### -include subdir_vars.mk\r
+# Each subdirectory must supply rules for building sources it contributes\r
+configPkg/linker.cmd: ../app.cfg\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: XDCtools'\r
+ "${XDC_INSTALL_PATH}/xs" --xdcpath="${BIOS_INSTALL_PATH}/packages;${UIA_INSTALL_PATH}/packages;${XDAIS_INSTALL_PATH}/packages;${XDAIS_INSTALL_PATH}/examples;${AER_INSTALL_PATH}/packages;${VOLIB_INSTALL_PATH}/packages;../../../file_demo_bios/platforms/packages;${PDK_INSTALL_PATH}/packages;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C674 -p dskDA830Custom -r debug -c "${C6X_GEN_INSTALL_PATH}" --compileOptions "-g --optimize_with_debug" "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+configPkg/compiler.opt: | configPkg/linker.cmd\r
+configPkg/: | configPkg/linker.cmd\r
+\r
+clk.obj: ../../../common/components/clk.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="clk.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+fil.obj: ../../../common/components/fil.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="fil.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+main.obj: ../../../file_demo_bios/omapl137/main.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="main.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+mhm.obj: ../../../common/components/mhm/src/mhm.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="mhm.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+mss.obj: ../../../common/components/mss/src/mss.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="mss.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+mssproc.obj: ../../../common/components/mss/src/mssproc.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="mssproc.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+sys.obj: ../../../common/components/sys.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="sys.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+sysasnr.obj: ../../../common/components/sysasnr.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="sysasnr.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+sysbf.obj: ../../../common/components/sysbf.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="sysbf.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+sysbfflt.obj: ../../../common/components/sysbfflt.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="sysbfflt.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+sysdrc.obj: ../../../common/components/sysdrc.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="sysdrc.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+syseram.obj: ../../../common/components/syseram.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="syseram.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+sysiram.obj: ../../../common/components/sysiram.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="sysiram.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+sysmss.obj: ../../../common/components/sysmss.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="sysmss.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+sysvau.obj: ../../../common/components/sysvau.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C6000 Compiler'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 --include_path="${C6X_GEN_INSTALL_PATH}/include" -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="sysvau.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+\r
+### -include subdir_rules.mk\r
+# Add inputs and outputs from these tool invocations to the build variables \r
+CMD_SRCS += \\r
+../../../file_demo_bios/omapl137/bflinker.cmd \r
+\r
+CFG_SRCS += \\r
+../../../file_demo_bios/omapl137/app.cfg \r
+\r
+C_SRCS += \\r
+../../../common/components/clk.c \\r
+../../../common/components/fil.c \\r
+../../../file_demo_bios/omapl137/main.c \\r
+../../../common/components/mhm/src/mhm.c \\r
+../../../common/components/mss/src/mss.c \\r
+../../../common/components/mss/src/mssproc.c \\r
+../../../common/components/sys.c \\r
+../../../common/components/sysasnr.c \\r
+../../../common/components/sysbf.c \\r
+../../../common/components/sysbfflt.c \\r
+../../../common/components/sysdrc.c \\r
+../../../common/components/syseram.c \\r
+../../../common/components/sysiram.c \\r
+../../../common/components/sysmss.c \\r
+../../../common/components/sysvau.c \r
+\r
+OBJS += \\r
+./clk.obj \\r
+./fil.obj \\r
+./main.obj \\r
+./mhm.obj \\r
+./mss.obj \\r
+./mssproc.obj \\r
+./sys.obj \\r
+./sysasnr.obj \\r
+./sysbf.obj \\r
+./sysbfflt.obj \\r
+./sysdrc.obj \\r
+./syseram.obj \\r
+./sysiram.obj \\r
+./sysmss.obj \\r
+./sysvau.obj \r
+\r
+C_DEPS += \\r
+./clk.d \\r
+./fil.d \\r
+./main.d \\r
+./mhm.d \\r
+./mss.d \\r
+./mssproc.d \\r
+./sys.d \\r
+./sysasnr.d \\r
+./sysbf.d \\r
+./sysbfflt.d \\r
+./sysdrc.d \\r
+./syseram.d \\r
+./sysiram.d \\r
+./sysmss.d \\r
+./sysvau.d \r
+\r
+GEN_MISC_DIRS += \\r
+./configPkg \r
+\r
+GEN_CMDS += \\r
+./configPkg/linker.cmd \r
+\r
+GEN_OPTS += \\r
+./configPkg/compiler.opt \r
+\r
+GEN_FILES += \\r
+./configPkg/linker.cmd \\r
+./configPkg/compiler.opt \r
+\r
+GEN_FILES__QUOTED += \\r
+"configPkg\linker.cmd" \\r
+"configPkg\compiler.opt" \r
+\r
+GEN_MISC_DIRS__QUOTED += \\r
+"configPkg" \r
+\r
+C_DEPS__QUOTED += \\r
+"clk.d" \\r
+"fil.d" \\r
+"main.d" \\r
+"mhm.d" \\r
+"mss.d" \\r
+"mssproc.d" \\r
+"sys.d" \\r
+"sysasnr.d" \\r
+"sysbf.d" \\r
+"sysbfflt.d" \\r
+"sysdrc.d" \\r
+"syseram.d" \\r
+"sysiram.d" \\r
+"sysmss.d" \\r
+"sysvau.d" \r
+\r
+OBJS__QUOTED += \\r
+"clk.obj" \\r
+"fil.obj" \\r
+"main.obj" \\r
+"mhm.obj" \\r
+"mss.obj" \\r
+"mssproc.obj" \\r
+"sys.obj" \\r
+"sysasnr.obj" \\r
+"sysbf.obj" \\r
+"sysbfflt.obj" \\r
+"sysdrc.obj" \\r
+"syseram.obj" \\r
+"sysiram.obj" \\r
+"sysmss.obj" \\r
+"sysvau.obj" \r
+\r
+C_SRCS__QUOTED += \\r
+"../../../common/components/clk.c" \\r
+"../../../common/components/fil.c" \\r
+"../../../file_demo_bios/omapl137/main.c" \\r
+"../../../common/components/mhm/src/mhm.c" \\r
+"../../../common/components/mss/src/mss.c" \\r
+"../../../common/components/mss/src/mssproc.c" \\r
+"../../../common/components/sys.c" \\r
+"../../../common/components/sysasnr.c" \\r
+"../../../common/components/sysbf.c" \\r
+"../../../common/components/sysbfflt.c" \\r
+"../../../common/components/sysdrc.c" \\r
+"../../../common/components/syseram.c" \\r
+"../../../common/components/sysiram.c" \\r
+"../../../common/components/sysmss.c" \\r
+"../../../common/components/sysvau.c" \r
+\r
+\r
+### -include objects.mk\r
+USER_OBJS :=\r
+\r
+LIBS := -laer_c.ae64P -lvau/lib/vau_c.ae64P -lvpe/lib/vpe_a.ae64P -lvpe/lib/vpe_c.ae64P -lutil/lib/util_c.ae64P -lmhm/lib/mhm_c.ae64P -llibc.a\r
+\r
+ifneq ($(MAKECMDGOALS),clean)\r
+ifneq ($(strip $(S_DEPS)),)\r
+-include $(S_DEPS)\r
+endif\r
+ifneq ($(strip $(S_UPPER_DEPS)),)\r
+-include $(S_UPPER_DEPS)\r
+endif\r
+ifneq ($(strip $(S62_DEPS)),)\r
+-include $(S62_DEPS)\r
+endif\r
+ifneq ($(strip $(C64_DEPS)),)\r
+-include $(C64_DEPS)\r
+endif\r
+ifneq ($(strip $(ASM_DEPS)),)\r
+-include $(ASM_DEPS)\r
+endif\r
+ifneq ($(strip $(CC_DEPS)),)\r
+-include $(CC_DEPS)\r
+endif\r
+ifneq ($(strip $(SV7A_DEPS)),)\r
+-include $(SV7A_DEPS)\r
+endif\r
+ifneq ($(strip $(S55_DEPS)),)\r
+-include $(S55_DEPS)\r
+endif\r
+ifneq ($(strip $(C67_DEPS)),)\r
+-include $(C67_DEPS)\r
+endif\r
+ifneq ($(strip $(CLA_DEPS)),)\r
+-include $(CLA_DEPS)\r
+endif\r
+ifneq ($(strip $(C??_DEPS)),)\r
+-include $(C??_DEPS)\r
+endif\r
+ifneq ($(strip $(CPP_DEPS)),)\r
+-include $(CPP_DEPS)\r
+endif\r
+ifneq ($(strip $(S??_DEPS)),)\r
+-include $(S??_DEPS)\r
+endif\r
+ifneq ($(strip $(C_DEPS)),)\r
+-include $(C_DEPS)\r
+endif\r
+ifneq ($(strip $(C62_DEPS)),)\r
+-include $(C62_DEPS)\r
+endif\r
+ifneq ($(strip $(CXX_DEPS)),)\r
+-include $(CXX_DEPS)\r
+endif\r
+ifneq ($(strip $(C++_DEPS)),)\r
+-include $(C++_DEPS)\r
+endif\r
+ifneq ($(strip $(ASM_UPPER_DEPS)),)\r
+-include $(ASM_UPPER_DEPS)\r
+endif\r
+ifneq ($(strip $(K_DEPS)),)\r
+-include $(K_DEPS)\r
+endif\r
+ifneq ($(strip $(C43_DEPS)),)\r
+-include $(C43_DEPS)\r
+endif\r
+ifneq ($(strip $(INO_DEPS)),)\r
+-include $(INO_DEPS)\r
+endif\r
+ifneq ($(strip $(S67_DEPS)),)\r
+-include $(S67_DEPS)\r
+endif\r
+ifneq ($(strip $(SA_DEPS)),)\r
+-include $(SA_DEPS)\r
+endif\r
+ifneq ($(strip $(S43_DEPS)),)\r
+-include $(S43_DEPS)\r
+endif\r
+ifneq ($(strip $(OPT_DEPS)),)\r
+-include $(OPT_DEPS)\r
+endif\r
+ifneq ($(strip $(PDE_DEPS)),)\r
+-include $(PDE_DEPS)\r
+endif\r
+ifneq ($(strip $(S64_DEPS)),)\r
+-include $(S64_DEPS)\r
+endif\r
+ifneq ($(strip $(C_UPPER_DEPS)),)\r
+-include $(C_UPPER_DEPS)\r
+endif\r
+ifneq ($(strip $(C55_DEPS)),)\r
+-include $(C55_DEPS)\r
+endif\r
+endif\r
+\r
+-include ../makefile.defs\r
+\r
+# Add inputs and outputs from these tool invocations to the build variables \r
+EXE_OUTPUTS += \
+DA830_bf_bios.out \
+DA830_bf_bios.map \\r
+DA830_bf_bios_linkInfo.xml \\r
+\r
+EXE_OUTPUTS__QUOTED += \
+"DA830_bf_bios.out" \
+"DA830_bf_bios.map" \\r
+"DA830_bf_bios_linkInfo.xml" \\r
+\r
+BIN_OUTPUTS += \
+DA830_bf_bios.hex \
+\r
+BIN_OUTPUTS__QUOTED += \
+"DA830_bf_bios.hex" \
+\r
+\r
+# All Target\r
+all: DA830_bf_bios.out\r
+\r
+# Tool invocations\r
+DA830_bf_bios.out: $(OBJS) $(CMD_SRCS) $(GEN_CMDS)\r
+ @echo 'Building target: $@'\r
+ @echo 'Invoking: C6000 Linker'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/cl6x" -mv6740 --abi=eabi -Ooff --opt_for_speed=4 -g --define=ti_targets_C64P --diag_wrap=off --diag_warning=225 --display_error_number -z -m"DA830_bf_bios.map" --stack_size=0x800 --heap_size=0x800 -i"${AER_INSTALL_PATH}/packages/ti/mas/aer/lib" -i"${VOLIB_INSTALL_PATH}/packages/ti/mas/" -i"${C6X_GEN_INSTALL_PATH}/lib" -i"${C6X_GEN_INSTALL_PATH}/include" --reread_libs --define=DSP_CORE=1 --diag_wrap=off --warn_sections --display_error_number --xml_link_info="DA830_bf_bios_linkInfo.xml" --rom_model -o "DA830_bf_bios.out" $(ORDERED_OBJS)\r
+ @echo 'Finished building target: $@'\r
+ @echo ' '\r
+\r
+DA830_bf_bios.hex: $(EXE_OUTPUTS)\r
+ @echo 'Invoking: C6000 Hex Utility'\r
+ "${C6X_GEN_INSTALL_PATH}/bin/hex6x" -o "DA830_bf_bios.hex" $(EXE_OUTPUTS__QUOTED)\r
+ @echo 'Finished building: $@'\r
+ @echo ' '\r
+\r
+# Other Targets\r
+clean:\r
+ -$(RM) $(GEN_MISC_FILES__QUOTED)$(EXE_OUTPUTS__QUOTED)$(GEN_FILES__QUOTED)$(BIN_OUTPUTS__QUOTED)$(GEN_OPTS__QUOTED)$(GEN_CMDS__QUOTED)\r
+ -$(RMDIR) $(GEN_MISC_DIRS__QUOTED)\r
+ -$(RM) "clk.d" "fil.d" "main.d" "mhm.d" "mss.d" "mssproc.d" "sys.d" "sysasnr.d" "sysbf.d" "sysbfflt.d" "sysdrc.d" "syseram.d" "sysiram.d" "sysmss.d" "sysvau.d" \r
+ -$(RM) "clk.obj" "fil.obj" "main.obj" "mhm.obj" "mss.obj" "mssproc.obj" "sys.obj" "sysasnr.obj" "sysbf.obj" "sysbfflt.obj" "sysdrc.obj" "syseram.obj" "sysiram.obj" "sysmss.obj" "sysvau.obj" \r
+ -@echo 'Finished clean'\r
+ -@echo ' '\r
+\r
+.PHONY: all clean dependents\r
+.SECONDARY:\r
+\r
+-include ../makefile.targets\r
+\r
similarity index 100%
rename from file_demo_bios/da830/.ccsproject
rename to file_demo_bios/omapl137/ccs/.ccsproject
rename from file_demo_bios/da830/.ccsproject
rename to file_demo_bios/omapl137/ccs/.ccsproject
similarity index 80%
rename from file_demo_bios/da830/.cproject
rename to file_demo_bios/omapl137/ccs/.cproject
index b6b770b49769f4ff276ac84fa7982e73a48e228f..c3a85c0c69497cf6f54318648ef362db8a7299e1 100644 (file)
rename from file_demo_bios/da830/.cproject
rename to file_demo_bios/omapl137/ccs/.cproject
index b6b770b49769f4ff276ac84fa7982e73a48e228f..c3a85c0c69497cf6f54318648ef362db8a7299e1 100644 (file)
<storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="org.eclipse.rtsc.xdctools.parsers.ErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;org.eclipse.cdt.core.GmakeErrorParser;com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1835316231" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">\r
<folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1835316231." name="/" resourcePath="">\r
- <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.DebugToolchain.2130972776" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.linkerDebug.2146450705">\r
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.2116200928" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
- <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C67XX.DA830/DA828.DSKDA830"/>\r
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.DebugToolchain.1069913782" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.linkerDebug.1989657868">\r
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.282141240" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C67XX.DA830/DA828"/>\r
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>\r
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3"/>\r
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
<listOptionValue builtIn="false" value="RTSC_MBS_VERSION=2.2.0"/>\r
- <listOptionValue builtIn="false" value="XDC_VERSION=3.32.0.06_core"/>\r
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.mas.aer.c64Px:17.0.0;com.ti.rtsc.SYSBIOS:6.45.1.29;com.ti.uia:2.0.3.43;ti.mas.volib.C64P:2.1.0.1;com.ti.rtsc.XDAIS:7.24.0.04;"/>\r
+ <listOptionValue builtIn="false" value="XDC_VERSION=3.32.1.22_core"/>\r
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.mas.aer.c64Px:17.0.0;com.ti.rtsc.SYSBIOS:6.46.4.53;com.ti.uia:2.0.6.52;ti.mas.volib.C64P:2.1.0.1;com.ti.rtsc.XDAIS:7.24.0.04;com.ti.pdk.omapl13x:1.0.0;"/>\r
<listOptionValue builtIn="false" value="INACTIVE_REPOS=${TARGET_CONTENT_BASE};"/>\r
<listOptionValue builtIn="false" value="EXPANDED_REPOS="/>\r
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>\r
</option>\r
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1585661315" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="8.1.0" valueType="string"/>\r
- <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.targetPlatformDebug.1397238929" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.targetPlatformDebug"/>\r
- <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.builderDebug.669680096" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.builderDebug"/>\r
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.compilerDebug.1529308167" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.compilerDebug">\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.SILICON_VERSION.568046321" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.SILICON_VERSION" value="6740" valueType="string"/>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.ABI.1993058235" name="Application binary interface (coffabi not supported) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.ABI.eabi" valueType="enumerated"/>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.INCLUDE_PATH.1802005901" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.INCLUDE_PATH" valueType="includePath">\r
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.2022280603" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="8.1.0" valueType="string"/>\r
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.targetPlatformDebug.1767615596" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.targetPlatformDebug"/>\r
+ <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.builderDebug.2099087181" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.builderDebug"/>\r
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.compilerDebug.1510173619" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.compilerDebug">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.SILICON_VERSION.1639423964" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.SILICON_VERSION" value="6740" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.ABI.1708238235" name="Application binary interface (coffabi not supported) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.ABI.eabi" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.OPT_LEVEL.1480659068" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.OPT_LEVEL.off" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.OPT_FOR_SPEED.1064455376" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.OPT_FOR_SPEED.4" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.INCLUDE_PATH.56845748" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.INCLUDE_PATH" valueType="includePath">\r
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>\r
</option>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DEBUGGING_MODEL.1945911932" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DEFINE.977845055" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DEFINE" valueType="definedSymbols">\r
- <listOptionValue builtIn="false" value="ti_targets_elf_C64P"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DEBUGGING_MODEL.1912674380" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DEFINE.1588536068" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DEFINE" valueType="definedSymbols">\r
+ <listOptionValue builtIn="false" value="ti_targets_C64P"/>\r
</option>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DIAG_WARNING.1475338797" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DIAG_WARNING" valueType="stringList">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DIAG_WRAP.2076225076" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DIAG_WRAP.off" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DIAG_WARNING.1156622702" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DIAG_WARNING" valueType="stringList">\r
<listOptionValue builtIn="false" value="225"/>\r
</option>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DIAG_WRAP.1023521280" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DIAG_WRAP.off" valueType="enumerated"/>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DISPLAY_ERROR_NUMBER.1291016740" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.OPT_FOR_SPEED.178846889" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.OPT_FOR_SPEED.4" valueType="enumerated"/>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.OPT_LEVEL.1125378612" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.OPT_LEVEL.off" valueType="enumerated"/>\r
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__C_SRCS.284607395" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__C_SRCS"/>\r
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__CPP_SRCS.129911078" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__CPP_SRCS"/>\r
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__ASM_SRCS.1502324412" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__ASM_SRCS"/>\r
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__ASM2_SRCS.235335262" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__ASM2_SRCS"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DISPLAY_ERROR_NUMBER.1551062395" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__C_SRCS.1050207382" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__C_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__CPP_SRCS.337862869" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__CPP_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__ASM_SRCS.1057470592" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__ASM_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__ASM2_SRCS.1626432363" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.compiler.inputType__ASM2_SRCS"/>\r
</tool>\r
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.linkerDebug.2146450705" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.linkerDebug">\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DEFINE.1743604613" name="Pre-define preprocessor macro _name_ to _value_ (--define)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DEFINE" valueType="definedSymbols">\r
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.linkerDebug.1989657868" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exe.linkerDebug">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DEFINE.200020121" name="Pre-define preprocessor macro _name_ to _value_ (--define)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DEFINE" valueType="definedSymbols">\r
<listOptionValue builtIn="false" value="DSP_CORE=1"/>\r
</option>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.STACK_SIZE.985639521" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.STACK_SIZE" value="0x800" valueType="string"/>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.HEAP_SIZE.1384526418" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.HEAP_SIZE" value="0x800" valueType="string"/>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.OUTPUT_FILE.555150289" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.OUTPUT_FILE" value=""${ProjName}.out"" valueType="string"/>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.MAP_FILE.35738845" name="Link information (map) listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.LIBRARY.12997100" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.LIBRARY" valueType="libs">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.STACK_SIZE.383616833" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.STACK_SIZE" value="0x800" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.HEAP_SIZE.404006424" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.HEAP_SIZE" value="0x800" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.MAP_FILE.1669680622" name="Link information (map) listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.OUTPUT_FILE.1074423065" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.OUTPUT_FILE" value=""${ProjName}.out"" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.LIBRARY.1009419934" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.LIBRARY" valueType="libs">\r
<listOptionValue builtIn="false" value=""aer_c.ae64P""/>\r
<listOptionValue builtIn="false" value=""vau/lib/vau_c.ae64P""/>\r
<listOptionValue builtIn="false" value=""vpe/lib/vpe_a.ae64P""/>\r
<listOptionValue builtIn="false" value=""mhm/lib/mhm_c.ae64P""/>\r
<listOptionValue builtIn="false" value=""libc.a""/>\r
</option>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.SEARCH_PATH.2000513617" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.SEARCH_PATH" valueType="libPaths">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.SEARCH_PATH.530179173" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.SEARCH_PATH" valueType="libPaths">\r
<listOptionValue builtIn="false" value=""${TI_MAS_AER_C64PX_INSTALL_DIR}/packages/ti/mas/aer/lib""/>\r
<listOptionValue builtIn="false" value=""${TI_MAS_VOLIB_C64P_INSTALL_DIR}/packages/ti/mas/""/>\r
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>\r
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>\r
</option>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DIAG_WRAP.731841565" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DIAG_WRAP.off" valueType="enumerated"/>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DISPLAY_ERROR_NUMBER.67902443" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>\r
- <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.XML_LINK_INFO.776150647" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.XML_LINK_INFO" value=""${ProjName}_linkInfo.xml"" valueType="string"/>\r
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exeLinker.inputType__CMD_SRCS.2048697745" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exeLinker.inputType__CMD_SRCS"/>\r
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exeLinker.inputType__CMD2_SRCS.1797466057" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exeLinker.inputType__CMD2_SRCS"/>\r
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exeLinker.inputType__GEN_CMDS.1402865707" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exeLinker.inputType__GEN_CMDS"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DIAG_WRAP.1242328660" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DIAG_WRAP.off" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DISPLAY_ERROR_NUMBER.893186007" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.XML_LINK_INFO.873139937" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.linkerID.XML_LINK_INFO" value=""${ProjName}_linkInfo.xml"" valueType="string"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exeLinker.inputType__CMD_SRCS.484046203" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exeLinker.inputType__CMD_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exeLinker.inputType__CMD2_SRCS.2002098864" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exeLinker.inputType__CMD2_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_8.1.exeLinker.inputType__GEN_CMDS.611771045" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.exeLinker.inputType__GEN_CMDS"/>\r
</tool>\r
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_8.1.hex.91243955" name="C6000 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.hex"/>\r
- <tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1893788029" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">\r
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1141801609" name="Package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList">\r
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_8.1.hex.1707081452" name="C6000 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.C6000_8.1.hex"/>\r
+ <tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1268404154" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">\r
+ <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1485466129" name="Package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList">\r
<listOptionValue builtIn="false" value=""${BIOS_CG_ROOT}/packages""/>\r
<listOptionValue builtIn="false" value=""${COM_TI_UIA_INSTALL_DIR}/packages""/>\r
<listOptionValue builtIn="false" value=""${XDAIS_CG_ROOT}/packages""/>\r
<listOptionValue builtIn="false" value=""${XDAIS_CG_ROOT}/examples""/>\r
<listOptionValue builtIn="false" value=""${TI_MAS_AER_C64PX_INSTALL_DIR}/packages""/>\r
<listOptionValue builtIn="false" value=""${TI_MAS_VOLIB_C64P_INSTALL_DIR}/packages""/>\r
- <listOptionValue builtIn="false" value=""${PROJECT_LOC}/../platforms/packages""/>\r
+ <listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../platforms/packages""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/>\r
</option>\r
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.965151569" name="Target (-t)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET" value="ti.targets.elf.C674" valueType="string"/>\r
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.858134705" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM" value="dskDA830Custom" valueType="string"/>\r
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW.1119689104" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW" value="dskDA830Custom" valueType="string"/>\r
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.1251429056" name="Build-profile (-r)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE" value="debug" valueType="string"/>\r
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.36747516" name="Compiler tools directory (-c)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value=""${CG_TOOL_ROOT}"" valueType="string"/>\r
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS.2111182456" name="Additional compiler options (--compileOptions)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" value=""-g --optimize_with_debug"" valueType="string"/>\r
+ <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.976660858" name="Target (-t)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET" value="ti.targets.elf.C674" valueType="string"/>\r
+ <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.1979748341" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM" value="dskDA830Custom" valueType="string"/>\r
+ <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW.810120202" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW" value="dskDA830Custom" valueType="string"/>\r
+ <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.1046425561" name="Build-profile (-r)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE" value="debug" valueType="string"/>\r
+ <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.867881518" name="Compiler tools directory (-c)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value=""${CG_TOOL_ROOT}"" valueType="string"/>\r
+ <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS.2130495134" name="Additional compiler options (--compileOptions)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" value=""-g --optimize_with_debug"" valueType="string"/>\r
</tool>\r
</toolChain>\r
</folderInfo>\r
<sourceEntries>\r
- <entry excluding="C6748.cmd|OMAPL137.cmd|AM57xx_C66.cmd|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>\r
+ <entry excluding="src|C6748.cmd|OMAPL137.cmd|AM57xx_C66.cmd" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>\r
</sourceEntries>\r
</configuration>\r
</storageModule>\r
diff --git a/file_demo_bios/omapl137/ccs/.project b/file_demo_bios/omapl137/ccs/.project
--- /dev/null
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+ <name>DA830_bf_bios</name>\r
+ <comment></comment>\r
+ <projects>\r
+ </projects>\r
+ <buildSpec>\r
+ <buildCommand>\r
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\r
+ <arguments>\r
+ </arguments>\r
+ </buildCommand>\r
+ <buildCommand>\r
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\r
+ <triggers>full,incremental,</triggers>\r
+ <arguments>\r
+ </arguments>\r
+ </buildCommand>\r
+ </buildSpec>\r
+ <natures>\r
+ <nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>\r
+ <nature>com.ti.ccstudio.core.ccsNature</nature>\r
+ <nature>org.eclipse.cdt.core.cnature</nature>\r
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\r
+ <nature>org.eclipse.cdt.core.ccnature</nature>\r
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\r
+ </natures>\r
+ <linkedResources>\r
+ <link>\r
+ <name>app.cfg</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-1-PROJECT_LOC/app.cfg</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>bflinker.cmd</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-1-PROJECT_LOC/bflinker.cmd</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>clk.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/clk.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>fil.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/fil.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>fil.h</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/fil.h</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>main.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-1-PROJECT_LOC/main.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>mhm.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/mhm/src/mhm.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>mhmport.h</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/mhm/src/mhmport.h</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>mss.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/mss/src/mss.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>mssloc.h</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/mss/src/mssloc.h</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>mssproc.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/mss/src/mssproc.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>sys.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/sys.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>sys.h</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/sys.h</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>sysasnr.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/sysasnr.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>sysbf.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/sysbf.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>sysbfflt.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/sysbfflt.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>sysbfflt.h</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/sysbfflt.h</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>sysdrc.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/sysdrc.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>syseram.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/syseram.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>syseram.h</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/syseram.h</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>sysiram.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/sysiram.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>sysiram.h</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/sysiram.h</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>sysmss.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/sysmss.c</locationURI>\r
+ </link>\r
+ <link>\r
+ <name>sysvau.c</name>\r
+ <type>1</type>\r
+ <locationURI>PARENT-3-PROJECT_LOC/common/components/sysvau.c</locationURI>\r
+ </link>\r
+ </linkedResources>\r
+</projectDescription>\r
diff --git a/file_demo_bios/omapl137/files_io_7.gel b/file_demo_bios/omapl137/files_io_7.gel
--- /dev/null
@@ -0,0 +1,136 @@
+/******************************************************************************
+ * Copyright (c) 2012-16 Texas Instruments Incorporated - http://www.ti.com
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *****************************************************************************
+ *
+ * Filename: file_io.gel
+ * Description: GEL file to load microphone files
+ * EVM. This GEL has functions that handle the Main PLL
+ * initialization.
+ *
+ * More functions may be added as needed at a later date.
+ *
+ * Author: Ming Wei
+ * Revision History:
+ *
+ * Rev 1.0 - 12/26/2016
+ * - Initial file creation
+ ---------------------------------------------------------------------------*/
+
+#define MIC1PATH "$(GEL_file_dir)/../../common/t8/y16L7g3m7090_1.pcm"
+#define MIC2PATH "$(GEL_file_dir)/../../common/t8/y16L7g3m7090_2.pcm"
+#define MIC3PATH "$(GEL_file_dir)/../../common/t8/y16L7g3m7090_3.pcm"
+#define MIC4PATH "$(GEL_file_dir)/../../common/t8/y16L7g3m7090_4.pcm"
+#define MIC5PATH "$(GEL_file_dir)/../../common/t8/y16L7g3m7090_5.pcm"
+#define MIC6PATH "$(GEL_file_dir)/../../common/t8/y16L7g3m7090_6.pcm"
+#define MIC7PATH "$(GEL_file_dir)/../../common/t8/y16L7g3m7090_7.pcm"
+
+#define OUTPUTPATH "$(GEL_file_dir)/../../common/t8/fileOutput7.bin"
+
+BFLoadMic(buffer,micpath)
+{
+ GEL_MemoryLoad(buffer,0,160,micpath,32);
+}
+
+BFSaveMic(buffer,num, micpath)
+{
+ GEL_MemorySave(buffer,0,num,micpath,8,0,32);
+}
+
+menuitem "Microphone Load Functions";
+
+dialog BFLoadOneMic(buffer "Buffer Address",micpath "Microphone File Path")
+{
+ GEL_TextOut("Loading %s\n","",,,,micpath);
+ BFLoadMic(buffer,micpath);
+}
+
+hotmenu BFLoadMic1()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC1PATH);
+ BFLoadMic(filBuf0,MIC1PATH);
+}
+
+hotmenu BFLoadMic2()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC2PATH);
+ BFLoadMic(filBuf1,MIC2PATH);
+}
+
+hotmenu BFLoadMic3()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC3PATH);
+ BFLoadMic(filBuf2,MIC3PATH);
+}
+
+hotmenu BFLoadMic4()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC4PATH);
+ BFLoadMic(filBuf3,MIC4PATH);
+}
+
+hotmenu BFLoadMic5()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC5PATH);
+ BFLoadMic(filBuf4,MIC5PATH);
+}
+
+hotmenu BFLoadMic6()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC6PATH);
+ BFLoadMic(filBuf5,MIC6PATH);
+}
+
+hotmenu BFLoadMic7()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC7PATH);
+ BFLoadMic(filBuf6,MIC7PATH);
+}
+
+hotmenu BFLoadMicAll()
+{
+ BFLoadMic1();
+ BFLoadMic2();
+ BFLoadMic3();
+ BFLoadMic4();
+ BFLoadMic5();
+ BFLoadMic6();
+ BFLoadMic7();
+ GEL_TextOut("Done Loading Microphones\n");
+}
+
+menuitem "Microphone Save Functions";
+
+hotmenu BFSaveOutput()
+{
+ GEL_TextOut("Saving %s\n","",,,,OUTPUTPATH);
+ BFSaveMic(filOutBuf0,filConfig.outlen/2,OUTPUTPATH);
+}
diff --git a/file_demo_bios/omapl137/files_io_8.gel b/file_demo_bios/omapl137/files_io_8.gel
--- /dev/null
@@ -0,0 +1,144 @@
+/******************************************************************************
+ * Copyright (c) 2012-16 Texas Instruments Incorporated - http://www.ti.com
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *****************************************************************************
+ *
+ * Filename: file_io.gel
+ * Description: GEL file to load microphone files
+ * EVM. This GEL has functions that handle the Main PLL
+ * initialization.
+ *
+ * More functions may be added as needed at a later date.
+ *
+ * Author: Nitin Sakhuja
+ * Revision History:
+ *
+ * Rev 1.0 - 02/06/2012
+ * - Initial file creation
+ ---------------------------------------------------------------------------*/
+
+#define MIC1PATH "$(GEL_file_dir)/../../common/t8/y16L8g3m7090_1.pcm"
+#define MIC2PATH "$(GEL_file_dir)/../../common/t8/y16L8g3m7090_2.pcm"
+#define MIC3PATH "$(GEL_file_dir)/../../common/t8/y16L8g3m7090_3.pcm"
+#define MIC4PATH "$(GEL_file_dir)/../../common/t8/y16L8g3m7090_4.pcm"
+#define MIC5PATH "$(GEL_file_dir)/../../common/t8/y16L8g3m7090_5.pcm"
+#define MIC6PATH "$(GEL_file_dir)/../../common/t8/y16L8g3m7090_6.pcm"
+#define MIC7PATH "$(GEL_file_dir)/../../common/t8/y16L8g3m7090_7.pcm"
+#define MIC8PATH "$(GEL_file_dir)/../../common/t8/y16L8g3m7090_8.pcm"
+
+#define OUTPUTPATH "$(GEL_file_dir)/../../common/t8/fileOutput8.bin"
+
+BFLoadMic(buffer,micpath)
+{
+ GEL_MemoryLoad(buffer,0,160,micpath,32);
+}
+
+BFSaveMic(buffer,num, micpath)
+{
+ GEL_MemorySave(buffer,0,num,micpath,8,0,32);
+}
+
+menuitem "Microphone Load Functions";
+
+dialog BFLoadOneMic(buffer "Buffer Address",micpath "Microphone File Path")
+{
+ GEL_TextOut("Loading %s\n","",,,,micpath);
+ BFLoadMic(buffer,micpath);
+}
+
+hotmenu BFLoadMic1()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC1PATH);
+ BFLoadMic(filBuf0,MIC1PATH);
+}
+
+hotmenu BFLoadMic2()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC2PATH);
+ BFLoadMic(filBuf1,MIC2PATH);
+}
+
+hotmenu BFLoadMic3()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC3PATH);
+ BFLoadMic(filBuf2,MIC3PATH);
+}
+
+hotmenu BFLoadMic4()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC4PATH);
+ BFLoadMic(filBuf3,MIC4PATH);
+}
+
+hotmenu BFLoadMic5()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC5PATH);
+ BFLoadMic(filBuf4,MIC5PATH);
+}
+
+hotmenu BFLoadMic6()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC6PATH);
+ BFLoadMic(filBuf5,MIC6PATH);
+}
+
+hotmenu BFLoadMic7()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC7PATH);
+ BFLoadMic(filBuf6,MIC7PATH);
+}
+
+hotmenu BFLoadMic8()
+{
+ GEL_TextOut("Loading %s\n","",,,,MIC8PATH);
+ BFLoadMic(filBuf7,MIC8PATH);
+}
+
+hotmenu BFLoadMicAll()
+{
+ BFLoadMic1();
+ BFLoadMic2();
+ BFLoadMic3();
+ BFLoadMic4();
+ BFLoadMic5();
+ BFLoadMic6();
+ BFLoadMic7();
+ BFLoadMic8();
+ GEL_TextOut("Done Loading Microphones\n");
+}
+
+menuitem "Microphone Save Functions";
+
+hotmenu BFSaveOutput()
+{
+ GEL_TextOut("Saving %s\n","",,,,OUTPUTPATH);
+ BFSaveMic(filOutBuf0,filConfig.outlen/2,OUTPUTPATH);
+}
similarity index 81%
rename from file_demo_bios/da830/main.c
rename to file_demo_bios/omapl137/main.c
index 080608d710f792c85c65435d2b2e1d3b9e100a0d..f70c07ae6d5ca118fd24e6452088a86ebba34c83 100644 (file)
rename from file_demo_bios/da830/main.c
rename to file_demo_bios/omapl137/main.c
index 080608d710f792c85c65435d2b2e1d3b9e100a0d..f70c07ae6d5ca118fd24e6452088a86ebba34c83 100644 (file)
/*
- * Copyright (c) 2016, Texas Instruments Incorporated
+ * Copyright (c) 2017, Texas Instruments Incorporated
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
#include <ti/mas/types/types.h>
#include <ti/mas/util/ecomem.h>
-#include "components/fil.h"
-#include "components/sys.h"
+#include "../../common/components/fil.h"
+#include "../../common/components/sys.h"
/* Global System Configuration Structure */
sysConfig_t sysConfig = {
SYS_MICS_MAX, /* #microphones */
SYS_VMICS_MAX, /* #virtual microphones */
+ 5, /* 5ms ASNR delay */
+ { 12, 9, 6}, /* ASNR band1=12dB, band2=9dB, band3=6dB */
+ TRUE, /* Enable ASNR */
FALSE, /* Do not use file I/O to load files (must use GEL to load into memory) */
- TRUE /* Use default angles for microphone configurations */
+ TRUE, /* Use default angles for microphone configurations */
+ FALSE, /* Enable VAD */
+ -50, /* drc expansion knee point in dBm0 (dBFS is dBm0-3dB */
+ 6, /* drc max gain in dB */
+ FALSE /* Disable DRC */
};
/* Global FILE I/O Configuration Structure (must be configured even when file I/O not used */
/* Miocrophone input files names (in case we want to use FILE I/O to load into memory */
char *filNames[FIL_MAX] = {
- "../t8/y16L8g3m7090_1.pcm",
- "../t8/y16L8g3m7090_2.pcm",
- "../t8/y16L8g3m7090_3.pcm",
- "../t8/y16L8g3m7090_4.pcm",
- "../t8/y16L8g3m7090_5.pcm",
- "../t8/y16L8g3m7090_6.pcm",
- "../t8/y16L8g3m7090_7.pcm",
- "../t8/y16L8g3m7090_8.pcm"
+#if FIL_MAX==8
+ "../../../common/t8/y16L8g3m7090_1.pcm",
+ "../../../common/t8/y16L8g3m7090_2.pcm",
+ "../../../common/t8/y16L8g3m7090_3.pcm",
+ "../../../common/t8/y16L8g3m7090_4.pcm",
+ "../../../common/t8/y16L8g3m7090_5.pcm",
+ "../../../common/t8/y16L8g3m7090_6.pcm",
+ "../../../common/t8/y16L8g3m7090_7.pcm",
+ "../../../common/t8/y16L8g3m7090_8.pcm"
+#else
+"../../../common/t8/y16L7g3m7090_1.pcm",
+"../../../common/t8/y16L7g3m7090_2.pcm",
+"../../../common/t8/y16L7g3m7090_3.pcm",
+"../../../common/t8/y16L7g3m7090_4.pcm",
+"../../../common/t8/y16L7g3m7090_5.pcm",
+"../../../common/t8/y16L7g3m7090_6.pcm",
+"../../../common/t8/y16L7g3m7090_7.pcm",
+#endif
};
/* Acoustic environment */
System_printf("Read %ld samples from %s\n", n, filNames[k]);
}
}
- ///System_flush();
+ System_flush();
/* If we are not using FILE I/O to load mic files, we need to use GEL to load into memory. */
} /* system_init */
sysBfCreate(); /* Create beamformers */
sysAsnrCreate(); /* Create ASNR's */
sysMssCreate(); /* Create MSS */
- sysVauCreate(); /* Create VAU */
+#if (SYS_USE_DRC)
+ sysDrcCreate(); /* Create DRC */
+#endif
+ //sysVauCreate(); /* Create VAU */
BIOS_start();
similarity index 100%
rename from file_demo_bios/da830/makefile.defs
rename to file_demo_bios/omapl137/makefile.defs
rename from file_demo_bios/da830/makefile.defs
rename to file_demo_bios/omapl137/makefile.defs
similarity index 100%
rename from file_demo_bios/da830/readme.txt
rename to file_demo_bios/omapl137/readme.txt
rename from file_demo_bios/da830/readme.txt
rename to file_demo_bios/omapl137/readme.txt
similarity index 100%
rename from file_demo_bios/da830/src/.exclude
rename to file_demo_bios/omapl137/src/.exclude
rename from file_demo_bios/da830/src/.exclude
rename to file_demo_bios/omapl137/src/.exclude