summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 80ae79e)
raw | patch | inline | side by side (parent: 80ae79e)
author | Lalindra Jayatilleke <lalindra@ti.com> | |
Tue, 9 Aug 2016 14:38:11 +0000 (10:38 -0400) | ||
committer | Lalindra Jayatilleke <lalindra@ti.com> | |
Tue, 9 Aug 2016 14:39:28 +0000 (10:39 -0400) |
54 files changed:
diff --git a/c55x-digital-mic-decimation_1.0_manifest.html b/c55x-digital-mic-decimation_1.0_manifest.html
--- /dev/null
@@ -0,0 +1,328 @@
+<!--\r\r
+Texas Instruments Manifest Format 2.0\r\r
+-->\r\r
+\r\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\r\r
+<html>\r\r
+\r\r
+<head>\r\r
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />\r\r
+<!-- @Start Style -->\r\r
+<!-- Default style in case someone doesnt have Internet Access -->\r\r
+<style type="text/css" id="internalStyle">\r\r
+ body, div, p {\r\r
+ font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;\r\r
+ font-size: 13px;\r\r
+ line-height: 1.3;\r\r
+ }\r\r
+ body {\r\r
+ margin: 20px; \r\r
+ }\r\r
+ h1 {\r\r
+ font-size: 150%;\r\r
+ }\r\r
+ h2 {\r\r
+ font-size: 120%;\r\r
+ }\r\r
+ h3 {\r\r
+ font-size: 100%;\r\r
+ }\r\r
+ img {\r\r
+ border: 0px;\r\r
+ vertical-align: middle;\r\r
+ }\r\r
+ table, th, td, tr {\r\r
+ border: 1px solid black; \r\r
+ font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;\r\r
+ font-size: 13px;\r\r
+ line-height: 1.3;\r\r
+ empty-cells: show; \r\r
+ padding: 5px;\r\r
+ }\r\r
+ table {\r\r
+ border-collapse: collapse; \r\r
+ width: 100%;\r\r
+ }\r\r
+ tr {\r\r
+ page-break-inside: avoid;\r\r
+ }\r\r
+ #TIlogoLeft {\r\r
+ background-color: black; \r\r
+ padding: 0;\r\r
+ width: 20%;\r\r
+ }\r\r
+ #TIlogoRight {\r\r
+ background-color: red; \r\r
+ padding: 0;\r\r
+ }\r\r
+ #ProductName {\r\r
+ text-align: center;\r\r
+ }\r\r
+ #ReleaseDate {\r\r
+ text-align: center;\r\r
+ }\r\r
+ .LogoSection {\r\r
+ margin: 0;\r\r
+ padding: 0;\r\r
+ }\r\r
+ .HeaderSection {\r\r
+ margin: 25px 0 25px 0;\r\r
+ padding: 0;\r\r
+ }\r\r
+ .LegendSection {\r\r
+ margin: 25px 0 25px 0;\r\r
+ }\r\r
+ .ExportSection {\r\r
+ margin: 25px 0 25px 0;\r\r
+ }\r\r
+ .DisclaimerSection {\r\r
+ margin: 25px 0 25px 0; \r\r
+ }\r\r
+ .CreditSection {\r\r
+ margin: 25px 0 25px 0; \r\r
+ }\r\r
+ .LicenseSection {\r\r
+ margin: 25px 0 25px 0; \r\r
+ }\r\r
+ .ManifestTable {\r\r
+ margin: 25px 0 25px 0; \r\r
+ }\r\r
+</style> \r\r
+<!-- Override style from TI if they have Internet Access -->\r\r
+<link type="text/css" rel="stylesheet" href="timanifeststyle.css">\r\r
+<!-- @End Style -->\r\r
+<title>Texas Instruments Manifest</title>\r\r
+</head>\r\r
+\r\r
+<body><!-- Logo display, will need to fix up the URLs, this is just for testing.. Image alternate display not wporking well yet -->\r\r
+<div class="LogoSection">\r\r
+<table>\r\r
+ <tbody>\r\r
+ <tr>\r\r
+ <td id="TIlogoLeft">\r\r
+ <a href="http://www.ti.com/">\r\r
+ <!-- img src="tilogo.gif" alt="Texas Instruments Incorporated" -->\r\r
+ <img alt="" src="data:image/gif;base64,R0lGODlh3gA2AKIAAAAAAP///7u7u29vbz8/PwYGBujo6BgYGCH5BAAAAAAALAAAAADeADYAAAP/CLrc/jDKSau9OOvNu/9gKI5kaZ5oqq5s675wLM90bd94ru987//AoHBILBqPyKRyyWw6n9CodHorDALYLIHKJVqz2q44eAUHtoDB4DBu48rgLQErcNtnX7NhMDcICIB3gix5ZmtqAAZZew8EAo+QkQIDNVZqiIM1cHGKZ4YPAmaiAWw0c1gFmZqjB3SbZ6kNe6WhsAeOlDV0qjSFAXUAp7lwuREFtVsFgMvLB7fNAM+BCs+lDLd8BNYOuxfV22PL0RiWlwO1u3kDqejAEsjR6GB86FsHoYwA6gxWnVgGEegUuIelWJk6jswAGlXQ36J1xBSoQwfulIEDr/6l+VeK/+AehrAGOHRnAWRBbbWegckXAV6wk4AeRQtDQBEaBYsYlMl2hUCsBt0iKgilT9EfAlfO7SmzdKkrkQUT/fqZSECqLCSlntH375IAA1tqGUilLIBSNVnU+NmJNBRVChlF1QwAdlRWBy5P3QymwCLBYhs73cTHYBq3X33nDQ2wcWuBgef0FRD4GK3jU3VCZZUJAIw1OGg0P+4bFiubOWoOsEP1+KvZn3wurDbZ6lfcuw3yYkFjRSeYzRe7ARAbW0K3PmGIMi0OFDG1Mmha+RnufAHn3xL9ha6uTZ/rXagZ1GKAtTsHeWb+FEQvHILuX4+mLzj2j2r4TrFesTwMbE5Cuv8JzbTSGuRV1xgfUJFC3WbA0JWFalcItpgf8YU2yT/qATaedent5cBb8zk0DzIitgfKbonRFV9Wp2xl3UXq5Ccibp05598BnRigiAIJmrZAexkJQIuBwzX4CB3SQbeYQkPVAUco63DI2HzsAdYAiAvEZdYlaVQ5wXs3+bQAjovEUoBRR9LVAFLaPXCcY/KMqVRasQB5kiJgLcYgTkJiuCWKC2ZpIY/z/LRhYefkBAGW1HTyRy2UjObLHxSAOZ948EUVGCSC3SLZbB7iZKOLc2GRRgMH/VhdHnJwFCgD8iEGx0VKvpqbO+hoaCppEg3UiTES1CTkhNaQ+Qs4LQGql07/lET4mIQ6SvTSVGZ9Bmhz/bkYzK+PFKtpje6wumRm1wrLZzSdQASoZvyswdmSuk7p616HfkjBTxZBQucFgqXCFKdn1NpiUlQJhs8kteBWG0AbATbXS2tBlaeoVkmJRova4KkGPmhMFdiSYmq8cbTRYhrlkiHaNufJ9mIgVqEXnAOJM5JE4sgjudQ8bF82x+cKBP4Iiedecyjgx2/WtMNjjhcL9h+S4xq9RYJgsbeeUbmdrPTSQbPccsyijEXOfI8xyuinVJH1wdkS/MQ2Bc5Iq08DyHYwGglvPyCilbz0fa8GLV7r9+Btb7CJ14Qnzg8HpdKoOOF5Py752JNXvrblNphzEHnmnF/a+ecTbA465qKPXnnppkuOeuqKr8465K+z7nrsfc9Ouyq23z5I7rrfwXvvbhSQAAA7" />\r\r
+ </a>\r\r
+ </td>\r\r
+ <td id="TILogoRight">\r\r
+ <!-- img src="titagline.gif" alt="Technology for Innovators(tm)"-->\r\r
+ <img alt="" src="data:image/gif;base64,R0lGODlhOgEaALMAAP8AAP////92dv+3t/+Njf/W1v/t7f8hIf/19f+jo//Hx/8/P/9cXP/j4//6+v/+/iH5BAAAAAAALAAAAAA6ARoAAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz3Rt33iu73zv/8CgcEgsGo/IpHLJbDqft0NDMCBQodis1jcADBKE7nYcCpjPgU5AQBKkVYOHAeRudqtXsh60/vRHdSoBBCGBNAkLe4o4f2psgG8pjR6GM5OLmDB/DA0GBoQADAgICRIBBQUOYgwGCg2kEgudBgUHAIGcBg0MsZ0NCnMGYgsBtqEGAbCynrW3AQONgcIFBgiErK6wAAfUtLbCscWiowoAyLDczLZu0AIJCAYOoJn0G38ObAwPEvLEts/O1vUhsA8AAjGonEmA9W6hGAVpEjiQoKBAhT8HJSRkVyEQQAAJ//a5YeMPQIFyACqCnJjSIgFCB4oB+HOSokWOAB6wIWCxnk8MfYh5QsYg5sVHfQLVMSqhztJIxWIaC6QzJy8KfZgqrNT0zR+nUNl8fSMvZ6IDwJCJRfoI7IR4Cub9nDsha6RwR02xUZpGq1utUWUq9FKgYV6/abgOHjt45tquEgY0SDDHoJg+fxhXolKNrmfH/EoR5EdAKmjQfB1qvPmGIQIJ3g4gC2egVF7LqxtP8Ng2cViTKFUCIGbNFKEEmB/VbDlYdqLRn+du8oTg6jjbmfe+CbTM2+BcuySgbQVtQoOCt7s3U8wbsqGs3ZppZLnylwFe8Uql825ogANPckUnYDoOCogxQGXADajggjcw4AA8DSSyTQASMmjhhTQscBWGHHbo4YcghijiiCSWaOKJKKao4oostugiFBEAADs=" />\r\r
+ </td>\r\r
+ </tr>\r\r
+ </tbody>\r\r
+</table>\r\r
+</div><div class="HeaderSection">\r\r
+<h1 id="ProductName">\r\r
+<!-- @Start Product -->\r\r
+c55x-digital-mic-decimation Manifest\r\r
+<!-- @End Product -->\r\r
+</h1>\r\r
+\r\r
+<h2 id="ReleaseDate">\r\r
+<!-- @Start Date -->\r\r
+08-01-2016\r\r
+<!-- @End Date -->\r\r
+</h2>\r\r
+\r\r
+\r\r
+<h2 id="SRASID">\r\r
+<!-- @Start Date -->\r\r
+Manifest ID - SRAS00003104\r\r
+<!-- @End Date -->\r\r
+</h2>\r\r
+</div><div class="LegendSection">\r\r
+<h2>Legend</h2>\r\r
+<p>(explanation of the fields in the Manifest Table below)</p>\r\r
+<table>\r\r
+<tbody>\r\r
+<tr>\r\r
+<td>\r\r
+<b>Software Name </b>\r\r
+</td>\r\r
+<td>\r\r
+The name of the application or file\r\r
+</td>\r\r
+</tr>\r\r
+<tr>\r\r
+<td>\r\r
+<b>Version</b>\r\r
+</td>\r\r
+<td>\r\r
+Version of the application or file\r\r
+</td>\r\r
+</tr>\r\r
+<tr>\r\r
+<td>\r\r
+<b>License Type</b>\r\r
+</td>\r\r
+<td>\r\r
+Type of license(s) under which TI will be providing\r\r
+software to the licensee (e.g. BSD-3-Clause, GPL-2.0, TI TSPA License, TI\r\r
+Commercial License). The license could be under Commercial terms or Open Source. See Open Source Reference License Disclaimer in\r\r
+the Disclaimers Section. Whenever possible, TI will use an <a href="http://spdx.org/licenses/"> SPDX Short Identifier </a> for an Open Source\r\r
+License. TI Commercial license terms are not usually included in the manifest and are conveyed through a variety \r\r
+of means such as a clickwrap license upon install, \r\r
+a signed license agreement and so forth.\r\r
+</td>\r\r
+</tr>\r\r
+<tr>\r\r
+<td>\r\r
+<b>Location</b>\r\r
+</td>\r\r
+<td>\r\r
+The directory name and path on the media or a specific file where the Software is located. Typically fully qualified path names \r\r
+are not used and instead the relevant top level directory of the application is given. \r\r
+A notation often used in the manifests is [as installed]/directory/*. Note that the asterisk implies that all\r\r
+files under that directory are licensed as the License Type field denotes. Any exceptions to this will \r\r
+generally be denoted as [as installed]/directory/* except as noted below which means as shown in subsequent rows of \r\r
+the manifest.\r\r
+</td>\r\r
+</tr>\r\r
+<tr>\r\r
+<td>\r\r
+<b>Delivered As</b>\r\r
+</td>\r\r
+<td>\r\r
+This field will either be “Source”, “Binary” or “Source\r\r
+and Binary” and is the primary form the content of the Software is delivered\r\r
+in. If the Software is delivered in an archive format, this field\r\r
+applies to the contents of the archive. If the word Limited is used\r\r
+with Source, as in “Limited Source” or “Limited Source and Binary” then\r\r
+only portions of the Source for the application are provided.\r\r
+</td>\r\r
+</tr>\r\r
+<tr>\r\r
+<td>\r\r
+<b>Modified by TI</b>\r\r
+</td>\r\r
+<td>\r\r
+This field will either be “Yes” or “No”. A “Yes” means\r\r
+TI has made changes to the Software. A “No” means TI has not made any\r\r
+changes. Note: This field is not applicable for Software “Obtained\r\r
+from” TI.\r\r
+</td>\r\r
+</tr>\r\r
+<tr>\r\r
+<td>\r\r
+<b>Obtained from</b>\r\r
+</td>\r\r
+<td>\r\r
+This field specifies from where or from whom TI obtained\r\r
+the Software. It may be a URL to an Open Source site, a 3<sup>rd</sup>\r\r
+party licensor, or TI. See Links Disclaimer in the Disclaimers\r\r
+Section.\r\r
+</td>\r\r
+</tr>\r\r
+</tbody>\r\r
+</table>\r\r
+</div><div class="DisclaimerSection">\r\r
+<h2>Disclaimers</h2>\r\r
+<h3>Export Control Classification Number (ECCN)</h3>\r\r
+<p>Any use of ECCNs listed in the Manifest is at the user’s risk\r\r
+and without recourse to TI. Your\r\r
+company, as the exporter of record, is responsible for determining the\r\r
+correct classification of any item at\r\r
+the time of export. Any export classification by TI of Software is for\r\r
+TI’s internal use only and shall not be construed as a representation\r\r
+or warranty\r\r
+regarding the proper export classification for such Software or whether\r\r
+an export\r\r
+license or other documentation is required for exporting such Software</p>\r\r
+<h3>Links in the Manifest</h3>\r\r
+<p>Any\r\r
+links appearing on this Manifest\r\r
+(for example in the “Obtained from” field) were verified at the time\r\r
+the Manifest was created. TI makes no guarantee that any listed links\r\r
+will\r\r
+remain active in the future.</p>\r\r
+<h3>Open Source License References</h3>\r\r
+<p>Your company is responsible for confirming the\r\r
+applicable license terms for any open source Software\r\r
+listed in this Manifest that was not “Obtained from” TI. Any open\r\r
+source license\r\r
+specified in this Manifest for Software that was\r\r
+not “Obtained from” TI is for TI’s internal use only and shall not be\r\r
+construed as a representation or warranty regarding the proper open\r\r
+source license terms\r\r
+for such Software.</p>\r\r
+</div><div class="ExportSection">\r\r
+<h2>Export Information</h2>\r\r
+<p>ECCN for Software included in this release:</p>\r\r
+Publicly Available - Open Source or TI TSPA License\r\r
+</div><div class="ManifestTable">\r\r
+<!-- h2>Manifest Table</h2 -->\r\r
+ \r
+ <table> \r
+ <tbody> \r
+ \r
+ <h2> \r
+ c55x-digital-mic-decimation Manifest Table \r
+ </h2> \r
+ \r
+ \r
+ <p> \r
+ \r
+ See the Legend above for a description of these columns. \r
+ \r
+ </p> \r
+ \r
+ <table id="targetpackages" name="targetpackages"> \r
+ <thead> \r
+ <tr> \r
+ <td><b>Software Name</b></td> \r
+ <td><b>Version</b></td> \r
+ <td><b>License Type</b></td> \r
+ <td><b>Delivered As</b></td> \r
+ <td><b>Modified by TI</b></td> \r
+ <td></td> \r
+ <td></td> \r
+ </tr> \r
+ </thead> \r
+ \r
+ \r
+ <tbody> \r
+ <tr> \r
+ <td id="name" name="name" rowspan="2"> \r
+ c55x-digital-mic-decimation \r
+ </td> \r
+ <td id="version" name="version" rowspan="2"> \r
+ 1.0 \r
+ </td> \r
+ <td id="license" name="license" rowspan="2"> \r
+ BSD-3-Clause \r
+ </td> \r
+ <td id="delivered" name="delivered" rowspan="2"> \r
+ Source and Binary \r
+ </td> \r
+ <td id="modified" name="modified" rowspan="2"> \r
+ N/A \r
+ </td> \r
+ <td><b>Location</b></td> \r
+ <td id="location" name="location"> \r
+ c55x-digital-mic-decimation/ \r
+ </td> \r
+ </tr> \r
+ <tr> \r
+ <td><b>Obtained from</b></td> \r
+ <td id="obtained" name="obtained"> \r
+ Texas Instruments \r
+ </td> \r
+ </tr> \r
+ \r
+ </tbody> \r
+ </table> \r
+ \r
+ </p> \r
+ </p> \r
+ <p> \r
+\r\r
+</div><div class="CreditSection">\r\r
+<h2>Credits</h2>\r\r
+<BR> <BR><BR><BR><BR>\r\r
+</div><div class="LicenseSection">\r\r
+<h2>Licenses</h2>\r\r
+<BR><h3><b> c55x-digital-mic-decimation Licenses </b></h3><BR> <BR>The BSD 3-Clause License<BR><BR>Copyright (c) 2016, Texas Instruments Incorporated <BR>All rights reserved.<BR>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<BR>1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<BR>2. 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.<BR>3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.<BR>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 HOLDER 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.<BR><BR> <BR><BR>\r\r
+</div>\r\r
+\r\r
+</body></html>
\ No newline at end of file
diff --git a/include/BlkFirDecim.h b/include/BlkFirDecim.h
--- /dev/null
+++ b/include/BlkFirDecim.h
@@ -0,0 +1,52 @@
+/* ============================================================================
+ * Copyright (c) 2016 Texas Instruments Incorporated.
+ *
+ * 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.
+ *
+ ===============================================================================*/
+#ifndef __BLK_FIR_DECIM_H__
+#define __BLK_FIR_DECIM_H__
+
+//#include "data_types.h"
+
+/* Block decimating FIR, */
+/* S18Q16 input and output data, */
+/* S16Q15 coefficients. */
+/* Decimation factor fixed at 2. */
+/* Computes two outputs per inner loop (assumes even number of outputs). */
+void blkFirDecim2(
+ Int32 *inSamps, /* input samples (S18Q16) */
+ Int16 *coefs, /* filter coefficients (S16Q15) */
+ Int32 *outSamps, /* output samples (S18Q16) */
+ Int32 *dlyBuf, /* delay buffer */
+ Uint16 numInSamps, /* number of input samples */
+ Uint16 numCoefs /* number of coefficients */
+);
+
+#endif /* __BLK_FIR_DECIM_H__ */
diff --git a/include/BlkIir.h b/include/BlkIir.h
--- /dev/null
+++ b/include/BlkIir.h
@@ -0,0 +1,68 @@
+/* ============================================================================
+ * Copyright (c) 2016 Texas Instruments Incorporated.
+ *
+ * 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.
+ *
+ ===============================================================================*/
+#ifndef __BLK_IIR_H__
+#define __BLK_IIR_H__
+
+#include "data_types.h"
+
+/* Block IIR, Direct Form II */
+/* S18Q16 input and output data */
+/* Fixed-point format of coefficients determined by coefficient integer wordlength parameter */
+/* Input gain applied to input signal */
+void blkIirDf2(
+ Int32 *inSamps, /* input samples (S18Q16) */
+ Int16 *coefs, /* filter coefficients (S16Q15) */
+ Int32 *outSamps, /* output samples (S18Q16) */
+ Int32 *dlyBuf, /* delay buffer */
+ Uint16 inGain, /* input gain (U16Q16) */
+ Uint16 numInSamps, /* number of input samples */
+ Uint16 numBiquads, /* number of biquads */
+ Uint16 coefIWL /* coefficient integer wordlength */
+);
+
+/* Block IIR, Direct Form I */
+/* S18Q16 input and output data */
+/* Fixed-point format of coefficients determined by coefficient integer wordlength parameter */
+/* Input gain applied to input signal */
+void blkIirDf1(
+ Int32 *inSamps, /* input samples (S18Q16) */
+ Int16 *coefs, /* filter coefficients (S16Q15) */
+ Int32 *outSamps, /* output samples (S18Q16) */
+ Int32 *dlyBuf, /* delay buffer */
+ Uint16 inGain, /* input gain (U16Q16) */
+ Uint16 numInSamps, /* number of input samples */
+ Uint16 numBiquads, /* number of biquads */
+ Uint16 coefIWL /* coefficient integer wordlength */
+);
+
+#endif /* __BLK_IIR_H__ */
diff --git a/include/IdleLoop.h b/include/IdleLoop.h
--- /dev/null
+++ b/include/IdleLoop.h
@@ -0,0 +1,78 @@
+/* ============================================================================
+ * Copyright (c) 2016 Texas Instruments Incorporated.
+ *
+ * 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.
+ *
+ ===============================================================================*/
+
+#ifndef IDLELOOP_H_
+#define IDLELOOP_H_
+
+#include "pll_control.h"
+
+/* DSP LDO setting */
+#define DSP_LDO ( 105 )
+//#define DSP_LDO ( 130 )
+
+/* PLL output MHz setting */
+#define PLL_MHZ ( PLL_FREQ_16P384MHZ )
+//#define PLL_MHZ ( PLL_FREQ_32P768MHZ )
+
+#define NUM_INSAMP_PER_MS ( 1024 ) // 1-bit samples per msec
+#define NUM_IN32BW_PER_MS ( NUM_INSAMP_PER_MS/32 ) // 32-bit input words per msec
+#define NUM_IN32BW_PER_MS_PER_CH ( NUM_IN32BW_PER_MS/2 ) // 32-bit input words per msec/channel
+
+#define NUM_MS_PER_FRAME ( 20 ) // msec per frame
+
+#define IN_FRAME_LEN_PER_CH ( NUM_IN32BW_PER_MS_PER_CH*NUM_MS_PER_FRAME) // input frame length per channel
+
+#define FIR_DF ( 2 ) // FIR1/FIR2 decimation factor
+
+#define CIC_OUT_FRAME_LEN ( NUM_INSAMP_PER_MS*NUM_MS_PER_FRAME / CIC_DF ) // output frame length
+#define FIR1_OUT_FRAME_LEN ( CIC_OUT_FRAME_LEN / FIR_DF ) // FIR1 output frame length
+#define FIR2_OUT_FRAME_LEN ( FIR1_OUT_FRAME_LEN / FIR_DF ) // FIR2 output frame length
+#define DIGGAIN_OUT_FRAME_LEN ( FIR2_OUT_FRAME_LEN ) // digital gain output frame length
+
+#define FIR1_NUM_COEFS ( 15 ) // FIR1 number of coefficients
+#define FIR2_NUM_COEFS ( 58 ) // FIR2 number of coefficients
+
+
+#define NUM_FRAMES_PER_CIRCBUF ( 10 ) // frames in circular buffer
+
+#define IN_CIRCBUF_LEN ( NUM_IN32BW_PER_MS_PER_CH*NUM_MS_PER_FRAME*NUM_FRAMES_PER_CIRCBUF ) // input circular buffer length
+#define CIC_OUT_CIRCBUF_LEN ( CIC_OUT_FRAME_LEN*NUM_FRAMES_PER_CIRCBUF)
+#define FIR1_OUT_CIRCBUF_LEN ( FIR1_OUT_FRAME_LEN*NUM_FRAMES_PER_CIRCBUF )
+#define FIR2_OUT_CIRCBUF_LEN ( FIR2_OUT_FRAME_LEN*NUM_FRAMES_PER_CIRCBUF )
+#define DIGGAIN_OUT_CIRCBUF_LEN ( FIR2_OUT_CIRCBUF_LEN )
+
+// ping pong buffer size 32 bits per sample, one frame for ping, one frame for pong
+// *2 for ping/pong
+#define I2S_DMA_BUF_LEN ( IN_FRAME_LEN_PER_CH*2 )
+
+#endif /*IDLELOOP_H_*/
diff --git a/include/data_types.h b/include/data_types.h
--- /dev/null
+++ b/include/data_types.h
@@ -0,0 +1,88 @@
+/* ============================================================================
+ * Copyright (c) 2016 Texas Instruments Incorporated.
+ *
+ * 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.
+ *
+ ===============================================================================*/
+#ifndef __DATA_TYPES_H__
+#define __DATA_TYPES_H__
+
+//#define FALSE ( 0 )
+//#define TRUE ( 1 )
+
+#ifdef WIN32
+#define restrict
+#define onchip
+#define Int40 Int64
+#define Uint40 Uint64
+
+typedef short Int16;
+typedef long Int32;
+typedef unsigned short Uint16;
+typedef unsigned long Uint32;
+typedef float Float32;
+typedef double Float64;
+//typedef float Float64;
+#if (_MSC_VER == 1200)
+typedef __int64 Int64;
+typedef unsigned __int64 Uint64;
+#else
+typedef long long Int64;
+typedef unsigned long long Uint64;
+#endif
+
+#elif defined(__TMS320C55X__)
+#define Int64 Int40 /* no 64-bit integer on C55x */
+#define Uint64 Uint40
+#define Float32 Float64 /* no 64-bit float on C55x */
+
+typedef short Int16;
+typedef long Int32;
+typedef long long Int40;
+typedef unsigned short Uint16;
+typedef unsigned long Uint32;
+typedef unsigned long long Uint40;
+typedef float Float32;
+
+#else
+#define restrict
+#define Int40 Int64
+
+typedef short Int16;
+typedef int Int32;
+typedef long long Int64;
+typedef unsigned short Uint16;
+typedef unsigned int Uint32;
+typedef unsigned long long Uint64;
+typedef float Float32;
+typedef double Float64;
+
+#endif
+
+#endif /* __DATA_TYPES_H__ */
diff --git a/include/diggain.h b/include/diggain.h
--- /dev/null
+++ b/include/diggain.h
@@ -0,0 +1,48 @@
+/* ============================================================================
+ * Copyright (c) 2016 Texas Instruments Incorporated.
+ *
+ * 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.
+ *
+ ===============================================================================*/
+#ifndef __DIGGAIN_H__
+#define __DIGGAIN_H__
+
+//#include "data_types.h"
+
+/* Applies digital gain and saturates output. */
+/* S18Q16 input data, S16Q15 output data. */
+/* U16Q8 digital gain. */
+void appDiggain(
+ Int32 *inSamps, /* input samples (S18Q16) */
+ Uint16 diggain, /* digital gain (U16Q8) */
+ Int16 *outSamps, /* output samples (S16Q15) */
+ Uint16 numInSamps /* number of input samples */
+);
+
+#endif /* __DIGGAIN_H__ */
diff --git a/include/pick_bits_cic.h b/include/pick_bits_cic.h
--- /dev/null
+++ b/include/pick_bits_cic.h
@@ -0,0 +1,55 @@
+/* ============================================================================
+ * Copyright (c) 2016 Texas Instruments Incorporated.
+ *
+ * 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.
+ *
+ ===============================================================================*/
+
+#ifndef __PICK_BITS_CIC_H__
+#define __PICK_BITS_CIC_H__
+
+//#include "data_types.h"
+
+#define CIC_DF ( 16 ) /* decimation factor for CIC */
+#define CIC_NS ( 4 ) /* number of stages for CIC */
+
+/* Unpacks "left" and "right" 32-bit packed DMA buffers containing output from digital mic. */
+/* Performs CIC on unpacked data, DS = 16 & NS = 4. */
+void pickBitsCic(
+ Uint32 *lData, /* "left" channel 32-bit packed input data */
+ Uint32 *rData, /* "right" channel 32-bit packed input data */
+ Uint16 inDataLen, /* length of "left" or "right" input data in 32-bit words */
+ Int32 *cicState, /* CIC state. First NS values are integrator state, next NS values are differentiator delay buffer */
+ Int32 *outSamps, /* CIC output samples */
+ Uint16 *pNumOutSamps /* CIC number of output samples */
+);
+
+#endif
+
+/* __PICK_BITS_CIC_H__ */
diff --git a/include/pick_bits_cic.inc b/include/pick_bits_cic.inc
--- /dev/null
@@ -0,0 +1,34 @@
+;============================================================================
+; Copyright (c) 2016 Texas Instruments Incorporated.
+;
+; 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.
+;
+;===============================================================================
+DS .set ( 16 ) ; decimation factor for CIC
+NS .set ( 4 ) ; number of stages for CIC
diff --git a/include/pll_control.h b/include/pll_control.h
--- /dev/null
+++ b/include/pll_control.h
@@ -0,0 +1,59 @@
+/* ============================================================================
+ * Copyright (c) 2016 Texas Instruments Incorporated.
+ *
+ * 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.
+ *
+ ===============================================================================*/
+#ifndef _PLL_CONTROL_H_
+#define _PLL_CONTROL_H_
+
+#include "csl_types.h"
+
+/* PLL frequency setting options -- all options use RTC clock as input */
+typedef enum
+{
+ PLL_FREQ_16P384MHZ = 0,
+ PLL_FREQ_32P768MHZ,
+ PLL_FREQ_40MHZ,
+ PLL_FREQ_50MHZ,
+ PLL_FREQ_60MHZ,
+ PLL_FREQ_75MHZ,
+ PLL_FREQ_100MHZ,
+ PLL_FREQ_120MHZ
+} EPllFreq;
+
+/* Sets PLL to desired output frequency =
+{32.768, 40, 50, 60, 75, 100, 120} MHZ.
+Default is 60 MHz.
+Assumes CPU core voltage is set appropriately for requested output frequency. */
+CSL_Status pll_sample(
+ EPllFreq pllFreq
+);
+
+#endif /* _PLL_CONTROL_H_ */
diff --git a/matlab_scripts/dig_mic_decimation_ConvertCCSbuf2wav.m b/matlab_scripts/dig_mic_decimation_ConvertCCSbuf2wav.m
--- /dev/null
@@ -0,0 +1,31 @@
+%Script to convert circular buffer PCM data output from CCS to a .wav file.
+
+close all
+clear;
+
+FSI = 1.024e6; % digital mic sampling rate
+M1 = 16; % CIC decimation factor
+M2 = 2; % FIR1 decimation factor
+M3 = 2; % FIR2 decimation factor
+FS1 = FSI/M1; % FIR1 sampling rate
+FS2 = FS1/M2; % FIR2 sampling rate
+FSO = FS2/M3; % output sampling rate
+
+fname = 'dig-mic-decimation_test_output.dat';
+fname = strcat('..\test_data\output\', fname);
+
+% Wav output file
+wavout_fname = 'wavoutput_dig-mic-decimation_test.wav';
+
+% Get digital mic output data
+
+fid = fopen(fname, 'r');
+if (fid == -1)
+ error('Unable to open channel input file');
+end
+tline = fgets(fid);
+in = fscanf(fid, '%d');
+fclose(fid);
+
+% Write to wav file 16kHz sampling rate
+audiowrite(wavout_fname, in/2^15, FSO);
diff --git a/matlab_scripts/wavoutput_dig-mic-decimation_test.wav b/matlab_scripts/wavoutput_dig-mic-decimation_test.wav
new file mode 100755 (executable)
index 0000000..3449cbc
Binary files /dev/null and b/matlab_scripts/wavoutput_dig-mic-decimation_test.wav differ
index 0000000..3449cbc
Binary files /dev/null and b/matlab_scripts/wavoutput_dig-mic-decimation_test.wav differ
diff --git a/src/BlkFirDecim.c b/src/BlkFirDecim.c
--- /dev/null
+++ b/src/BlkFirDecim.c
@@ -0,0 +1,226 @@
+/* ============================================================================
+ * Copyright (c) 2016 Texas Instruments Incorporated.
+ *
+ * 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.
+ *
+ ===============================================================================*/
+
+#include "data_types.h"
+#include "BlkFirDecim.h"
+
+#define DECIM_FACT ( 2 ) /* decimation factor */
+
+#define QUANT_TRUNC ( 0 ) /* truncate */
+#define QUANT_RND_INF ( 1 ) /* round to infinite */
+#define QUANT_MODE ( QUANT_RND_INF )
+
+/* Block decimating FIR, */
+/* S18Q16 input and output data, */
+/* S16Q15 coefficients. */
+/* Decimation factor fixed at 2. */
+/* Computes two outputs per inner loop (assumes even number of outputs). */
+void blkFirDecim2(
+ Int32 *inSamps, /* input samples (S18Q16) */
+ Int16 *coefs, /* filter coefficients (S16Q15) */
+ Int32 *outSamps, /* output samples (S18Q16) */
+ Int32 *dlyBuf, /* delay buffer */
+ Uint16 numInSamps, /* number of input samples*/
+ Uint16 numCoefs /* number of coefficients */
+)
+{
+ Uint16 numOutSamps;
+ Uint16 numDlySamps;
+ Uint16 dataL_1, dataL_2;
+ Int16 dataH_1, dataH_2;
+ Int32 prdLL_1, prdLL_2;
+ Int32 prdLH_1, prdLH_2;
+ Int64 acc0_40b, acc1_40b, acc2_40b, acc3_40b;
+ Uint16 dlyBufIdx_1; // leading index
+ Uint16 dlyBufIdx_2; // lagging index
+ Uint16 inSampIdx, outSampIdx;
+ Uint16 outSampCnt;
+ Uint16 i;
+
+ /* Compute number of output samples */
+ numOutSamps = numInSamps>>1;
+
+ /* Compute number of delay buffer samples */
+ numDlySamps = numCoefs+2;
+
+ /* Read delay index of oldest sample */
+ dlyBufIdx_2 = dlyBuf[0]; // index of oldest sample stored in 0th location of delay buffer
+
+ /* Initialize lagging delay index */
+ dlyBufIdx_2++; // adjust index to 1->numDlySamps
+ if (dlyBufIdx_2 > numDlySamps)
+ {
+ dlyBufIdx_2 = 1;
+ }
+
+ /* Initialize leading delay index */
+ dlyBufIdx_1 = dlyBufIdx_2;
+ dlyBufIdx_1--;
+ if (dlyBufIdx_1 < 1)
+ {
+ dlyBufIdx_1 = numDlySamps;
+ }
+
+ inSampIdx = 0;
+ outSampIdx = 0;
+ for (outSampCnt = 0; outSampCnt < numOutSamps/2; outSampCnt++)
+ {
+ /* Place 1 sample in delay line at lagging index */
+ dlyBuf[dlyBufIdx_2] = inSamps[inSampIdx++];
+
+ /* Place D=2 samples in delay line at leading index */
+ dlyBuf[dlyBufIdx_1] = inSamps[inSampIdx++];
+ dlyBufIdx_1--;
+ if (dlyBufIdx_1 < 1)
+ {
+ dlyBufIdx_1 = numDlySamps;
+ }
+ dlyBuf[dlyBufIdx_1] = inSamps[inSampIdx++];
+
+ /* Compute lagging output */
+ /* S18Q16 */
+ dataL_2 = (Uint16)dlyBuf[dlyBufIdx_2];
+ dataH_2 = (Int16)(dlyBuf[dlyBufIdx_2++] >> 16);
+ if (dlyBufIdx_2 > numDlySamps)
+ {
+ dlyBufIdx_2 = 1;
+ }
+ /* S18Q16 * S16Q15 = S34Q31 */
+ prdLL_2 = (Uint32)dataL_2 * (Int32)coefs[0];
+ prdLH_2 = (Int32)dataH_2 * coefs[0];
+ /* S40Q31 + S34Q31 = S40Q31 */
+ acc2_40b = (Int64)prdLL_2;
+ acc3_40b = (Int64)prdLH_2;
+
+ /* Compute leading output */
+ /* S18Q16 */
+ dataL_1 = (Uint16)dlyBuf[dlyBufIdx_1];
+ dataH_1 = (Int16)(dlyBuf[dlyBufIdx_1++] >> 16);
+ if (dlyBufIdx_1 > numDlySamps)
+ {
+ dlyBufIdx_1 = 1;
+ }
+ /* S18Q16 * S16Q15 = S34Q31 */
+ prdLL_1 = (Uint32)dataL_1 * (Int32)coefs[0];
+ prdLH_1 = (Int32)dataH_1 * coefs[0];
+ /* S40Q31 + S34Q31 = S40Q31 */
+ acc0_40b = (Int64)prdLL_1;
+ acc1_40b = (Int64)prdLH_1;
+
+ for (i = 1; i < numCoefs-1; i++)
+ {
+ /* Compute lagging output */
+ /* S18Q16 */
+ dataL_2 = (Uint16)dlyBuf[dlyBufIdx_2];
+ dataH_2 = (Int16)(dlyBuf[dlyBufIdx_2++] >> 16);
+ if (dlyBufIdx_2 > numDlySamps)
+ {
+ dlyBufIdx_2 = 1;
+ }
+ /* S18Q16 * S16Q15 = S34Q31 */
+ prdLL_2 = (Uint32)dataL_2 * (Int32)coefs[i];
+ prdLH_2 = (Int32)dataH_2 * coefs[i];
+ /* S40Q31 + S34Q31 = S40Q31 */
+ acc2_40b += (Int64)prdLL_2;
+ acc3_40b += (Int64)prdLH_2;
+
+ /* Compute leading output */
+ /* S18Q16 */
+ dataL_1 = (Uint16)dlyBuf[dlyBufIdx_1];
+ dataH_1 = (Int16)(dlyBuf[dlyBufIdx_1++] >> 16);
+ if (dlyBufIdx_1 > numDlySamps)
+ {
+ dlyBufIdx_1 = 1;
+ }
+ /* S18Q16 * S16Q15 = S34Q31 */
+ prdLL_1 = (Uint32)dataL_1 * (Int32)coefs[i];
+ prdLH_1 = (Int32)dataH_1 * coefs[i];
+ /* S40Q31 + S34Q31 = S40Q31 */
+ acc0_40b += (Int64)prdLL_1;
+ acc1_40b += (Int64)prdLH_1;
+ }
+
+ /* Compute lagging output */
+ /* S18Q16 */
+ dataL_2 = (Uint16)dlyBuf[dlyBufIdx_2];
+ dataH_2 = (Int16)(dlyBuf[dlyBufIdx_2] >> 16);
+ if (dlyBufIdx_2 > numDlySamps)
+ {
+ dlyBufIdx_2 = 1;
+ }
+ /* S18Q16 * S16Q15 = S34Q31 */
+ prdLL_2 = (Uint32)dataL_2 * (Int32)coefs[numCoefs-1];
+ prdLH_2 = (Int32)dataH_2 * coefs[numCoefs-1];
+ /* S40Q31 + S34Q31 = S40Q31 */
+ acc2_40b += (Int64)prdLL_2;
+ acc3_40b += (Int64)prdLH_2;
+
+ /* Compute leading output */
+ /* S18Q16 */
+ dataL_1 = (Uint16)dlyBuf[dlyBufIdx_1];
+ dataH_1 = (Int16)(dlyBuf[dlyBufIdx_1] >> 16);
+ if (dlyBufIdx_1 > numDlySamps)
+ {
+ dlyBufIdx_1 = 1;
+ }
+ /* S18Q16 * S16Q15 = S34Q31 */
+ prdLL_1 = (Uint32)dataL_1 * (Int32)coefs[numCoefs-1];
+ prdLH_1 = (Int32)dataH_1 * coefs[numCoefs-1];
+ /* S40Q31 + S34Q31 = S40Q31 */
+ acc0_40b += (Int64)prdLL_1;
+ acc1_40b += (Int64)prdLH_1;
+
+ acc2_40b += acc3_40b << 16;
+ acc0_40b += acc1_40b << 16;
+
+#if (QUANT_MODE == QUANT_RND_INF)
+ acc2_40b += (Uint16)1<<14; /* round to infinite */
+ acc0_40b += (Uint16)1<<14; /* round to infinite */
+#endif
+ acc2_40b >>= 15; /* truncate */
+ outSamps[outSampIdx++] = (Int32)acc2_40b;
+ acc0_40b >>= 15; /* truncate */
+ outSamps[outSampIdx++] = (Int32)acc0_40b;
+
+ /* Place D-1=1 samples in delay line at lagging index */
+ dlyBuf[dlyBufIdx_2] = inSamps[inSampIdx++];
+ dlyBufIdx_2--;
+ if (dlyBufIdx_2 < 1)
+ {
+ dlyBufIdx_2 = numDlySamps;
+ }
+ }
+
+ /* Write delay index of oldest sample */
+ dlyBuf[0] = dlyBufIdx_2-1; // adjust index to 0->numDlySamps-1
+}
diff --git a/src/BlkFirDecim_f2.asm b/src/BlkFirDecim_f2.asm
--- /dev/null
+++ b/src/BlkFirDecim_f2.asm
@@ -0,0 +1,256 @@
+;============================================================================
+; Copyright (c) 2016 Texas Instruments Incorporated.
+;
+; 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.
+;
+;===============================================================================
+; Function: _blkFirDecim2
+; Processor: C55xx, Rev. 3
+; Description:
+; Block decimating FIR.
+; S18Q16 input and output data, S16Q15 coefficients.
+; Decimation factor fixed at 2.
+; Computes two outputs per inner loop
+; (assumes even number of outputs).
+;
+; x cycle inner loop.
+;
+; C-callable.
+; Mnemonic assembly.
+;
+; Usage: void blkFirDecim2(
+; Int32 *inSamps, -> XAR0
+; Int16 *coefs, -> XAR1
+; Int32 *outSamps, -> XAR2
+; Int32 *dlyBuf, -> XAR3
+; Uint16 numInSamps, -> T0
+; Uint16 numCoefs -> T1
+; );
+;
+;****************************************************************
+
+ .C54CM_off ; enable assembler for C54CM=0
+ .ARMS_off ; enable assembler for ARMS=0
+ .CPL_on ; enable assembler for CPL=1
+
+ .mmregs ; enable mem mapped register names
+
+ .def _blkFirDecim2
+
+; Stack frame
+; -----------
+RET_ADDR_SZ .set 1 ; return address
+REG_SAVE_SZ .set 0 ; save-on-entry registers saved
+FRAME_SZ .set 0 ; local variables
+ARG_BLK_SZ .set 0 ; argument block
+PARAM_OFFSET .set ARG_BLK_SZ + FRAME_SZ + REG_SAVE_SZ + RET_ADDR_SZ ; offset to function arguments on stack
+
+; Local variables
+; ---------------
+
+; Register usage
+; --------------
+ .asg AR0, x_ptr ; linear pointer
+ .asg CDP, h_ptr ; circular pointer
+ .asg AR2, r_ptr ; linear pointer
+ .asg AR4, db_ptr2 ; circular pointer (lagging delay buffer pointer)
+ .asg AR5, db_ptr1 ; circular pointer (leading delay buffer pointer)
+
+ .asg BSAC, h_base ; base addr for h_ptr
+ .asg BKC, h_sz ; circ buffer size for h_sz
+ .asg XCDP, xh_base ; extended base addr for h_ptr
+ .asg BSA45, db_base ; base addr for db_ptr
+ .asg BK47, db_sz ; circ buffer size for db_ptr
+ .asg XAR4, xdb_base2 ; extended base addr for db_ptr2 (lagging delay buffer pointer)
+ .asg XAR5, xdb_base1 ; extended base addr for db_ptr1 (leading delay buffer pointer)
+
+ .asg BRC0, outer_cnt ; outer loop count
+ .asg BRC1, inner_cnt ; inner loop count
+
+ST2mask .set 0000000100110000b ; circular/linear pointers
+
+QUANT_TRUNC .set 0 ; truncate
+QUANT_RND .set 1 ; round according to rounding mode
+QUANT_MODE .set QUANT_RND
+
+
+ .text
+_blkFirDecim2:
+
+;
+; Save any save-on-entry registers that are used
+;----------------------------------------------------------------
+
+;
+; Allocate the local frame and argument block
+;----------------------------------------------------------------
+ AADD #-(ARG_BLK_SZ + FRAME_SZ), SP
+
+;
+; Save entry values for later
+;----------------------------------------------------------------
+
+;
+; Configure the status registers as needed
+;----------------------------------------------------------------
+ AND #001FFh, mmap(ST0_55) ; clear ACOV[0-3], TC[1-2], and C
+
+ OR #04540h, mmap(ST1_55) ; set CPL, M40, SXMD, and FRCT
+ ;AND #0F9DFh, mmap(ST1_55) ; clear M40, SATD, 54CM
+
+ BCLR ARMS ; clear ARMS
+
+ ;AND #0FCDDh, mmap(ST3_55) ; clear SATA, SMUL ; note -- must always write 1100b to bits 11-8, 0b to bit 4
+
+;
+; Setup passed parameters in their destination registers
+; Setup circular/linear CDP/ARx behavior
+;----------------------------------------------------------------
+
+; x pointer - passed in its destination register, need do nothing
+
+; h pointer
+ MOV XAR1, xh_base ; h array address
+ MOV mmap(AR1), h_base ; base address of coefficients
+ MOV #0, h_ptr ; point to first coefficient
+ MOV mmap(T1), h_sz ; coefficient array size h_sz = nh
+
+; r pointer - already passed in its destination register
+
+; db pointers
+ ; Initialize lagging delay pointer
+ MOV XAR3, xdb_base2 ; db array address
+ ; Read index of oldest db entry
+ MOV dbl(*AR3+), AC0
+ MOV AC0, db_ptr2
+ MOV mmap(AR3), db_base ; base address for db_ptr
+ ; db_sz = 2*(nh+2) (x2 for 32-bit array)
+ MOV T1, AC0
+ ADD #2, AC0
+ MOV AC0 << #1, mmap(db_sz)
+
+; Set circular/linear ARx behavior
+ OR #ST2mask, mmap(ST2_55) ; config circ/linear pointers
+
+ ; Initialize leading delay pointer
+ AMOV xdb_base2, xdb_base1
+ ;AMAR *db_ptr1-
+ ;AMAR *db_ptr1-
+
+;
+; Setup loop counts
+;----------------------------------------------------------------
+ MOV T0, AC0 ; AC0 = nx (nx unsigned, constrained to < 32768 since SXM is enabled)
+ || AMAR *db_ptr1-
+ SFTS AC0, #-2 ; AC0 = (nx/2)/2
+ || AMAR *db_ptr1-
+ SUB #1, AC0 ; AC0 = (nx/2)/2-1
+ MOV AC0, mmap(outer_cnt) ; outer_cnt = (nx/D)/2-1=(nx/4)-1
+
+ SUB #3, T1
+ MOV T1, mmap(inner_cnt) ; inner_cnt = nh-3
+
+
+;
+; Start of outer loop
+;----------------------------------------------------------------
+ RPTBLOCAL loop0-1 ; outer loop (nx/D)=(nx/2) iterations
+
+ ; Place 1 sample in delay line at lagging index
+ MOV dbl(*x_ptr+), dbl(*db_ptr2)
+
+ ; Place D=2 samples in delay line at leading index
+ MOV dbl(*x_ptr+), dbl(*db_ptr1-)
+ MOV dbl(*x_ptr+), dbl(*db_ptr1)
+
+ ; Sum h*x nh-iterations for next r value
+ MPY *db_ptr2+, *h_ptr, AC3 ; High x Low
+ :: MPY *db_ptr1+, *h_ptr, AC1 ; High x Low
+ MPY uns(*db_ptr2+), *h_ptr+, AC2 ; Low x Low
+ :: MPY uns(*db_ptr1+), *h_ptr+, AC0 ; Low x Low
+
+ || RPTBLOCAL loop1-1
+ MAC *db_ptr2+, *h_ptr, AC3 ; High x Low
+ :: MAC *db_ptr1+, *h_ptr, AC1 ; High x Low
+ MAC uns(*db_ptr2+), *h_ptr+, AC2 ; Low x Low
+ :: MAC uns(*db_ptr1+), *h_ptr+, AC0 ; Low x Low
+loop1:
+
+ MAC *db_ptr2+, *h_ptr, AC3 ; High x Low
+ :: MAC *db_ptr1+, *h_ptr, AC1 ; High x Low
+ .if (QUANT_MODE == QUANT_TRUNC)
+ MAC uns(*db_ptr2-), *h_ptr+, AC2 ; Low x Low
+ :: MAC uns(*db_ptr1-), *h_ptr+, AC0 ; Low x Low
+ .else
+ MACR uns(*db_ptr2-), *h_ptr+, AC2 ; Low x Low
+ :: MACR uns(*db_ptr1-), *h_ptr+, AC0 ; Low x Low
+ .endif
+
+ ADD AC3 << #16, AC2
+ ADD AC1 << #16, AC0
+
+ ; Store result to memory
+ SFTS AC2, #-16
+ MOV AC2, dbl(*r_ptr+) ; store S18Q16 value to memory
+ || SFTS AC0, #-16
+ MOV AC0, dbl(*r_ptr+) ; store S18Q16 value to memory
+
+ ; Place D-1=2-1=1 sample in delay line at lagging index
+ MOV dbl(*x_ptr+), dbl(*db_ptr2-)
+loop0: ; end of outer loop
+
+;
+; Update the db entry point
+;----------------------------------------------------------------
+ MOV db_ptr2, *-AR3 ; update 1st element of db array
+
+;
+; Restore status regs to expected C-convention values as needed
+;----------------------------------------------------------------
+ BCLR M40 ; clear M40
+ BCLR FRCT ; clear FRCT
+
+ AND #0FE00h, mmap(ST2_55) ; clear CDPLC and AR[7-0]LC
+ BSET ARMS ; set SMUL
+
+ ;BSET SMUL ; set SMUL
+
+;
+; Deallocate the local frame and argument block
+;----------------------------------------------------------------
+ AADD #(ARG_BLK_SZ + FRAME_SZ), SP
+
+;
+; Restore any save-on-entry registers that are used
+;----------------------------------------------------------------
+
+;
+; Return to calling function
+;----------------------------------------------------------------
+ RET ; return to calling function
diff --git a/src/BlkIir.c b/src/BlkIir.c
--- /dev/null
+++ b/src/BlkIir.c
@@ -0,0 +1,339 @@
+/* ============================================================================
+ * Copyright (c) 2016 Texas Instruments Incorporated.
+ *
+ * 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.
+ *
+ ===============================================================================*/
+
+#include "data_types.h"
+#include "BlkIir.h"
+
+#define QUANT_TRUNC ( 0 ) /* truncate */
+#define QUANT_RND_INF ( 1 ) /* round to infinite */
+#define QUANT_MODE ( QUANT_RND_INF )
+
+/* Block IIR, Direct Form II */
+/* S18Q16 input and output data */
+/* Fixed-point format of coefficients determined by coefficient integer wordlength parameter */
+/* Input gain applied to input signal */
+void blkIirDf2(
+ Int32 *inSamps, /* input samples (S18Q16) */
+ Int16 *coefs, /* filter coefficients (S16Q15) */
+ Int32 *outSamps, /* output samples (S18Q16) */
+ Int32 *dlyBuf, /* delay buffer */
+ Uint16 inGain, /* input gain (U16Q16) */
+ Uint16 numInSamps, /* number of input samples */
+ Uint16 numBiquads, /* number of biquads */
+ Uint16 coefIWL /* coefficient integer wordlength */
+)
+{
+ Uint16 numDlySamps;
+ Uint16 dataL;
+ Int16 dataH;
+ Uint32 uPrdLL;
+ Int32 prdLL, prdLH;
+ Int64 acc_40b;
+ Uint16 dlyBufIdx;
+ Uint16 coefIdx;
+ Uint16 i, j;
+
+
+ /* Compute number of delay buffer samples */
+ numDlySamps = 2*numBiquads;
+
+ /* Read current delay index */
+ dlyBufIdx = dlyBuf[0];
+
+ /* Initialize delay index */
+ dlyBufIdx++; // adjust index to 1->numDlySamps
+ if (dlyBufIdx > numDlySamps)
+ {
+ dlyBufIdx -= numDlySamps;
+ }
+
+ for (i = 0; i < numInSamps; i++)
+ {
+ coefIdx = 0;
+
+ //acc_40b = inSamps[i]<<15; // acc = x(n) (S18Q16->S33Q31)
+
+ // acc = G*x(n)
+ dataL = (Uint16)inSamps[i];
+ dataH = (Int16)(inSamps[i] >> 16);
+ /* S18Q16 * U16Q16 = S34Q32 */
+ uPrdLL = (Uint32)dataL * inGain;
+ prdLH = (Int32)dataH * (Uint32)inGain;
+ acc_40b = (Uint64)uPrdLL;
+ acc_40b += ((Int64)prdLH << 16);
+
+ for (j = 0; j < numBiquads; j++)
+ {
+ /* Compute current biquad output */
+
+ /* Compute d(n) */
+ // acc = x(n) - a1*d(n-1)
+ dataL = (Uint16)dlyBuf[dlyBufIdx]; // d(n-1)
+ dataH = (Int16)(dlyBuf[dlyBufIdx] >> 16);
+ dlyBufIdx += numBiquads;
+ if (dlyBufIdx > numDlySamps)
+ {
+ dlyBufIdx -= numDlySamps;
+ }
+ /* S18Q16 * S16Q(16-1-IWL) = S34Q(32-1-IWL) */
+ prdLL = (Uint32)dataL * (Int32)coefs[coefIdx]; // a1
+ prdLH = (Int32)dataH * coefs[coefIdx++];
+ /* S40Q31 + S34Q(32-1-IWL) = S40Q31 */
+ acc_40b -= ((Int64)prdLL << (1+coefIWL));
+ acc_40b -= ((Int64)prdLH << (16+1+coefIWL));
+
+ // acc = x(n) - a1*d(n-1) - a2*d(n-2)
+ dataL = (Uint16)dlyBuf[dlyBufIdx]; // d(n-2)
+ dataH = (Int16)(dlyBuf[dlyBufIdx] >> 16);
+ /* S18Q16 * S16Q(16-1-IWL) = S34Q(32-1-IWL) */
+ prdLL = (Uint32)dataL * (Int32)coefs[coefIdx]; //a2
+ prdLH = (Int32)dataH * coefs[coefIdx++];
+ /* S40Q31 + S34Q(32-1-IWL) = S40Q31 */
+ acc_40b -= ((Int64)prdLL << (1+coefIWL));
+ acc_40b -= ((Int64)prdLH << (16+1+coefIWL));
+
+ /* Update d(n) */
+#if (QUANT_MODE == QUANT_RND_INF)
+ acc_40b += (Uint16)1<<(14+1); /* round to infinite */
+#endif
+ dlyBuf[dlyBufIdx] = (Int32)(acc_40b>>(15+1));
+
+ /* Compute y(n) */
+ // acc = b2*d(n-2)
+ /* S18Q16 * S16Q(16-1-IWL) = S34Q(32-1-IWL) */
+ prdLL = (Uint32)dataL * (Int32)coefs[coefIdx]; // b2
+ prdLH = (Int32)dataH * coefs[coefIdx++];
+ /* S40Q31 + S34Q(32-1-IWL) = S40Q31 */
+ acc_40b = ((Int64)prdLL << (1+coefIWL));
+ acc_40b += ((Int64)prdLH << (16+1+coefIWL));
+
+ // acc = b0*d(n) + b2*d(n-2)
+ dataL = (Uint16)dlyBuf[dlyBufIdx]; // d(n)
+ dataH = (Int16)(dlyBuf[dlyBufIdx] >> 16);
+ dlyBufIdx += numBiquads;
+ if (dlyBufIdx > numDlySamps)
+ {
+ dlyBufIdx -= numDlySamps;
+ }
+ /* S18Q16 * S16Q(16-1-IWL) = S34Q(32-1-IWL) */
+ prdLL = (Uint32)dataL * (Int32)coefs[coefIdx]; // b0
+ prdLH = (Int32)dataH * coefs[coefIdx++];
+ /* S40Q31 + S34Q(32-1-IWL) = S40Q31 */
+ acc_40b += ((Int64)prdLL << (1+coefIWL));
+ acc_40b += ((Int64)prdLH << (16+1+coefIWL));
+
+ // acc = b0*d(n) + b1*d(n-1) + b2*d(n-2)
+ dataL = (Uint16)dlyBuf[dlyBufIdx]; // d(n-1)
+ dataH = (Int16)(dlyBuf[dlyBufIdx] >> 16);
+ dlyBufIdx++;
+ if (dlyBufIdx > numDlySamps)
+ {
+ dlyBufIdx -= numDlySamps;
+ }
+ /* S18Q16 * S16Q(16-1-IWL) = S34Q(32-1-IWL) */
+ prdLL = (Uint32)dataL * (Int32)coefs[coefIdx]; // b1
+ prdLH = (Int32)dataH * coefs[coefIdx++];
+ /* S40Q31 + S34Q(32-1-IWL) = S40Q31 */
+ acc_40b += ((Int64)prdLL << (1+coefIWL));
+ acc_40b += ((Int64)prdLH << (16+1+coefIWL));
+ }
+
+#if (QUANT_MODE == QUANT_RND_INF)
+ acc_40b += 1<<14;
+#endif
+
+ outSamps[i] = (Int32)acc_40b>>(15+1);
+ }
+
+ /* Update current delay index */
+ dlyBuf[0] = dlyBufIdx-1; // adjust index to 0->numDlySamps-1
+}
+
+/* Block IIR, Direct Form I */
+/* S18Q16 input and output data */
+/* Fixed-point format of coefficients determined by coefficient integer wordlength parameter */
+/* Input gain applied to input signal */
+void blkIirDf1(
+ Int32 *inSamps, /* input samples (S18Q16) */
+ Int16 *coefs, /* filter coefficients (S16Q15) */
+ Int32 *outSamps, /* output samples (S18Q16) */
+ Int32 *dlyBuf, /* delay buffer */
+ Uint16 inGain, /* input gain (U16Q16) */
+ Uint16 numInSamps, /* number of input samples */
+ Uint16 numBiquads, /* number of biquads */
+ Uint16 coefIWL /* coefficient integer wordlength */
+)
+{
+ Uint16 numDlySamps;
+ Uint16 dataL;
+ Int16 dataH;
+ Uint32 uPrdLL;
+ Int32 prdLL, prdLH;
+ Int64 acc_40b;
+ Int32 tIn;
+ Int32 *ffDlyBuf, *fbDlyBuf;
+ Uint16 ffDlyBufIdx; // feed forward delay index
+ Uint16 fbDlyBufIdx; // feed back delay index
+ Uint16 coefIdx;
+ Uint16 i, j;
+
+
+ /* Compute number of delay buffer samples */
+ numDlySamps = 2*numBiquads;
+
+ /* Initialize feed forward delay buffer pointer */
+ ffDlyBuf = &dlyBuf[1];
+ ffDlyBufIdx = dlyBuf[0];
+ /* Initialize feed back delay buffer pointer & index */
+ fbDlyBuf = &dlyBuf[numDlySamps+1];
+ fbDlyBufIdx = ffDlyBufIdx;
+
+ for (i = 0; i < numInSamps; i++)
+ {
+ coefIdx = 0;
+
+ // acc = x(n) (S18Q16->S33Q31)
+ //acc_40b = inSamps[i]<<15;
+
+ /* Compute G*x(n) */
+ // acc = G*x(n)
+ dataL = (Uint16)inSamps[i];
+ dataH = (Int16)(inSamps[i] >> 16);
+ /* S18Q16 * U16Q16 = S34Q32 */
+ uPrdLL = (Uint32)dataL * inGain;
+ prdLH = (Int32)dataH * (Uint32)inGain;
+ acc_40b = (Uint64)uPrdLL;
+ acc_40b += ((Int64)prdLH << 16);
+
+ /* Store G*x(n) */
+#if (QUANT_MODE == QUANT_RND_INF)
+ acc_40b += (Uint16)1<<15; /* round to infinite */
+#endif
+ tIn = (Int32)(acc_40b >> 16); // S18Q16
+
+ for (j = 0; j < numBiquads; j++)
+ {
+ /* Compute current biquad output */
+
+ // acc = b0*x(n)
+ dataL = (Uint16)tIn; // x(n)
+ dataH = (Int16)(tIn >> 16);
+ /* S18Q16 * S16Q(16-1-IWL) = S34Q(32-1-IWL) */
+ prdLL = (Uint32)dataL * (Int32)coefs[coefIdx]; // b0
+ prdLH = (Int32)dataH * coefs[coefIdx++];
+ /* S40Q31 + S34Q(32-1-IWL) = S40Q31 */
+ acc_40b = ((Int64)prdLL << coefIWL);
+ acc_40b += ((Int64)prdLH << (16+coefIWL));
+
+ // acc = b0*x(n) + b1*x(n-1)
+ dataL = (Uint16)ffDlyBuf[ffDlyBufIdx]; // x(n-1)
+ dataH = (Int16)(ffDlyBuf[ffDlyBufIdx] >> 16);
+ /* S18Q16 * S16Q(16-1-IWL) = S34Q(32-1-IWL) */
+ prdLL = (Uint32)dataL * (Int32)coefs[coefIdx]; // b1
+ prdLH = (Int32)dataH * coefs[coefIdx++];
+ /* S40Q31 + S34Q(32-1-IWL) = S40Q31 */
+ acc_40b += ((Int64)prdLL << coefIWL);
+ acc_40b += ((Int64)prdLH << (16+coefIWL));
+
+ ffDlyBufIdx += numBiquads; // point to x(n-2D)
+ if (ffDlyBufIdx > numDlySamps-1)
+ {
+ ffDlyBufIdx -= numDlySamps;
+ }
+
+ // acc = b0*x(n) + b1*x(n-1) + b2*x(n-2)
+ dataL = (Uint16)ffDlyBuf[ffDlyBufIdx]; // x(n-2)
+ dataH = (Int16)(ffDlyBuf[ffDlyBufIdx] >> 16);
+ /* S18Q16 * S16Q(16-1-IWL) = S34Q(32-1-IWL) */
+ prdLL = (Uint32)dataL * (Int32)coefs[coefIdx]; // b2
+ prdLH = (Int32)dataH * coefs[coefIdx++];
+ /* S40Q31 + S34Q(32-1-IWL) = S40Q31 */
+ acc_40b += ((Int64)prdLL << coefIWL);
+ acc_40b += ((Int64)prdLH << (16+coefIWL));
+
+ // update x(n-2)
+ ffDlyBuf[ffDlyBufIdx] = tIn;
+
+ ffDlyBufIdx += numBiquads+1; // point to x(n-1) for next biquad
+ if (ffDlyBufIdx > numDlySamps-1)
+ {
+ ffDlyBufIdx -= numDlySamps;
+ }
+
+ // acc = b0*x(n) + b1*x(n-1) + b2*x(n-2) - a1*y(n-1)
+ dataL = (Uint16)fbDlyBuf[fbDlyBufIdx]; // y(n-1)
+ dataH = (Int16)(fbDlyBuf[fbDlyBufIdx] >> 16);
+ /* S18Q16 * S16Q(16-1-IWL) = S34Q(32-1-IWL) */
+ prdLL = (Uint32)dataL * (Int32)coefs[coefIdx]; // a1
+ prdLH = (Int32)dataH * coefs[coefIdx++];
+ /* S40Q31 + S34Q(32-1-IWL) = S40Q31 */
+ acc_40b -= ((Int64)prdLL << coefIWL);
+ acc_40b -= ((Int64)prdLH << (16+coefIWL));
+
+ fbDlyBufIdx += numBiquads; // point to y(n-2)
+ if (fbDlyBufIdx > numDlySamps-1)
+ {
+ fbDlyBufIdx -= numDlySamps;
+ }
+
+ // acc = b0*x(n) + b1*x(n-1) + b2*x(n-2) - a1*y(n-1) - a2*y(n-2)
+ dataL = (Uint16)fbDlyBuf[fbDlyBufIdx]; // y(n-2)
+ dataH = (Int16)(fbDlyBuf[fbDlyBufIdx] >> 16);
+ /* S18Q16 * S16Q(16-1-IWL) = S34Q(32-1-IWL) */
+ prdLL = (Uint32)dataL * (Int32)coefs[coefIdx]; // a2
+ prdLH = (Int32)dataH * coefs[coefIdx++];
+ /* S40Q31 + S34Q(32-1-IWL) = S40Q31 */
+ acc_40b -= ((Int64)prdLL << coefIWL);
+ acc_40b -= ((Int64)prdLH << (16+coefIWL));
+
+#if (QUANT_MODE == QUANT_RND_INF)
+ acc_40b += (Uint16)1<<14; /* round to infinite */
+#endif
+ tIn = (Int32)(acc_40b >> 15); // S18Q16
+
+ // update y(n-2)
+ fbDlyBuf[fbDlyBufIdx] = tIn;
+
+ fbDlyBufIdx += numBiquads+1; // point to y(n-1) for next biquad
+ if (fbDlyBufIdx > numDlySamps-1)
+ {
+ fbDlyBufIdx -= numDlySamps;
+ }
+ }
+
+ outSamps[i] = tIn;
+ }
+
+ /* Update current delay index */
+ dlyBuf[0] = ffDlyBufIdx;
+}
diff --git a/src/IdleLoop.c b/src/IdleLoop.c
--- /dev/null
+++ b/src/IdleLoop.c
@@ -0,0 +1,691 @@
+/* ============================================================================\r
+ * Copyright (c) 2016 Texas Instruments Incorporated.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the\r
+ * distribution.\r
+ *\r
+ * Neither the name of Texas Instruments Incorporated nor the names of\r
+ * its contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\r
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+ ===============================================================================*/\r
+\r
+#include "stdio.h"\r
+#include "stdlib.h"\r
+\r
+// CSLR include files\r
+#include "soc.h"\r
+#include "cslr.h"\r
+#include "cslr_sysctrl.h"\r
+\r
+// CSL include files\r
+#include "csl_i2s.h"\r
+#include "csl_dma.h"\r
+#include "csl_intc.h"\r
+\r
+// other include files\r
+#include "pll_control.h"\r
+#include "IdleLoop.h"\r
+#include "pick_bits_cic.h"\r
+#include "BlkFirDecim.h"\r
+#include "diggain.h"\r
+\r
+\r
+#define MAX_LINE_LEN ( 80 ) /* maximum line length */\r
+char buffer[MAX_LINE_LEN];\r
+\r
+\r
+/* Circular buffers for capturing output data (debug) */\r
+#if 1\r
+/* Input circular data buffer left */\r
+Uint32 inCircBufLeft[IN_CIRCBUF_LEN];\r
+/* Input circular data buffer right */\r
+Uint32 inCircBufRight[IN_CIRCBUF_LEN];\r
+#endif\r
+#if 0 \r
+/* CIC output circular buffer */\r
+Int32 cicOutCircBuf[CIC_OUT_CIRCBUF_LEN];\r
+#endif\r
+#if 0\r
+/* FIR1 output circular buffer */\r
+Int32 fir1OutCircBuf[FIR1_OUT_CIRCBUF_LEN];\r
+#endif \r
+#if 0\r
+/* FIR2 output circular buffer */\r
+Int32 fir2OutCircBuf[FIR2_OUT_CIRCBUF_LEN];\r
+#endif\r
+\r
+/* Digital gain output circular buffer */\r
+Int16 digGainOutCircBuf[DIGGAIN_OUT_CIRCBUF_LEN];\r
+\r
+\r
+CSL_I2sHandle hI2s;\r
+I2S_Config hwConfig;\r
+\r
+CSL_DMA_Handle dmaLeftRxHandle;\r
+CSL_DMA_Handle dmaRightRxHandle;\r
+CSL_DMA_Config dmaConfig;\r
+CSL_DMA_ChannelObj dmaObj0, dmaObj1;\r
+Uint16 dmaFrameCount = 0;\r
+\r
+#pragma DATA_ALIGN(i2sDmaReadBufLeft, 2);\r
+#pragma DATA_SECTION(i2sDmaReadBufLeft, ".i2sDmaReadBufLeft")\r
+Uint32 i2sDmaReadBufLeft[I2S_DMA_BUF_LEN];\r
+#pragma DATA_ALIGN(i2sDmaReadBufRight, 2);\r
+#pragma DATA_SECTION(i2sDmaReadBufRight, ".i2sDmaReadBufRight")\r
+Uint32 i2sDmaReadBufRight[I2S_DMA_BUF_LEN];\r
+Uint16 pingPongFlag = 0;\r
+\r
+/* CIC output frame */\r
+#pragma DATA_SECTION(cicOutFrame, ".cicOutFrame")\r
+Int32 cicOutFrame[CIC_OUT_FRAME_LEN];\r
+\r
+/* CIC state */\r
+Int32 cicState[2*CIC_NS];\r
+\r
+/* FIR1 Coefficients (S16Q15) */\r
+#pragma DATA_SECTION(fir1Coefs, ".fir1Coefs")\r
+const Int16 fir1Coefs[FIR1_NUM_COEFS] = \r
+{ -98, 0, 609, 0, -2288, 0, 9968, 16386, \r
+ 9968, 0, -2288, 0, 609, 0, -98\r
+};\r
+\r
+/* Delay line */\r
+#pragma DATA_SECTION(fir1DlyBuf, ".fir1DlyBuf")\r
+Int32 fir1DlyBuf[FIR1_NUM_COEFS+2+1]; // +2 for input samples req'd for 2 output samples computed per outer loop, +1 for index of oldest sample\r
+\r
+/* FIR1 Output frame */\r
+#pragma DATA_SECTION(fir1OutFrame, ".fir1OutFrame")\r
+Int32 fir1OutFrame[FIR1_OUT_FRAME_LEN];\r
+\r
+/* FIR2 Coefficients (S16Q15) */\r
+#pragma DATA_SECTION(fir2Coefs, ".fir2Coefs")\r
+const Int16 fir2Coefs[FIR2_NUM_COEFS] = \r
+{ -4, 2, 10, -3, -27, -2, 51, 15,\r
+ -89, -50, 135, 114, -185, -222, 226, 386, \r
+ -241, -623, 198, 947, -56, -1396, -266, 2043,\r
+ 959, -3164, -2809, 6281, 16481, 16481, 6281, -2809, \r
+ -3164, 959, 2043, -266, -1396, -56, 947, 198, \r
+ -623, -241, 386, 226, -222, -185, 114, 135, \r
+ -50, -89, 15, 51, -2, -27, -3, 10, \r
+ 2, -4\r
+};\r
+\r
+/* Delay line */\r
+#pragma DATA_SECTION(fir2DlyBuf, ".fir2DlyBuf")\r
+Int32 fir2DlyBuf[FIR2_NUM_COEFS+2+1]; // +2 for input samples req'd for 2 output samples computed per outer loop, +1 for index of oldest sample\r
+\r
+/* FIR2 Output frame */\r
+#pragma DATA_SECTION(fir2OutFrame, ".fir2OutFrame")\r
+Int32 fir2OutFrame[FIR2_OUT_FRAME_LEN];\r
+\r
+/* Digital gain output frame */\r
+#pragma DATA_SECTION(digGainOutFrame, ".digGainOutFrame")\r
+Int16 digGainOutFrame[DIGGAIN_OUT_FRAME_LEN];\r
+\r
+//#define DIGGAIN ( (Uint16)5<<8 ) /* 1.0 (0 dB) in U16Q8 */\r
+#define DIGGAIN ( (Uint16)10<<8 ) /* 10.0 (20 dB) in U16Q8 */\r
+//#define DIGGAIN ( (Uint16)0x1f9f ) /* 31.6228 (30 dB) in U16Q8 */\r
+//#define DIGGAIN ( (Uint16)100<<8 ) /* 100.0 (40 dB) in U16Q8 */\r
+\r
+// Clock gating for all peripherals\r
+void ClockGatingAll(void);\r
+\r
+// DSP LDO Switch\r
+// mode: 105 - set DSP LDO to 1.05V \r
+// 130 - set DSP LDO to 1.3V\r
+// other - no change\r
+void DspLdoSwitch(int mode);\r
+\r
+// USB LDO Switch\r
+// mode: 0 - disable USB LDO \r
+// 1 - enable USB LDO\r
+// other - no change\r
+void UsbLdoSwitch(int mode);\r
+\r
+// GI2S and DMA initialization\r
+CSL_Status I2sDmaInit(void);\r
+\r
+// user defined algorithm\r
+void UserAlgorithm(void);\r
+\r
+// Put CPU in idle\r
+void UserIdle(void);\r
+\r
+// DMA ISR\r
+interrupt void DmaIsr(void);\r
+\r
+void main(void)\r
+{\r
+\r
+ CSL_Status status;\r
+ \r
+ printf("Start the IdleLoop\n");\r
+ \r
+ /* Clock gate all peripherals */\r
+ ClockGatingAll();\r
+ \r
+ /* Set DSP LDO to desired output voltage */\r
+ DspLdoSwitch(DSP_LDO);\r
+\r
+ /* Set the PLL to pll_mhz */\r
+ status = pll_sample(PLL_MHZ);\r
+ if (status != CSL_SOK)\r
+ {\r
+ printf("ERROR: Unable to set PLL\n");\r
+ exit(1);\r
+ }\r
+ \r
+ /* Turn off the USB LDO */\r
+ UsbLdoSwitch(0);\r
+\r
+ /* Initialize I2S and DMA engine */\r
+ status = I2sDmaInit();\r
+ if (status != CSL_SOK)\r
+ {\r
+ printf("ERROR: Unable to initialize I2S and DMA\n");\r
+ exit(1);\r
+ }\r
+ \r
+ /* SP0 Mode 1 (I2S0 and GP[5:4]) */\r
+ CSL_FINST(CSL_SYSCTRL_REGS->EBSR, SYS_EBSR_SP0MODE, MODE1);\r
+ /* SP1 Mode 1 (I2S1 and GP[11:10]) */\r
+ CSL_FINST(CSL_SYSCTRL_REGS->EBSR, SYS_EBSR_SP1MODE, MODE1);\r
+ /* PP Mode 1 (SPI, GPIO[17:12], UART, and I2S2) */\r
+ CSL_FINST(CSL_SYSCTRL_REGS->EBSR, SYS_EBSR_PPMODE, MODE1);\r
+\r
+ /* Configure PCGCR1 & PCGCR2 */\r
+ CSL_FINS(CSL_SYSCTRL_REGS->PCGCR2, SYS_PCGCR2_DMA1CG, CSL_SYS_PCGCR2_DMA1CG_DISABLED);\r
+ CSL_FINS(CSL_SYSCTRL_REGS->PCGCR2, SYS_PCGCR2_DMA2CG, CSL_SYS_PCGCR2_DMA2CG_DISABLED);\r
+ CSL_FINS(CSL_SYSCTRL_REGS->PCGCR2, SYS_PCGCR2_DMA3CG, CSL_SYS_PCGCR2_DMA3CG_DISABLED);\r
+\r
+ /* Set CPUI, DPORTI, IPORTI, XPORT and HWAI in ICR */\r
+ *(volatile ioport Uint16 *)(0x0001) = (0x000E | 1<<0 | 1<<5 | 1<<6 | 1<<8 | 1<<9);\r
+\r
+ while (1)\r
+ {\r
+ /* Perform your algorithm here */\r
+ UserAlgorithm();\r
+\r
+#if 1\r
+ /* Set CPU to Idle */\r
+ UserIdle();\r
+#endif\r
+ }\r
+}\r
+\r
+// Clock gating for all peripherals\r
+void ClockGatingAll(void)\r
+{\r
+ Uint16 pcgcr_value;\r
+ //Uint16 clkstop_value;\r
+ //Uint16 status;\r
+\r
+ // enable the MPORT and disable HWA\r
+ *(volatile ioport unsigned int *)0x0001 = 0x020E;\r
+ asm(" idle");\r
+ \r
+ // set PCGCR1\r
+ pcgcr_value = 0; \r
+ // clock gating SPI\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR1_SPICG, DISABLED);\r
+ // clock gating SD/MMC\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR1_MMCSD0CG, DISABLED);\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR1_MMCSD1CG, DISABLED);\r
+\r
+ // clock gating UART\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR1_UARTCG, DISABLED);\r
+\r
+\r
+ // clock gating EMIF\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR1_EMIFCG, DISABLED);\r
+\r
+ // clock gating I2S I2S 0\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR1_I2S0CG, DISABLED);\r
+ // clock gating I2S I2S 1\r
+ // pcgcr_value |= CSL_FMKT(SYS_PCGCR1_I2S1CG, DISABLED);\r
+ // clock gating I2S I2S 2\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR1_I2S2CG, DISABLED);\r
+ // clock gating I2S I2S 3\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR1_I2S3CG, DISABLED);\r
+\r
+ // clock gating DMA0\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR1_DMA0CG, DISABLED);\r
+\r
+ // clock gating Timer 0\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR1_TMR0CG, DISABLED);\r
+ // clock gating Timer 1\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR1_TMR1CG, DISABLED);\r
+ // clock gating Timer 2\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR1_TMR2CG, DISABLED);\r
+\r
+ // clock gating I2C\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR1_I2CCG, DISABLED);\r
+\r
+ // write to PCGCR1\r
+ CSL_FSET(CSL_SYSCTRL_REGS->PCGCR1, 15, 0, pcgcr_value);\r
+ \r
+ // set PCGCR2\r
+ pcgcr_value = 0; \r
+ // clock gating LCD\r
+ // pcgcr_value |= CSL_FMKT(SYS_PCGCR2_LCDCG, DISABLED);\r
+\r
+ // clock gating SAR\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR2_SARCG, DISABLED);\r
+\r
+ // clock gating DMA1\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR2_DMA1CG, DISABLED);\r
+ // clock gating DMA2\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR2_DMA2CG, DISABLED);\r
+ // clock gating DMA3\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR2_DMA3CG, DISABLED);\r
+\r
+ // clock gating analog registers\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR2_ANAREGCG, DISABLED);\r
+\r
+ // clock gating USB\r
+ pcgcr_value |= CSL_FMKT(SYS_PCGCR2_USBCG, DISABLED);\r
+\r
+ // write to PCGCR2\r
+ CSL_FSET(CSL_SYSCTRL_REGS->PCGCR2, 15, 0, pcgcr_value);\r
+ \r
+ // turn off the XF\r
+ // set bit 13 of ST1_55 to 0\r
+ asm(" bit(ST1, #ST1_XF) = #0");\r
+\r
+#if 0\r
+ // set all GPIO pins to be output and low to save power\r
+ // set the GPIO pin 0 - 15 to output, set SYS_GPIO_DIR0 (0x1C06) bit 0 and 15 to 1 \r
+ *(volatile ioport unsigned int *)(0x1C06) = 0xFFFF;\r
+ // set the GPIO pin 16 - 31 to output, set SYS_GPIO_DIR1 (0x1C07) bit 0 and 15 to 1 \r
+ *(volatile ioport unsigned int *)(0x1C07) = 0xFFFF;\r
+ \r
+ // set the GPIO 0 - 15 to 0, set SYS_GPIO_DATAOUT0 (0x1C0A) bit 0 and 15 to 0\r
+ *(volatile ioport unsigned int *)(0x1C0A) = 0x0000;\r
+ // set the GPIO 16 - 31 to 0, set SYS_GPIO_DATAOUT1 (0x1C0B) bit 0 and 15 to 0\r
+ *(volatile ioport unsigned int *)(0x1C0B) = 0x0000;\r
+#endif\r
+ \r
+\r
+ return;\r
+}\r
+\r
+// DSP LDO Switch\r
+// mode: 105 - set DSP LDO to 1.05V \r
+// 130 - set DSP LDO to 1.3V\r
+// other - no change\r
+void DspLdoSwitch(int mode)\r
+{\r
+ if (mode==130)\r
+ {\r
+ /* enable the Analog Register only */\r
+ *((ioport volatile unsigned int *)0x1C03) &= ~(0x0040);\r
+ // set DSP LDO to 1.05V (clear bit 1)\r
+ *(volatile ioport unsigned int *)(0x7004) &= 0xFFFD;\r
+ /* disable the Analog Register only */\r
+ *((ioport volatile unsigned int *)0x1C03) |= 0x0040;\r
+ }\r
+ \r
+ if (mode==105)\r
+ {\r
+ /* enable the Analog Register only */\r
+ *((ioport volatile unsigned int *)0x1C03) &= ~(0x0040);\r
+ // set DSP LDO to 1.05V (set bit 1)\r
+ *(volatile ioport unsigned int *)(0x7004) |= 0x0002;\r
+ /* disable the Analog Register only */\r
+ *((ioport volatile unsigned int *)0x1C03) |= 0x0040;\r
+ }\r
+}\r
+\r
+// USB LDO Switch\r
+// mode: 0 - disable USB LDO \r
+// 1 - enable USB LDO\r
+// other - no change\r
+void UsbLdoSwitch(int mode)\r
+{\r
+ if (mode==0)\r
+ {\r
+ /* enable the Analog Register only */\r
+ *((ioport volatile unsigned int *)0x1C03) &= ~(0x0040);\r
+ // disable USB LDO (clear bit 0)\r
+ *(volatile ioport unsigned int *)(0x7004) &= 0xFFFE;\r
+ /* disable the Analog Register only */\r
+ *((ioport volatile unsigned int *)0x1C03) |= 0x0040;\r
+ }\r
+ \r
+ if (mode==1)\r
+ {\r
+ /* enable the Analog Register only */\r
+ *((ioport volatile unsigned int *)0x1C03) &= ~(0x0040);\r
+ // enable USB LDO (set bit 0)\r
+ *(volatile ioport unsigned int *)(0x7004) |= 0x0001;\r
+ /* disable the Analog Register only */\r
+ *((ioport volatile unsigned int *)0x1C03) |= 0x0040;\r
+ }\r
+}\r
+\r
+// Address for interrupt vector table\r
+extern void VECSTART(void); // defined in vector table\r
+CSL_IRQ_Dispatch dispatchTable;\r
+// GI2S and DMA initialization\r
+CSL_Status I2sDmaInit(void)\r
+{\r
+ CSL_Status status;\r
+ Uint16 ifrValue;\r
+\r
+ // set up DMA INT and ISR\r
+ // set up dispatch table\r
+ status = IRQ_init(&dispatchTable, 0);\r
+ if(status != CSL_SOK)\r
+ {\r
+ return (status);\r
+ } else\r
+ {\r
+ printf ("INT Module Configured successfully\n");\r
+ }\r
+\r
+ /* Configure and Enable the DMA interrupt */\r
+ IRQ_globalDisable();\r
+\r
+ /* Clear any pending interrupts */\r
+ IRQ_clearAll();\r
+\r
+ /* Disable all the interrupts */\r
+ IRQ_disableAll();\r
+ \r
+ // to set the interrupt vector table address\r
+ status = IRQ_setVecs((Uint32)&VECSTART);\r
+ if(status != CSL_SOK)\r
+ {\r
+ return (status);\r
+ } else\r
+ {\r
+ printf ("Get interrupt vector table successfully\n");\r
+ }\r
+ \r
+ // clear pending DMA interrupt\r
+ IRQ_clear(DMA_EVENT);\r
+ \r
+ // clear the DMA interrupt\r
+ ifrValue = CSL_SYSCTRL_REGS->DMAIFR;\r
+ CSL_SYSCTRL_REGS->DMAIFR |= ifrValue;\r
+\r
+ // plug in DMA ISR\r
+ IRQ_plug(DMA_EVENT, &DmaIsr);\r
+ \r
+ // enable DMA interrupt\r
+ IRQ_enable(DMA_EVENT);\r
+\r
+ // enable global interrupt\r
+ IRQ_globalEnable();\r
+\r
+\r
+ // DMA engine initialization\r
+ // Open the device with instance 0 (digital mic connected to I2S0 on C5515 EVM)\r
+ hI2s = I2S_open(I2S_INSTANCE0, DMA_POLLED, I2S_CHAN_STEREO);\r
+ if(NULL == hI2s)\r
+ {\r
+ status = CSL_ESYS_FAIL;\r
+ return (status);\r
+ }\r
+ else\r
+ {\r
+ printf ("I2S Module Instance opened successfully\n");\r
+ }\r
+\r
+ /** Set the value for the configure structure */\r
+ hwConfig.dataFormat = I2S_DATAFORMAT_LJUST;\r
+ hwConfig.i2sMode = I2S_MASTER;\r
+ hwConfig.wordLen = I2S_WORDLEN_32;\r
+ hwConfig.signext = I2S_SIGNEXT_ENABLE; // don't care since 32-bit wordlength\r
+ hwConfig.datapack = I2S_DATAPACK_DISABLE; // don't care since 32-bit wordlength\r
+ hwConfig.datadelay = I2S_DATADELAY_ONEBIT;\r
+ hwConfig.clkPol = I2S_RISING_EDGE; // receive data is sampled on the rising edge\r
+ hwConfig.fsPol = I2S_FSPOL_LOW;\r
+ hwConfig.loopBackMode = I2S_LOOPBACK_DISABLE;\r
+ hwConfig.dataType = I2S_STEREO_ENABLE;\r
+ //hwConfig.clkDiv = I2S_CLKDIV32; // 32.768e6/32 = 1.024e6 (clock to digital mic)\r
+ hwConfig.clkDiv = I2S_CLKDIV16; // 16.384e6/16 = 1.024e6 (clock to digital mic)\r
+ hwConfig.fsDiv = I2S_FSDIV64; // 64 bit clocks per frame, or 32 bit clocks per channel */\r
+ hwConfig.FError = I2S_FSERROR_DISABLE;\r
+ hwConfig.OuError = I2S_OUERROR_DISABLE;\r
+\r
+ /** Configure hardware registers */\r
+ status = I2S_setup(hI2s, &hwConfig);\r
+ if(status != CSL_SOK)\r
+ {\r
+ return (status);\r
+ }\r
+ else\r
+ {\r
+ printf ("I2S Module Configured successfully\n");\r
+ }\r
+\r
+ // Configure DMA0 channel 0 for I2S0 channel read\r
+ dmaConfig.pingPongMode = CSL_DMA_PING_PONG_ENABLE;\r
+ dmaConfig.autoMode = CSL_DMA_AUTORELOAD_ENABLE;\r
+ dmaConfig.burstLen = CSL_DMA_TXBURST_1WORD;\r
+ dmaConfig.trigger = CSL_DMA_EVENT_TRIGGER;\r
+ dmaConfig.dmaEvt = CSL_DMA_EVT_I2S0_RX;\r
+ dmaConfig.dmaInt = CSL_DMA_INTERRUPT_ENABLE;\r
+ dmaConfig.chanDir = CSL_DMA_READ;\r
+ dmaConfig.trfType = CSL_DMA_TRANSFER_IO_MEMORY;\r
+ dmaConfig.dataLen = I2S_DMA_BUF_LEN*4; // bytes in 32-bit word\r
+ dmaConfig.srcAddr = (Uint32)0x2828;\r
+ dmaConfig.destAddr = (Uint32)i2sDmaReadBufLeft;\r
+\r
+ // DMA initialization\r
+ status = DMA_init();\r
+ if (status != CSL_SOK)\r
+ {\r
+ printf("DMA_init() Failed \n");\r
+ dmaLeftRxHandle = NULL;\r
+ dmaRightRxHandle = NULL;\r
+ return status;\r
+ }\r
+\r
+ // Open DMA0 channel 0 for I2S0 channel read\r
+ dmaLeftRxHandle = DMA_open(CSL_DMA_CHAN0, &dmaObj0, &status);\r
+ if (dmaLeftRxHandle == NULL)\r
+ {\r
+ printf("DMA_open CH0 Failed \n");\r
+ dmaLeftRxHandle = NULL;\r
+ }\r
+\r
+ status = DMA_config(dmaLeftRxHandle, &dmaConfig);\r
+ if (status != CSL_SOK)\r
+ {\r
+ printf("DMA_config CH0 Failed \n");\r
+ dmaLeftRxHandle = NULL;\r
+ }\r
+\r
+ /* Configure DMA0 channel 1 for I2S0 channel read */\r
+ dmaConfig.pingPongMode = CSL_DMA_PING_PONG_ENABLE;\r
+ dmaConfig.autoMode = CSL_DMA_AUTORELOAD_ENABLE;\r
+ dmaConfig.burstLen = CSL_DMA_TXBURST_1WORD;\r
+ dmaConfig.trigger = CSL_DMA_EVENT_TRIGGER;\r
+ dmaConfig.dmaEvt = CSL_DMA_EVT_I2S0_RX;\r
+ dmaConfig.dmaInt = CSL_DMA_INTERRUPT_ENABLE;\r
+ dmaConfig.chanDir = CSL_DMA_READ;\r
+ dmaConfig.trfType = CSL_DMA_TRANSFER_IO_MEMORY;\r
+ dmaConfig.dataLen = I2S_DMA_BUF_LEN*4; // bytes in 32-bit word\r
+ dmaConfig.srcAddr = (Uint32)0x282C;\r
+ dmaConfig.destAddr = (Uint32)i2sDmaReadBufRight;\r
+\r
+ // Open DMA0 channel 1 for I2S0 channel read\r
+ dmaRightRxHandle = DMA_open(CSL_DMA_CHAN1, &dmaObj1, &status);\r
+ if (dmaRightRxHandle == NULL)\r
+ {\r
+ printf("DMA_open CH1 Failed \n");\r
+ dmaRightRxHandle = NULL;\r
+ }\r
+\r
+ status = DMA_config(dmaRightRxHandle, &dmaConfig);\r
+ if (status != CSL_SOK)\r
+ {\r
+ printf("DMA_config CH1 Failed \n");\r
+ dmaRightRxHandle = NULL;\r
+ }\r
+\r
+ // enable I2S\r
+ I2S_transEnable(hI2s, TRUE);\r
+ \r
+ // Start left Rx DMA\r
+ status = DMA_start(dmaLeftRxHandle);\r
+ if (status != CSL_SOK)\r
+ {\r
+ printf("I2S Dma Left Failed!!\n");\r
+ return (status);\r
+ }\r
+ \r
+ // Start right Rx DMA\r
+ status = DMA_start(dmaRightRxHandle);\r
+ if (status != CSL_SOK)\r
+ {\r
+ printf("I2S Dma Right Failed!!\n");\r
+ return (status);\r
+ }\r
+\r
+ return CSL_SOK;\r
+}\r
+\r
+volatile long LoopCount = 0;\r
+// user defined algorithm\r
+void UserAlgorithm(void)\r
+{\r
+ volatile int i, numFrame, offset;\r
+ Uint16 numOutSamps;\r
+\r
+ if (dmaFrameCount >= 2)\r
+ {\r
+ /* Determine which frame to use ping or pong */\r
+ offset = pingPongFlag*IN_FRAME_LEN_PER_CH;\r
+\r
+ /* Perform CIC */\r
+ pickBitsCic(&i2sDmaReadBufLeft[offset], &i2sDmaReadBufRight[offset], IN_FRAME_LEN_PER_CH, cicState, cicOutFrame, &numOutSamps);\r
+\r
+ /* Compute FIR1 output */\r
+ blkFirDecim2(cicOutFrame, (Int16 *)fir1Coefs, fir1OutFrame, fir1DlyBuf, CIC_OUT_FRAME_LEN, FIR1_NUM_COEFS);\r
+\r
+ /* Compute FIR2 output */\r
+ blkFirDecim2(fir1OutFrame, (Int16 *)fir2Coefs, fir2OutFrame, fir2DlyBuf, FIR1_OUT_FRAME_LEN, FIR2_NUM_COEFS);\r
+\r
+ /* Apply digital gain */\r
+ appDiggain(fir2OutFrame, DIGGAIN, digGainOutFrame, FIR2_OUT_FRAME_LEN);\r
+\r
+ /* Get current frame number */\r
+ numFrame = LoopCount%NUM_FRAMES_PER_CIRCBUF;\r
+\r
+ /* Write digital gain output to circular buffer */\r
+ for (i=0; i<DIGGAIN_OUT_FRAME_LEN; i++)\r
+ {\r
+ digGainOutCircBuf[numFrame*DIGGAIN_OUT_FRAME_LEN+i] = digGainOutFrame[i];\r
+ }\r
+ \r
+#if 0 // write input data into circular buffers\r
+ /* Copy the current frame from ping or pong frame into input circular buffers */\r
+ for (i=0; i<IN_FRAME_LEN_PER_CH; i++)\r
+ {\r
+ /* Write left channel */\r
+ inCircBufLeft[numFrame*IN_FRAME_LEN_PER_CH+i] = i2sDmaReadBufLeft[offset+i];\r
+ /* Write right channel */\r
+ inCircBufRight[numFrame*IN_FRAME_LEN_PER_CH+i] = i2sDmaReadBufRight[offset+i];\r
+ }\r
+#endif\r
+\r
+#if 0 // write CIC output into circular buffers\r
+ for (i=0; i<CIC_OUT_FRAME_LEN; i++)\r
+ {\r
+ cicOutCircBuf[numFrame*CIC_OUT_FRAME_LEN+i] = cicOutFrame[i];\r
+ }\r
+#endif \r
+\r
+#if 0 // write FIR1 output into circular buffers\r
+ for (i=0; i<FIR1_OUT_FRAME_LEN; i++)\r
+ {\r
+ fir1OutCircBuf[numFrame*FIR1_OUT_FRAME_LEN+i] = fir1OutFrame[i];\r
+ }\r
+#endif \r
+\r
+#if 0 // write FIR2 output into circular buffers\r
+ /* Copy the current frame from ping or pong frame into input circular buffers */\r
+ for (i=0; i<FIR2_OUT_FRAME_LEN; i++)\r
+ {\r
+ fir2OutCircBuf[numFrame*FIR2_OUT_FRAME_LEN+i] = fir2OutFrame[i];\r
+ }\r
+#endif \r
+\r
+#if 0 // debug -- stop DMAs on frame boundary\r
+ /* Stop DMAs to get consistent DMA transfers from digital mic */\r
+ if ((pingPongFlag == 0) && (LoopCount > 500)) // 500*20e-3 = 10 sec. \r
+ {\r
+ *((ioport volatile unsigned int *)0x0C05) &= ~0x8000; // disable DMA\r
+ *((ioport volatile unsigned int *)0x0C25) &= ~0x8000; // disable DMA\r
+ while(1);\r
+ }\r
+#endif\r
+\r
+ /* Toggle ping/pong flag */\r
+ pingPongFlag ^= 1;\r
+ \r
+ /* Clear DMA frame count */\r
+ dmaFrameCount = 0;\r
+\r
+ LoopCount++;\r
+ }\r
+}\r
+\r
+// Put CPU in idle\r
+void UserIdle(void)\r
+{\r
+ /* Execute idle instruction */\r
+ asm(" idle");\r
+}\r
+\r
+Uint32 dmaIntCount = 0;\r
+// DMA ISR\r
+interrupt void DmaIsr(void)\r
+{\r
+ Uint16 ifrValue;\r
+\r
+ // clear the DMA interrupt\r
+ ifrValue = CSL_SYSCTRL_REGS->DMAIFR;\r
+ CSL_SYSCTRL_REGS->DMAIFR = ifrValue;\r
+ \r
+ // wait for the DMA0 CH0 transfer to complete\r
+ // if left frame is in\r
+ if (ifrValue & 0x1) \r
+ {\r
+ dmaFrameCount++;\r
+ }\r
+ \r
+ // wait for the DMA0 CH1 transfer to complete\r
+ // if the right frame is in\r
+ if (ifrValue & 0x2)\r
+ {\r
+ dmaFrameCount++;\r
+ } \r
+\r
+ dmaIntCount++;\r
+}\r
diff --git a/src/diggain.c b/src/diggain.c
--- /dev/null
+++ b/src/diggain.c
@@ -0,0 +1,103 @@
+/* ============================================================================
+ * Copyright (c) 2016 Texas Instruments Incorporated.
+ *
+ * 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.
+ *
+ ===============================================================================*/
+
+#include "data_types.h"
+#include "diggain.h"
+
+#define QUANT_TRUNC ( 0 ) /* truncate */
+#define QUANT_RND_INF ( 1 ) /* round to infinite */
+#define QUANT_MODE ( QUANT_RND_INF )
+
+/* Applies digital gain and saturates output. */
+/* S18Q16 input data, S16Q15 output data. */
+/* U16Q8 digital gain. */
+void appDiggain(
+ Int32 *inSamps, /* input samples (S18Q16) */
+ Uint16 diggain, /* digital gain (U16Q8) */
+ Int16 *outSamps, /* output samples (S16Q15) */
+ Uint16 numInSamps /* number of input samples */
+)
+{
+ Uint16 dataL;
+ Int16 dataH;
+ Uint32 prdLL;
+ Int32 prdLH;
+ Int64 acc0_40b;
+ Uint16 i;
+
+ for (i = 0; i < numInSamps; i++)
+ {
+ /* S18Q16 */
+ dataL = (Uint16)inSamps[i];
+ dataH = (Int16)(inSamps[i] >> 16);
+
+ /* S18Q16 * U16Q8 = S34Q24 */
+ prdLL = (Uint32)dataL * diggain;
+ prdLH = (Int32)dataH * (Uint32)diggain;
+
+ /* S40Q24 + S34Q24 = S40Q24 */
+ acc0_40b = (Uint64)prdLL;
+ acc0_40b += (Int64)(prdLH << 16);
+
+#if (QUANT_MODE == QUANT_RND_INF)
+ acc0_40b += (Uint16)1<<8; /* round to infinite */
+#endif
+ acc0_40b >>= 9; /* truncate */
+
+#ifdef _WIN32
+ /* Saturate output */
+ if (acc0_40b > (Int64)0x7FFF)
+ {
+ acc0_40b = (Int64)0x7FFF;
+ }
+ else if (acc0_40b < (Int64)0xFFFFFFFFFFFF8000)
+ {
+ acc0_40b = (Int64)0xFFFFFFFFFFFF8000;
+ }
+#else
+ /* Saturate output */
+ if (acc0_40b > (Int64)0x7FFF)
+ {
+ acc0_40b = (Int64)0x7FFF;
+ }
+ else if (acc0_40b < (Int64)0xFFFFFF8000)
+ {
+ acc0_40b = (Int64)0xFFFFFF8000;
+ }
+
+#endif
+
+ outSamps[i] = (Int16)acc0_40b; /* S16Q15 */
+ }
+}
+
diff --git a/src/diggain_f1.asm b/src/diggain_f1.asm
--- /dev/null
+++ b/src/diggain_f1.asm
@@ -0,0 +1,181 @@
+;============================================================================
+; Copyright (c) 2016 Texas Instruments Incorporated.
+;
+; 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.
+;
+;===============================================================================
+; Function: _appDiggain
+; Processor: C55xx, Rev. 3
+; Description:
+; Applies digital gain and saturates output.
+; S18Q16 input data, S16Q15 output data.
+; U16Q8 digital gain.
+;
+; x cycle inner loop.
+;
+; C-callable.
+; Mnemonic assembly.
+;
+; Usage: void blkFirDecim2(
+; Int32 *inSamps, -> XAR0
+; Uint16 diggain, -> T0
+; Int16 *outSamps, -> XAR1
+; Uint16 numInSamps -> T1
+; );
+;
+;
+; NOTE: additional optimizations possible, but low MHz contributor.
+;****************************************************************
+
+ .C54CM_off ; enable assembler for C54CM=0
+ .ARMS_off ; enable assembler for ARMS=0
+ .CPL_on ; enable assembler for CPL=1
+
+ .mmregs ; enable mem mapped register names
+
+ .def _appDiggain
+
+; Stack frame
+; -----------
+RET_ADDR_SZ .set 1 ; return address
+REG_SAVE_SZ .set 0 ; save-on-entry registers saved
+FRAME_SZ .set 1 ; local variables
+ARG_BLK_SZ .set 0 ; argument block
+PARAM_OFFSET .set ARG_BLK_SZ + FRAME_SZ + REG_SAVE_SZ + RET_ADDR_SZ ; offset to function arguments on stack
+
+; Local variables
+; ---------------
+ .asg 2, digGain
+
+; Register usage
+; --------------
+ .asg CDP, x_ptr ; input sample pointer
+ .asg AR1, r_ptr ; output sample pointer
+
+ .asg XCDP, xx_ptr ; extended input sample pointer
+
+ .asg BRC0, outer_cnt ; outer loop count
+
+QUANT_TRUNC .set 0 ; truncate
+QUANT_RND .set 1 ; round according to rounding mode
+QUANT_MODE .set QUANT_RND
+
+
+ .text
+_appDiggain:
+
+;
+; Save any save-on-entry registers that are used
+;----------------------------------------------------------------
+
+;
+; Allocate the local frame and argument block
+;----------------------------------------------------------------
+ AADD #-(ARG_BLK_SZ + FRAME_SZ), SP
+
+;
+; Save entry values for later
+;----------------------------------------------------------------
+ MOV T0, *SP(digGain)
+
+;
+; Configure the status registers as needed
+;----------------------------------------------------------------
+ AND #001FFh, mmap(ST0_55) ; clear ACOV[0-3], TC[1-2], and C
+
+ OR #04540h, mmap(ST1_55) ; set CPL, M40, SXMD, and FRCT
+ ;AND #0F9DFh, mmap(ST1_55) ; clear M40, SATD, 54CM
+
+ BCLR ARMS ; clear ARMS
+
+ ;AND #0FCDDh, mmap(ST3_55) ; clear SATA, SMUL ; note -- must always write 1100b to bits 11-8, 0b to bit 4
+
+
+;
+; Setup passed parameters in their destination registers
+;----------------------------------------------------------------
+
+; x pointer - passed in its destination register
+ AMOV XAR0, xx_ptr
+
+; r pointer - already passed in its destination register
+
+
+;
+; Setup loop counts
+;----------------------------------------------------------------
+ MOV T1, AC0 ; AC0 = nx (nx unsigned, constrained to < 32768 since SXM is enabled)
+ SUB #1, AC0 ; AC0 = nx-1
+ MOV AC0, mmap(outer_cnt) ; outer_cnt = nx-1
+
+
+;
+; Start of outer loop
+;----------------------------------------------------------------
+ RPTBLOCAL loop0-1 ; outer loop nx iterations
+
+ MPY *SP(#digGain), *x_ptr+, AC1 ; Low x High
+ MPY *SP(#digGain), uns(*x_ptr+), AC0 ; Low x Low
+ ADD AC1 << #16, AC0
+ SFTS AC0, #6
+ .if (QUANT_MODE == QUANT_TRUNC)
+ SAT AC0
+ .else
+ SATR AC0
+ .endif
+
+ ; Store result to memory
+ MOV HI(AC0), *r_ptr+ ; store S16Q15 value to memory
+loop0: ; end of outer loop
+
+
+;
+; Restore status regs to expected C-convention values as needed
+;----------------------------------------------------------------
+ BCLR M40 ; clear M40
+ BCLR FRCT ; clear FRCT
+
+ AND #0FE00h, mmap(ST2_55) ; clear CDPLC and AR[7-0]LC
+ BSET ARMS ; set SMUL
+
+ ;BSET SMUL ; set SMUL
+
+;
+; Deallocate the local frame and argument block
+;----------------------------------------------------------------
+ AADD #(ARG_BLK_SZ + FRAME_SZ), SP
+
+;
+; Restore any save-on-entry registers that are used
+;----------------------------------------------------------------
+
+;
+; Return to calling function
+;----------------------------------------------------------------
+ RET ; return to calling function
diff --git a/src/pick_bits_cic.c b/src/pick_bits_cic.c
--- /dev/null
+++ b/src/pick_bits_cic.c
@@ -0,0 +1,184 @@
+/* ============================================================================
+ * Copyright (c) 2016 Texas Instruments Incorporated.
+ *
+ * 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.
+ *
+ ===============================================================================*/
+#include "data_types.h"
+#include "pick_bits_cic.h"
+
+#define BITS_PER_16BW ( 16 )
+
+/* Unpacks "left" and "right" 32-bit packed DMA buffers containing output from digital mic. */
+/* Performs CIC on unpacked data, CIC_DF = 16 & CIC_NS = 4. */
+void pickBitsCic(
+ Uint32 *lData, /* "left" channel 32-bit packed input data */
+ Uint32 *rData, /* "right" channel 32-bit packed input data */
+ Uint16 inDataLen, /* length of "left" or "right" input data in 32-bit words */
+ Int32 *cicState, /* CIC state. First NS values are integrator state, next NS values are differentiator delay buffer */
+ Int32 *outSamps, /* CIC output samples */
+ Uint16 *pNumOutSamps /* CIC number of output samples */
+)
+{
+ Uint16 cur16bW;
+ Int16 input;
+ Int32 *acc;
+ Int32 *diffDly;
+ Int32 diff[CIC_NS];
+ Int32 *pOutSamp;
+ Uint16 i, j;
+
+
+ /* Compute number of output samples */
+ /* x32 for 32-bit word, x2 for 2 channels */
+ //*pNumOutSamps = inDataLen*32*2/DS;
+ *pNumOutSamps = inDataLen<<2;
+
+ acc = &cicState[0];
+ diffDly = &cicState[CIC_NS];
+ pOutSamp = &outSamps[0];
+ for (i = 0; i < inDataLen; i++)
+ {
+ /* Process "left" channel MS 16-bit word for current 32-bit word */
+ cur16bW = lData[i]>>BITS_PER_16BW;
+ for (j = 0; j < CIC_DF; j++)
+ {
+ /* Get current input */
+ /* 0->-1, 1->+1 */
+ input = ((cur16bW>>(BITS_PER_16BW-2))&0x2) - 1;
+ cur16bW <<= 1;
+
+ /* Perform integration for current input */
+ acc[0] += input;
+ acc[1] += acc[0];
+ acc[2] += acc[1];
+ acc[3] += acc[2];
+ }
+
+ /* Perform decimation & differentiator stages */
+ diff[0] = acc[3] - diffDly[0];
+ diffDly[0] = acc[3];
+ diff[1] = diff[0] - diffDly[1];
+ diffDly[1] = diff[0];
+ diff[2] = diff[1] - diffDly[2];
+ diffDly[2] = diff[1];
+ diff[3] = diff[2] - diffDly[3];
+ diffDly[3] = diff[2];
+
+ /* Write output sample */
+ *pOutSamp++ = diff[3];
+
+ /* Process "left" channel LS 16-bit word for current 32-bit word */
+ cur16bW = lData[i]&0xFFFF;
+ for (j = 0; j < CIC_DF; j++)
+ {
+ /* Get current input */
+ /* 0->-1, 1->+1 */
+ input = ((cur16bW>>(BITS_PER_16BW-2))&0x2) - 1;
+ cur16bW <<= 1;
+
+ /* Perform integration for current input */
+ acc[0] += input;
+ acc[1] += acc[0];
+ acc[2] += acc[1];
+ acc[3] += acc[2];
+ }
+
+ /* Perform decimation & differentiator stages */
+ diff[0] = acc[3] - diffDly[0];
+ diffDly[0] = acc[3];
+ diff[1] = diff[0] - diffDly[1];
+ diffDly[1] = diff[0];
+ diff[2] = diff[1] - diffDly[2];
+ diffDly[2] = diff[1];
+ diff[3] = diff[2] - diffDly[3];
+ diffDly[3] = diff[2];
+
+ /* Write output sample */
+ *pOutSamp++ = diff[3];
+
+ /* Process "right" channel MS 16-bit word for current 32-bit word */
+ cur16bW = rData[i]>>16;
+ for (j = 0; j < CIC_DF; j++)
+ {
+ /* Get current input */
+ /* 0->-1, 1->+1 */
+ input = ((cur16bW>>(BITS_PER_16BW-2))&0x2) - 1;
+ cur16bW <<= 1;
+
+ /* Perform integration for current input */
+ acc[0] += input;
+ acc[1] += acc[0];
+ acc[2] += acc[1];
+ acc[3] += acc[2];
+ }
+
+ /* Perform decimation & differentiator stages */
+ diff[0] = acc[3] - diffDly[0];
+ diffDly[0] = acc[3];
+ diff[1] = diff[0] - diffDly[1];
+ diffDly[1] = diff[0];
+ diff[2] = diff[1] - diffDly[2];
+ diffDly[2] = diff[1];
+ diff[3] = diff[2] - diffDly[3];
+ diffDly[3] = diff[2];
+
+ /* Write output sample */
+ *pOutSamp++ = diff[3];
+
+ /* Process "right" channel LS 16-bit word for current 32-bit word */
+ cur16bW = rData[i]&0xFFFF;
+ for (j = 0; j < CIC_DF; j++)
+ {
+ /* Get current input */
+ /* 0->-1, 1->+1 */
+ input = ((cur16bW>>(BITS_PER_16BW-2))&0x2) - 1;
+ cur16bW <<= 1;
+
+ /* Perform integration for current input */
+ acc[0] += input;
+ acc[1] += acc[0];
+ acc[2] += acc[1];
+ acc[3] += acc[2];
+ }
+
+ /* Perform decimation & differentiator stages */
+ diff[0] = acc[3] - diffDly[0];
+ diffDly[0] = acc[3];
+ diff[1] = diff[0] - diffDly[1];
+ diffDly[1] = diff[0];
+ diff[2] = diff[1] - diffDly[2];
+ diffDly[2] = diff[1];
+ diff[3] = diff[2] - diffDly[3];
+ diffDly[3] = diff[2];
+
+ /* Write output sample */
+ *pOutSamp++ = diff[3];
+ }
+}
diff --git a/src/pick_bits_cic_f2.asm b/src/pick_bits_cic_f2.asm
--- /dev/null
+++ b/src/pick_bits_cic_f2.asm
@@ -0,0 +1,398 @@
+;============================================================================
+; Copyright (c) 2016 Texas Instruments Incorporated.
+;
+; 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.
+;
+;===============================================================================
+; Function: pickBitsCic
+; Processor: C55xx, Rev. 3
+; Description:
+; Unpacks "left" and "right" 32-bit packed DMA buffers
+; containing output from digital mic.
+; Performs CIC on unpacked data, DS = 16 & NS = 4.
+;
+; x cycle inner loop.
+;
+; C-callable.
+; Mnemonic assembly.
+;
+; Usage: void pick_bits_cic(
+; Uint32 *lData, -> XAR0
+; Uint32 *rData, -> XAR1
+; Uint16 inDataLen, -> T0
+; Int32 *cicState, -> XAR2
+; Int32 *outSamps, -> XAR3
+; Uint16 *pNumOutSamps -> XAR4
+; );
+;
+;****************************************************************
+
+ .C54CM_off ; enable assembler for C54CM=0
+ .ARMS_off ; enable assembler for ARMS=0
+ .CPL_on ; enable assembler for CPL=1
+
+ .mmregs ; enable mem mapped register names
+
+ .def _pickBitsCic
+
+ .include "pick_bits_cic.inc"
+
+; Stack frame
+; -----------
+RET_ADDR_SZ .set 1 ; return address
+REG_SAVE_SZ .set 0 ; save-on-entry registers saved
+FRAME_SZ .set 0 ; local variables
+ARG_BLK_SZ .set 0 ; argument block
+PARAM_OFFSET .set ARG_BLK_SZ + FRAME_SZ + REG_SAVE_SZ + RET_ADDR_SZ ; offset to function arguments on stack
+
+; Local variables
+; ---------------
+
+; Register usage
+; --------------
+ .asg XAR2, cicState_xptr ; extended pointer to CIC state
+ .asg AR0, lData_ptr ; pointer to "left" input data
+ .asg AR1, rData_ptr ; pointer to "right" input data
+ .asg AR3, outSamps_ptr ; pointer to output samples
+ .asg AR4, numOutSamps_ptr ; pointer to number of output samples
+ .asg BRC0, loop0_cnt ; loop0 count
+ .asg BRC1, loop1_cnt ; loop1 count
+
+
+ .text
+_pickBitsCic:
+
+
+;
+; Save any save-on-entry registers that are used
+;----------------------------------------------------------------
+
+;
+; Allocate the local frame and argument block
+;----------------------------------------------------------------
+ AADD #-(ARG_BLK_SZ + FRAME_SZ), SP
+
+;
+; Save entry values for later
+;----------------------------------------------------------------
+
+;
+; Configure the status registers as needed
+;----------------------------------------------------------------
+ AND #001FFh, mmap(ST0_55) ; clear ACOV[0-3], TC[1-2], and C
+
+ ;OR #04540h, mmap(ST1_55) ; set CPL, M40, SXMD, FRCT
+ ;AND #0FDDFh, mmap(ST1_55) ; clear SATD, C54CM
+
+ ;AND #07A00h, mmap(ST2_55) ; clear ARMS, RDM, CDPLC, AR[0-7]LC
+ BCLR ARMS ; clear ARMS
+
+ ;AND #0FCDDh, mmap(ST3_55) ; clear SATA, SMUL ; note -- must always write 1100b to bits 11-8, 0b to bit 4
+
+;
+; Compute number of output samples
+;----------------------------------------------------------------
+ MOV T0, AC0 ; AC0 = inDataLen
+ MOV AC0 << #2, *numOutSamps_ptr ; *pNumOutSamps = inDataLen<<2
+
+;
+; Loop setup
+;----------------------------------------------------------------
+ ; Initialize loop0 (outer) count
+ ; Initialize loop1 (inner) count
+ SUB #1, T0 ; T0 = inBufLen-1
+ || MOV #(DS-1), loop1_cnt
+ MOV T0, mmap(@loop0_cnt) ; loop0_cnt = inBufLen-1
+
+;
+; Output sample loop
+;----------------------------------------------------------------
+ RPTB loop0-1
+
+;
+; Unpack current "left" word
+;----------------------------------------------------------------
+ ;
+ ; MSW of 32-bit word
+ ;
+
+ ; Load integrator state
+ AMOV cicState_xptr, XAR4
+ || MOV *lData_ptr+, T1 ; get MSW
+ MOV dbl(*AR4+), AC0
+ MOV dbl(*AR4+), AC1
+ MOV dbl(*AR4+), AC2
+ MOV dbl(*AR4+), AC3
+
+ || RPTBLOCAL loop1_left1-1
+ MOV #0, T0
+ || ROL TC2, T1, TC2, T1
+ ROL TC2, T0, TC2, T0 ; LSB of T0 = bit
+ XCCPART T0==#0
+ || SUB #1, T0 ; T0 = input = 2*bit-1: 0->-1, 1->+1
+
+ ; Perform integration for current input
+ ADD T0, AC0 ; compute integrator 1 output ; AC0 = acc[0]
+ ADD AC0, AC1 ; compute integrator 2 output ; AC1 = acc[1]
+ ADD AC1, AC2 ; compute integrator 3 output ; AC2 = acc[2]
+ ADD AC2, AC3 ; compute integrator 4 output ; AC3 = acc[3]
+loop1_left1:
+
+ ; Store integrator state
+ AMOV cicState_xptr, XAR4
+ MOV AC0, dbl(*AR4+)
+ MOV AC1, dbl(*AR4+)
+ MOV AC2, dbl(*AR4+)
+ MOV AC3, dbl(*AR4+)
+
+ ; Compute differentiator output
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[0]
+ MOV AC3, dbl(*AR4+) ; diffDly[0] = AC3 = acc[3]
+ || SUB AC0, AC3 ; compute differentiator 1 output
+ ; AC3 = diff[0] = acc[3] - diffDly[0]
+
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[1]
+ MOV AC3, dbl(*AR4+) ; diffDly[1] = AC3 = diff[0]
+ || SUB AC0, AC3 ; compute differentiator 1 output
+ ; AC3 = diff[1] = diff[0] - diffDly[1]
+
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[2]
+ MOV AC3, dbl(*AR4+) ; diffDly[2] = AC3 = diff[1]
+ || SUB AC0, AC3 ; compute differentiator 2 output
+ ; AC3 = diff[2] = diff[1] - diffDly[2]
+
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[3]
+ MOV AC3, dbl(*AR4+) ; diffDly[3] = AC3 = diff[2]
+ || SUB AC0, AC3 ; compute differentiator 3 output
+ ; AC3 = diff[3] = diff[2] - diffDly[3]
+
+ ; Store output
+ MOV AC3, dbl(*outSamps_ptr+)
+
+ ;
+ ; LSW of 32-bit word
+ ;
+
+ ; Load integrator state
+ AMOV cicState_xptr, XAR4
+ || MOV *lData_ptr+, T1 ; get LSW
+ MOV dbl(*AR4+), AC0
+ ;|| MOV AC3, dbl(*outSamps_ptr+)
+ MOV dbl(*AR4+), AC1
+ MOV dbl(*AR4+), AC2
+ MOV dbl(*AR4+), AC3
+
+ || RPTBLOCAL loop1_left2-1
+ MOV #0, T0
+ || ROL TC2, T1, TC2, T1
+ ROL TC2, T0, TC2, T0 ; LSB of T0 = bit
+ XCCPART T0==#0
+ || SUB #1, T0 ; T0 = input = 2*bit-1: 0->-1, 1->+1
+
+ ; Perform integration for current input
+ ADD T0, AC0 ; compute integrator 1 output ; AC0 = acc[0]
+ ADD AC0, AC1 ; compute integrator 2 output ; AC1 = acc[1]
+ ADD AC1, AC2 ; compute integrator 3 output ; AC2 = acc[2]
+ ADD AC2, AC3 ; compute integrator 4 output ; AC3 = acc[3]
+loop1_left2:
+
+ ; Store integrator state
+ AMOV cicState_xptr, XAR4
+ MOV AC0, dbl(*AR4+)
+ MOV AC1, dbl(*AR4+)
+ MOV AC2, dbl(*AR4+)
+ MOV AC3, dbl(*AR4+)
+
+ ; Compute differentiator output
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[0]
+ MOV AC3, dbl(*AR4+) ; diffDly[0] = AC3 = acc[3]
+ || SUB AC0, AC3 ; compute differentiator 1 output
+ ; AC3 = diff[0] = acc[3] - diffDly[0]
+
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[1]
+ MOV AC3, dbl(*AR4+) ; diffDly[1] = AC3 = diff[0]
+ || SUB AC0, AC3 ; compute differentiator 1 output
+ ; AC3 = diff[1] = diff[0] - diffDly[1]
+
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[2]
+ MOV AC3, dbl(*AR4+) ; diffDly[2] = AC3 = diff[1]
+ || SUB AC0, AC3 ; compute differentiator 2 output
+ ; AC3 = diff[2] = diff[1] - diffDly[2]
+
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[3]
+ MOV AC3, dbl(*AR4+) ; diffDly[3] = AC3 = diff[2]
+ || SUB AC0, AC3 ; compute differentiator 3 output
+ ; AC3 = diff[3] = diff[2] - diffDly[3]
+
+ ; Store output
+ MOV AC3, dbl(*outSamps_ptr+)
+
+;
+; Unpack current "right" word
+;----------------------------------------------------------------
+ ;
+ ; MSW of 32-bit word
+ ;
+
+ ; Load integrator state
+ AMOV cicState_xptr, XAR4
+ || MOV *rData_ptr+, T1 ; get MSW
+ MOV dbl(*AR4+), AC0
+ ;|| MOV AC3, dbl(*outSamps_ptr+)
+ MOV dbl(*AR4+), AC1
+ MOV dbl(*AR4+), AC2
+ MOV dbl(*AR4+), AC3
+
+ || RPTBLOCAL loop1_right1-1
+ MOV #0, T0
+ || ROL TC2, T1, TC2, T1
+ ROL TC2, T0, TC2, T0 ; LSB of T0 = bit
+ XCCPART T0==#0
+ || SUB #1, T0 ; T0 = input = 2*bit-1: 0->-1, 1->+1
+
+ ; Perform integration for current input
+ ADD T0, AC0 ; compute integrator 1 output ; AC0 = acc[0]
+ ADD AC0, AC1 ; compute integrator 2 output ; AC1 = acc[1]
+ ADD AC1, AC2 ; compute integrator 3 output ; AC2 = acc[2]
+ ADD AC2, AC3 ; compute integrator 4 output ; AC3 = acc[3]
+loop1_right1:
+
+ ; Store integrator state
+ AMOV cicState_xptr, XAR4
+ MOV AC0, dbl(*AR4+)
+ MOV AC1, dbl(*AR4+)
+ MOV AC2, dbl(*AR4+)
+ MOV AC3, dbl(*AR4+)
+
+ ; Compute differentiator output
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[0]
+ MOV AC3, dbl(*AR4+) ; diffDly[0] = AC3 = acc[3]
+ || SUB AC0, AC3 ; compute differentiator 1 output
+ ; AC3 = diff[0] = acc[3] - diffDly[0]
+
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[1]
+ MOV AC3, dbl(*AR4+) ; diffDly[1] = AC3 = diff[0]
+ || SUB AC0, AC3 ; compute differentiator 1 output
+ ; AC3 = diff[1] = diff[0] - diffDly[1]
+
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[2]
+ MOV AC3, dbl(*AR4+) ; diffDly[2] = AC3 = diff[1]
+ || SUB AC0, AC3 ; compute differentiator 2 output
+ ; AC3 = diff[2] = diff[1] - diffDly[2]
+
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[3]
+ MOV AC3, dbl(*AR4+) ; diffDly[3] = AC3 = diff[2]
+ || SUB AC0, AC3 ; compute differentiator 3 output
+ ; AC3 = diff[3] = diff[2] - diffDly[3]
+
+ ; Store output
+ MOV AC3, dbl(*outSamps_ptr+)
+
+ ;
+ ; LSW of 32-bit word
+ ;
+
+ ; Load integrator state
+ AMOV cicState_xptr, XAR4
+ || MOV *rData_ptr+, T1 ; get LSW
+ MOV dbl(*AR4+), AC0
+ ;|| MOV AC3, dbl(*outSamps_ptr+)
+ MOV dbl(*AR4+), AC1
+ MOV dbl(*AR4+), AC2
+ MOV dbl(*AR4+), AC3
+
+ || RPTBLOCAL loop1_right2-1
+ MOV #0, T0
+ || ROL TC2, T1, TC2, T1
+ ROL TC2, T0, TC2, T0 ; LSB of T0 = bit
+ XCCPART T0==#0
+ || SUB #1, T0 ; T0 = input = 2*bit-1: 0->-1, 1->+1
+
+ ; Perform integration for current input
+ ADD T0, AC0 ; compute integrator 1 output ; AC0 = acc[0]
+ ADD AC0, AC1 ; compute integrator 2 output ; AC1 = acc[1]
+ ADD AC1, AC2 ; compute integrator 3 output ; AC2 = acc[2]
+ ADD AC2, AC3 ; compute integrator 4 output ; AC3 = acc[3]
+loop1_right2:
+
+ ; Store integrator state
+ AMOV cicState_xptr, XAR4
+ MOV AC0, dbl(*AR4+)
+ MOV AC1, dbl(*AR4+)
+ MOV AC2, dbl(*AR4+)
+ MOV AC3, dbl(*AR4+)
+
+ ; Compute differentiator output
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[0]
+ MOV AC3, dbl(*AR4+) ; diffDly[0] = AC3 = acc[3]
+ || SUB AC0, AC3 ; compute differentiator 1 output
+ ; AC3 = diff[0] = acc[3] - diffDly[0]
+
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[1]
+ MOV AC3, dbl(*AR4+) ; diffDly[1] = AC3 = diff[0]
+ || SUB AC0, AC3 ; compute differentiator 1 output
+ ; AC3 = diff[1] = diff[0] - diffDly[1]
+
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[2]
+ MOV AC3, dbl(*AR4+) ; diffDly[2] = AC3 = diff[1]
+ || SUB AC0, AC3 ; compute differentiator 2 output
+ ; AC3 = diff[2] = diff[1] - diffDly[2]
+
+ MOV dbl(*AR4), AC0 ; AC0 = diffDly[3]
+ MOV AC3, dbl(*AR4+) ; diffDly[3] = AC3 = diff[2]
+ || SUB AC0, AC3 ; compute differentiator 3 output
+ ; AC3 = diff[3] = diff[2] - diffDly[3]
+
+ ; Store output
+ MOV AC3, dbl(*outSamps_ptr+)
+loop0:
+
+;
+; Restore status regs to expected C-convention values as needed
+;----------------------------------------------------------------
+ ;BCLR M40 ; clear M40
+ ;BCLR FRCT ; clear FRCT
+
+ BSET ARMS ; set ARMS
+
+ ;BSET SMUL ; set SMUL
+
+;
+; Deallocate the local frame and argument block
+;----------------------------------------------------------------
+ AADD #(ARG_BLK_SZ + FRAME_SZ), SP
+
+;
+; Restore any save-on-entry registers that are used
+;----------------------------------------------------------------
+
+;
+; Return to calling function
+;----------------------------------------------------------------
+ RET ; return to calling function
diff --git a/src/pll_control.c b/src/pll_control.c
--- /dev/null
+++ b/src/pll_control.c
@@ -0,0 +1,146 @@
+/* ============================================================================
+ * Copyright (c) 2016 Texas Instruments Incorporated.
+ *
+ * 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.
+ *
+ ===============================================================================*/
+#include "csl_pll.h"
+#include "csl_general.h"
+#include "csl_pllAux.h"
+#include "pll_control.h"
+
+PLL_Obj pllObj;
+PLL_Config pllCfg1;
+
+PLL_Handle hPll;
+
+const PLL_Config pllCfg_16p384MHz = {0x83E4, 0x8000, 0x0806, 0x0201};
+const PLL_Config pllCfg_32p768MHz = {0x87CC, 0x8000, 0x0806, 0x0201};
+const PLL_Config pllCfg_40MHz = {0x8988, 0x8000, 0x0806, 0x0201};
+const PLL_Config pllCfg_50MHz = {0x8BE8, 0x8000, 0x0806, 0x0201};
+const PLL_Config pllCfg_60MHz = {0x8724, 0x8000, 0x0806, 0x0000};
+const PLL_Config pllCfg_75MHz = {0x88ED, 0x8000, 0x0806, 0x0000};
+const PLL_Config pllCfg_100MHz = {0x8BE8, 0x8000, 0x0806, 0x0000};
+const PLL_Config pllCfg_120MHz = {0x8E4A, 0x8000, 0x0806, 0x0000};
+
+PLL_Config *pConfigInfo;
+
+/* Sets PLL to desired output frequency =
+{32.768, 40, 50, 60, 75, 100, 120} MHZ.
+Default is 60 MHz.
+Assumes CPU core voltage is set appropriately for requested output frequency. */
+CSL_Status pll_sample(
+ EPllFreq pllFreq
+)
+{
+ CSL_Status status;
+ volatile int i;
+
+ status = PLL_init(&pllObj, CSL_PLL_INST_0);
+ if (status != CSL_SOK)
+ {
+ return status;
+ }
+
+ hPll = (PLL_Handle)(&pllObj);
+
+ PLL_reset(hPll);
+
+ status = PLL_bypass(hPll);
+ if (status != CSL_SOK)
+ {
+ return status;
+ }
+
+ /* Configure the PLL */
+ switch (pllFreq)
+ {
+ case PLL_FREQ_16P384MHZ:
+ pConfigInfo = (PLL_Config *)&pllCfg_16p384MHz;
+ break;
+
+ case PLL_FREQ_32P768MHZ:
+ pConfigInfo = (PLL_Config *)&pllCfg_32p768MHz;
+ break;
+
+ case PLL_FREQ_40MHZ:
+ pConfigInfo = (PLL_Config *)&pllCfg_40MHz;
+ break;
+
+ case PLL_FREQ_50MHZ:
+ pConfigInfo = (PLL_Config *)&pllCfg_50MHz;
+ break;
+
+ case PLL_FREQ_60MHZ:
+ pConfigInfo = (PLL_Config *)&pllCfg_60MHz;
+ break;
+
+ case PLL_FREQ_75MHZ:
+ pConfigInfo = (PLL_Config *)&pllCfg_75MHz;
+ break;
+
+ case PLL_FREQ_100MHZ:
+ pConfigInfo = (PLL_Config *)&pllCfg_100MHz;
+ break;
+
+ case PLL_FREQ_120MHZ:
+ pConfigInfo = (PLL_Config *)&pllCfg_120MHz;
+ break;
+
+ default:
+ pConfigInfo = (PLL_Config *)&pllCfg_60MHz;
+ }
+
+ // set the PLL using CSL function
+ status = PLL_config (hPll, pConfigInfo);
+ if (status != CSL_SOK)
+ {
+ return(status);
+ }
+
+ // read the PLL configure back
+ status = PLL_getConfig(hPll, &pllCfg1);
+ if (status != CSL_SOK)
+ {
+ return status;
+ }
+
+ /* Wait for PLL to stabilize */
+ for (i=0; i<100; i++);
+
+ // enable the PLL
+ status = PLL_enable(hPll);
+ if (status != CSL_SOK)
+ {
+ return status;
+ }
+
+ return CSL_SOK;
+}
+
diff --git a/target_test/ccsv6/.ccsproject b/target_test/ccsv6/.ccsproject
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="TMS320C55XX.TMS320C5515"/>
+<deviceEndianness value="big"/>
+<codegenToolVersion value="4.3.9"/>
+<isElfFormat value="false"/>
+<rts value="libc.a"/>
+<templateProperties value="id=com.ti.common.project.core.emptyProjectTemplate,"/>
+<deviceFamily value="C5500"/>
+<isTargetManual value="true"/>
+</projectOptions>
diff --git a/target_test/ccsv6/.cdtbuild b/target_test/ccsv6/.cdtbuild
--- /dev/null
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 3.1.0?>
+
+<ManagedProjectBuildInfo>
+<project id="target_test.com.ti.ccstudio.buildDefinitions.C5500.ProjectType.2084331840" name="C5500" projectType="com.ti.ccstudio.buildDefinitions.C5500.ProjectType">
+<configuration artifactExtension="out" artifactName="target_test" description="" id="com.ti.ccstudio.buildDefinitions.C5500.Debug.1833040721" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C5500.Debug">
+<toolChain id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.DebugToolchain.1206036181" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.linkerDebug.43341095">
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1345715428" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C55XX.TMS320C5515"/>
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=big"/>
+<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>
+<listOptionValue builtIn="false" value="CCS_MBS_VERSION=4.2.4"/>
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1161319148" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="4.3.9" valueType="string"/>
+<tool id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerDebug.562786076" name="C5500 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerDebug">
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.DIAG_WARNING.977417144" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.DIAG_WARNING" valueType="stringList">
+<listOptionValue builtIn="false" value="225"/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.MEMORY_MODEL.577563840" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.MEMORY_MODEL" value="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.MEMORY_MODEL.large" valueType="enumerated"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.PTRDIFF_SIZE.896102196" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.PTRDIFF_SIZE" value="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.PTRDIFF_SIZE.32" valueType="enumerated"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.SILICON_VERSION.2070783614" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.SILICON_VERSION" value="5515" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.INCLUDE_PATH.2046510679" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.INCLUDE_PATH" valueType="includePath">
+<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+<listOptionValue builtIn="false" value=""${CSL_VC5505_COMMON_ROOT}/inc""/>
+<listOptionValue builtIn="false" value=""${TARGET_TEST_COMMON_ROOT}/include""/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.ALGEBRAIC.1008021793" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.ALGEBRAIC" value="false" valueType="boolean"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.GEN_FUNC_SUBSECTIONS.2136043469" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.GEN_FUNC_SUBSECTIONS" value="true" valueType="boolean"/>
+</tool>
+<tool id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.linkerDebug.43341095" name="C5500 Linker" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.linkerDebug">
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.OUTPUT_FILE.2070728659" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.OUTPUT_FILE" value=""target_test.out"" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.MAP_FILE.553637859" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.MAP_FILE" value=""target_test.map"" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.LIBRARY.664448360" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.LIBRARY" valueType="libs">
+<listOptionValue builtIn="false" value=""rts55x.lib""/>
+<listOptionValue builtIn="false" value=""cslVC5505.lib""/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.SEARCH_PATH.123326594" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.SEARCH_PATH" valueType="stringList">
+<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+<listOptionValue builtIn="false" value=""${CSL_VC5505_COMMON_ROOT}/build/ccsv4/Debug""/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.STACK_SIZE.651753953" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.STACK_SIZE" value="0x400" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.SYS_STACKSIZE.531618995" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.SYS_STACKSIZE" value="0x400" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.HEAP_SIZE.956905372" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.HEAP_SIZE" value="0x800" valueType="string"/>
+</tool>
+<macros expandEnvironmentMacros="true"/>
+</toolChain>
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.C5500.Debug.1833040721./target_test/IdleLoop.c" name="IdleLoop.c" rcbsApplicability="disable" resourcePath="/target_test/IdleLoop.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerDebug.562786076./target_test/IdleLoop.c">
+<tool id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerDebug.562786076./target_test/IdleLoop.c" name="C5500 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerDebug.562786076">
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.ALGEBRAIC.1649045946" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.ALGEBRAIC" value="true" valueType="boolean"/>
+</tool>
+</resourceConfiguration>
+</configuration>
+<configuration artifactExtension="out" artifactName="target_test" description="" id="com.ti.ccstudio.buildDefinitions.C5500.Release.573441195" name="Release" parent="com.ti.ccstudio.buildDefinitions.C5500.Release">
+<toolChain id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.ReleaseToolchain.1650177534" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.ReleaseToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.linkerRelease.2096718412">
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1968587292" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C55XX.TMS320C5515"/>
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=big"/>
+<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>
+<listOptionValue builtIn="false" value="CCS_MBS_VERSION=4.2.4"/>
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.2109647570" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="4.3.9" valueType="string"/>
+<tool id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerRelease.1091891377" name="C5500 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerRelease">
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.DIAG_WARNING.128766598" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.DIAG_WARNING" valueType="stringList">
+<listOptionValue builtIn="false" value="225"/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.MEMORY_MODEL.1414961446" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.MEMORY_MODEL" value="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.MEMORY_MODEL.large" valueType="enumerated"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.PTRDIFF_SIZE.1933375780" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.PTRDIFF_SIZE" value="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.PTRDIFF_SIZE.16" valueType="enumerated"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.SILICON_VERSION.1401801658" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.SILICON_VERSION" value="5515" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.INCLUDE_PATH.1028554053" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.INCLUDE_PATH" valueType="includePath">
+<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+</option>
+</tool>
+<tool id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.linkerRelease.2096718412" name="C5500 Linker" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.linkerRelease">
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.OUTPUT_FILE.1104400615" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.OUTPUT_FILE" value=""target_test.out"" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.MAP_FILE.1170439062" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.MAP_FILE" value=""target_test.map"" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.LIBRARY.689315060" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.LIBRARY" valueType="libs">
+<listOptionValue builtIn="false" value=""libc.a""/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.SEARCH_PATH.141609965" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.SEARCH_PATH" valueType="stringList">
+<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+</option>
+</tool>
+</toolChain>
+</configuration>
+<macros/>
+</project>
+</ManagedProjectBuildInfo>
diff --git a/target_test/ccsv6/.cdtbuild_initial b/target_test/ccsv6/.cdtbuild_initial
--- /dev/null
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 3.1.0?>
+
+<ManagedProjectBuildInfo>
+<project id="target_test.com.ti.ccstudio.buildDefinitions.C5500.ProjectType.2084331840" name="C5500" projectType="com.ti.ccstudio.buildDefinitions.C5500.ProjectType">
+<configuration artifactExtension="out" artifactName="target_test" description="" id="com.ti.ccstudio.buildDefinitions.C5500.Debug.1833040721" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C5500.Debug">
+<toolChain id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.DebugToolchain.1206036181" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.linkerDebug.43341095">
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1345715428" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C55XX.TMS320C5515"/>
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=big"/>
+<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>
+<listOptionValue builtIn="false" value="CCS_MBS_VERSION=4.2.4"/>
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1161319148" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="4.3.9" valueType="string"/>
+<tool id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerDebug.562786076" name="C5500 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerDebug">
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.DIAG_WARNING.977417144" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.DIAG_WARNING" valueType="stringList">
+<listOptionValue builtIn="false" value="225"/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.MEMORY_MODEL.577563840" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.MEMORY_MODEL" value="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.MEMORY_MODEL.large" valueType="enumerated"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.PTRDIFF_SIZE.896102196" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.PTRDIFF_SIZE" value="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.PTRDIFF_SIZE.32" valueType="enumerated"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.SILICON_VERSION.2070783614" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.SILICON_VERSION" value="5515" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.INCLUDE_PATH.2046510679" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.INCLUDE_PATH" valueType="includePath">
+<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+<listOptionValue builtIn="false" value=""${CSL_VC5505_COMMON_ROOT}/inc""/>
+<listOptionValue builtIn="false" value=""${TARGET_TEST_COMMON_ROOT}/include""/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.ALGEBRAIC.1008021793" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.ALGEBRAIC" value="false" valueType="boolean"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.GEN_FUNC_SUBSECTIONS.2136043469" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.GEN_FUNC_SUBSECTIONS" value="true" valueType="boolean"/>
+</tool>
+<tool id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.linkerDebug.43341095" name="C5500 Linker" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.linkerDebug">
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.OUTPUT_FILE.2070728659" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.OUTPUT_FILE" value=""target_test.out"" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.MAP_FILE.553637859" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.MAP_FILE" value=""target_test.map"" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.LIBRARY.664448360" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.LIBRARY" valueType="libs">
+<listOptionValue builtIn="false" value=""rts55x.lib""/>
+<listOptionValue builtIn="false" value=""cslVC5505.lib""/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.SEARCH_PATH.123326594" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.SEARCH_PATH" valueType="stringList">
+<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+<listOptionValue builtIn="false" value=""${CSL_VC5505_COMMON_ROOT}/build/ccsv4/Debug""/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.STACK_SIZE.651753953" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.STACK_SIZE" value="0x400" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.SYS_STACKSIZE.531618995" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.SYS_STACKSIZE" value="0x400" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.HEAP_SIZE.956905372" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.HEAP_SIZE" value="0x800" valueType="string"/>
+</tool>
+<macros expandEnvironmentMacros="true"/>
+</toolChain>
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.C5500.Debug.1833040721./target_test/IdleLoop.c" name="IdleLoop.c" rcbsApplicability="disable" resourcePath="/target_test/IdleLoop.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerDebug.562786076./target_test/IdleLoop.c">
+<tool id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerDebug.562786076./target_test/IdleLoop.c" name="C5500 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerDebug.562786076">
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.ALGEBRAIC.1649045946" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.ALGEBRAIC" value="true" valueType="boolean"/>
+</tool>
+</resourceConfiguration>
+</configuration>
+<configuration artifactExtension="out" artifactName="target_test" description="" id="com.ti.ccstudio.buildDefinitions.C5500.Release.573441195" name="Release" parent="com.ti.ccstudio.buildDefinitions.C5500.Release">
+<toolChain id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.ReleaseToolchain.1650177534" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.ReleaseToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.linkerRelease.2096718412">
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1968587292" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C55XX.TMS320C5515"/>
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=big"/>
+<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>
+<listOptionValue builtIn="false" value="CCS_MBS_VERSION=4.2.4"/>
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.2109647570" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="4.3.9" valueType="string"/>
+<tool id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerRelease.1091891377" name="C5500 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.compilerRelease">
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.DIAG_WARNING.128766598" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.DIAG_WARNING" valueType="stringList">
+<listOptionValue builtIn="false" value="225"/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.MEMORY_MODEL.1414961446" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.MEMORY_MODEL" value="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.MEMORY_MODEL.large" valueType="enumerated"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.PTRDIFF_SIZE.1933375780" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.PTRDIFF_SIZE" value="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.PTRDIFF_SIZE.16" valueType="enumerated"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.SILICON_VERSION.1401801658" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.SILICON_VERSION" value="5515" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.INCLUDE_PATH.1028554053" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.compilerID.INCLUDE_PATH" valueType="includePath">
+<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+</option>
+</tool>
+<tool id="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.linkerRelease.2096718412" name="C5500 Linker" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.exe.linkerRelease">
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.OUTPUT_FILE.1104400615" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.OUTPUT_FILE" value=""target_test.out"" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.MAP_FILE.1170439062" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.MAP_FILE" value=""target_test.map"" valueType="string"/>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.LIBRARY.689315060" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.LIBRARY" valueType="libs">
+<listOptionValue builtIn="false" value=""libc.a""/>
+</option>
+<option id="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.SEARCH_PATH.141609965" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.3.linkerID.SEARCH_PATH" valueType="stringList">
+<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+</option>
+</tool>
+</toolChain>
+</configuration>
+<macros/>
+</project>
+</ManagedProjectBuildInfo>
diff --git a/target_test/ccsv6/.cdtproject b/target_test/ccsv6/.cdtproject
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse-cdt version="2.0"?>
+
+<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">
+<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>
+<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+<data>
+<item id="org.eclipse.cdt.core.pathentry">
+<pathentry kind="src" path=""/>
+<pathentry kind="out" path=""/>
+<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>
+<pathentry kind="con" path="com.ti.ccstudio.managedbuild.core.CCS_CONTAINER"/>
+</item>
+</data>
+</cdtproject>
diff --git a/target_test/ccsv6/.cproject b/target_test/ccsv6/.cproject
--- /dev/null
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C5500.Debug.1833040721">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C5500.Debug.1833040721" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <macros>
+ <stringMacro name="TARGET_TEST_COMMON_ROOT" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>
+ </macros>
+ <externalSettings/>
+ <extensions>
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="out" artifactName="target_test" buildProperties="" description="" id="com.ti.ccstudio.buildDefinitions.C5500.Debug.1833040721" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C5500.Debug">
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C5500.Debug.1833040721.679942176" name="/" resourcePath="">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.DebugToolchain.942404988" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.linkerDebug.1692503917">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.792017523" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C55XX.TMS320C5515"/>
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=big"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts55x.lib"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=target_test.cmd"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.708671252" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="4.4.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.targetPlatformDebug.279929335" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.targetPlatformDebug"/>
+ <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.builderDebug.1786528707" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerDebug.1160826463" name="C5500 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DEFINE.64343132" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DEFINE" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="c5515"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.MEMORY_MODEL.796164714" name="Specify memory model (small/large/huge) (--memory_model)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.MEMORY_MODEL" value="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.MEMORY_MODEL.large" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.PTRDIFF_SIZE.155697119" name="Specify type size to hold results of pointer math (--ptrdiff_size)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.PTRDIFF_SIZE" value="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.PTRDIFF_SIZE.32" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.SILICON_VERSION.1539405182" name="device+optional revision of target silicon (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.SILICON_VERSION" value="5515" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DEBUGGING_MODEL.1022602289" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.INCLUDE_PATH.1559178112" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.INCLUDE_PATH" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${CSL_ROOT}""/>
+ <listOptionValue builtIn="false" value=""${TARGET_TEST_COMMON_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${CSL_ROOT}/inc""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DIAG_WARNING.973086146" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.GEN_FUNC_SUBSECTIONS.98591360" name="Place each function in a separate subsection (--gen_func_subsections, -mo)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.GEN_FUNC_SUBSECTIONS" value="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__C_SRCS.1308294631" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__CPP_SRCS.233117871" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM_SRCS.1219199825" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM2_SRCS.2006058914" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.linkerDebug.1692503917" name="C5500 Linker" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.STACK_SIZE.1836866758" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.STACK_SIZE" value="0x400" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.SYS_STACKSIZE.1252471209" name="Specify size of output sysstack section (--sys_stacksize, -sysstack)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.SYS_STACKSIZE" value="0x400" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.HEAP_SIZE.676547570" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.HEAP_SIZE" value="0x800" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.OUTPUT_FILE.1273197990" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.OUTPUT_FILE" value=""target_test.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.MAP_FILE.1217515331" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.MAP_FILE" value=""target_test.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.LIBRARY.1565378457" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/C55XXCSL_LP/Debug/C55XXCSL_LP.lib}""/>
+ <listOptionValue builtIn="false" value=""rts55x.lib""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.SEARCH_PATH.841713843" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.SEARCH_PATH" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/C55XXCSL_LP/Debug}""/>
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.XML_LINK_INFO.804252539" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.XML_LINK_INFO" value=""target_test_linkInfo.xml"" valueType="string"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exeLinker.inputType__CMD_SRCS.1949828244" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exeLinker.inputType__CMD_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exeLinker.inputType__CMD2_SRCS.891644525" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exeLinker.inputType__CMD2_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exeLinker.inputType__GEN_CMDS.9037614" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exeLinker.inputType__GEN_CMDS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C5500_4.4.hex.972001684" name="C5500 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.hex"/>
+ </toolChain>
+ </folderInfo>
+ <fileInfo id="com.ti.ccstudio.buildDefinitions.C5500.Debug.1833040721.pll_control.c" name="pll_control.c" rcbsApplicability="disable" resourcePath="pll_control.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerDebug.1160826463.1239189430">
+ <tool id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerDebug.1160826463.1239189430" name="C5500 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerDebug.1160826463">
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__C_SRCS.901928529" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__CPP_SRCS.281203287" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM_SRCS.1812512755" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM2_SRCS.1323481965" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ </fileInfo>
+ <fileInfo id="com.ti.ccstudio.buildDefinitions.C5500.Debug.1833040721.IdleLoop.c" name="IdleLoop.c" rcbsApplicability="disable" resourcePath="IdleLoop.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerDebug.1160826463.1956984940">
+ <tool id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerDebug.1160826463.1956984940" name="C5500 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerDebug.1160826463">
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.ALGEBRAIC.2060998823" name="Codegen outputs algebraic assembly (--algebraic, -mg)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.ALGEBRAIC" value="true" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__C_SRCS.1188114126" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__CPP_SRCS.351934197" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM_SRCS.2059827716" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM2_SRCS.855233248" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ </fileInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
+ <externalSettings containerId="C55XXCSL_LP;com.ti.ccstudio.buildDefinitions.C5500.Debug.1599296540" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ </storageModule>
+ </cconfiguration>
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C5500.Release.573441195">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C5500.Release.573441195" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <macros>
+ <stringMacro name="TARGET_TEST_COMMON_ROOT" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>
+ </macros>
+ <externalSettings/>
+ <extensions>
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="out" artifactName="target_test" buildProperties="" description="" id="com.ti.ccstudio.buildDefinitions.C5500.Release.573441195" name="Release" parent="com.ti.ccstudio.buildDefinitions.C5500.Release">
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C5500.Release.573441195.965678354" name="/" resourcePath="">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.ReleaseToolchain.1152340406" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.ReleaseToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.linkerRelease.1258670930">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1433455083" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C55XX.TMS320C5515"/>
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=big"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=target_test.cmd"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.909891630" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="4.4.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.targetPlatformRelease.1201813644" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.targetPlatformRelease"/>
+ <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.builderRelease.1833857427" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.builderRelease"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerRelease.1090042953" name="C5500 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerRelease">
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DEFINE.1195803271" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DEFINE" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="c5515"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.MEMORY_MODEL.910432337" name="Specify memory model (small/large/huge) (--memory_model)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.MEMORY_MODEL" value="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.MEMORY_MODEL.large" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.PTRDIFF_SIZE.1473907087" name="Specify type size to hold results of pointer math (--ptrdiff_size)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.PTRDIFF_SIZE" value="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.PTRDIFF_SIZE.16" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.SILICON_VERSION.906390288" name="device+optional revision of target silicon (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.SILICON_VERSION" value="5515" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DEBUGGING_MODEL.999899290" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.INCLUDE_PATH.43424898" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.INCLUDE_PATH" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TARGET_TEST_COMMON_ROOT}/c55xx_csl/inc""/>
+ <listOptionValue builtIn="false" value=""${TARGET_TEST_COMMON_ROOT}/include""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DIAG_WARNING.1849383408" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__C_SRCS.1434330911" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__CPP_SRCS.947746524" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM_SRCS.794122419" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM2_SRCS.314926710" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.linkerRelease.1258670930" name="C5500 Linker" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.linkerRelease">
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.STACK_SIZE.1802094882" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.STACK_SIZE" value="0x200" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.SYS_STACKSIZE.1484072024" name="Specify size of output sysstack section (--sys_stacksize, -sysstack)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.SYS_STACKSIZE" value="0x200" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.HEAP_SIZE.1402264045" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.HEAP_SIZE" value="0x400" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.OUTPUT_FILE.1782351553" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.OUTPUT_FILE" value=""target_test.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.MAP_FILE.627767610" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.MAP_FILE" value=""target_test.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.SEARCH_PATH.212247487" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.SEARCH_PATH" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TARGET_TEST_COMMON_ROOT}/c55xx_csl/build/ccsv5/Release""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.LIBRARY.205430318" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""cslVC5505.lib""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.XML_LINK_INFO.1357868051" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.linkerID.XML_LINK_INFO" value=""target_test_linkInfo.xml"" valueType="string"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exeLinker.inputType__CMD_SRCS.423633359" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exeLinker.inputType__CMD_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exeLinker.inputType__CMD2_SRCS.851853953" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exeLinker.inputType__CMD2_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exeLinker.inputType__GEN_CMDS.819135743" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exeLinker.inputType__GEN_CMDS"/>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ <fileInfo id="com.ti.ccstudio.buildDefinitions.C5500.Release.573441195.222886533" name="pll_control.c" rcbsApplicability="disable" resourcePath="pll_control.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerRelease.1090042953.1700342659">
+ <tool id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerRelease.1090042953.1700342659" name="C5500 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerRelease.1090042953">
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__C_SRCS.1342700485" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__CPP_SRCS.1868527171" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM_SRCS.466178962" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM2_SRCS.23042776" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ </fileInfo>
+ <fileInfo id="com.ti.ccstudio.buildDefinitions.C5500.Release.573441195.1507228539" name="IdleLoop.c" rcbsApplicability="disable" resourcePath="IdleLoop.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerRelease.1090042953.2124314911">
+ <tool id="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerRelease.1090042953.2124314911" name="C5500 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerRelease.1090042953">
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.ALGEBRAIC.2035258399" name="Codegen outputs algebraic assembly (--algebraic, -mg)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.ALGEBRAIC" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.ASSERT_CPL_SET.704442576" name="Assert CPL status bit initially set (--assert_cpl_set, -atc)" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compilerID.ASSERT_CPL_SET" value="false" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__C_SRCS.1943099942" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__CPP_SRCS.1481061460" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM_SRCS.1027788885" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM2_SRCS.1850032296" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C5500_4.4.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ </fileInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="target_test.com.ti.ccstudio.buildDefinitions.C5500.ProjectType.2084331840" name="C5500" projectType="com.ti.ccstudio.buildDefinitions.C5500.ProjectType"/>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping">
+ <project-mappings>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+ </project-mappings>
+ </storageModule>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/target_test"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/target_test"/>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ <storageModule moduleId="scannerConfiguration"/>
+</cproject>
diff --git a/target_test/ccsv6/.launches/target_test.launch b/target_test/ccsv6/.launches/target_test.launch
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<launchConfiguration type="com.ti.ccstudio.debug.launchType.device.debugging">\r
+<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_CPUS_WITH_PROJECT" value="<?xml version="1.0" encoding="UTF-8"?> <cpus_with_project> <id id="Spectrum Digital DSK-EVM-eZdsp onboard USB Emulator_0/C55xx" isa="TMS320C55XX"/> </cpus_with_project>"/>\r
+<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_DEBUGGER_PROPERTIES.Spectrum Digital DSK-EVM-eZdsp onboard USB Emulator_0/C55xx" value="<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <PropertyValues> <property id="ConnectOnStartup"> <curValue>1</curValue> </property> <property id="EnableInstalledBreakpoint"> <curValue>1</curValue> </property> <property id="IgnoreSoftLaunchFailures"> <curValue>0</curValue> </property> </PropertyValues> "/>\r
+<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROGRAM.Spectrum Digital DSK-EVM-eZdsp onboard USB Emulator_0/C55xx" value="${build_artifact:target_test}"/>\r
+<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROJECT.Spectrum Digital DSK-EVM-eZdsp onboard USB Emulator_0/C55xx" value="target_test"/>\r
+<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_TARGET_CONFIG" value="${target_config_active_default:target_test}"/>\r
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">\r
+<listEntry value="/target_test"/>\r
+</listAttribute>\r
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">\r
+<listEntry value="4"/>\r
+</listAttribute>\r
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="com.ti.ccstudio.debug.sourceLocator"/>\r
+<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;cpuSpecificContainer cpuName=&quot;Spectrum Digital DSK-EVM-eZdsp onboard USB Emulator_0/C55xx&quot;&gt;&#13;&#10;&lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;project name=&amp;quot;target_test&amp;quot; referencedProjects=&amp;quot;true&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;org.eclipse.debug.core.containerType.project&quot;/&gt;&#13;&#10;&lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;default/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#13;&#10;&lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;librarySource/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;com.ti.ccstudio.debug.containerType.library.source&quot;/&gt;&#13;&#10;&lt;/cpuSpecificContainer&gt;&#13;&#10;" typeId="com.ti.ccstudio.debug.containerType.cpu.specific"/> </sourceContainers> </sourceLookupDirector> "/>\r
+</launchConfiguration>\r
diff --git a/target_test/ccsv6/.project b/target_test/ccsv6/.project
--- /dev/null
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>target_test</name>
+ <comment></comment>
+ <projects>
+ <project>cslVC5505</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>com.ti.ccstudio.core.ccsNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>BlkFirDecim_f2.asm</name>
+ <type>1</type>
+ <locationURI>TARGET_TEST_COMMON_ROOT/src/BlkFirDecim_f2.asm</locationURI>
+ </link>
+ <link>
+ <name>IdleLoop.c</name>
+ <type>1</type>
+ <locationURI>TARGET_TEST_COMMON_ROOT/src/IdleLoop.c</locationURI>
+ </link>
+ <link>
+ <name>diggain_f1.asm</name>
+ <type>1</type>
+ <locationURI>TARGET_TEST_COMMON_ROOT/src/diggain_f1.asm</locationURI>
+ </link>
+ <link>
+ <name>pick_bits_cic_f2.asm</name>
+ <type>1</type>
+ <locationURI>TARGET_TEST_COMMON_ROOT/src/pick_bits_cic_f2.asm</locationURI>
+ </link>
+ <link>
+ <name>pll_control.c</name>
+ <type>1</type>
+ <locationURI>TARGET_TEST_COMMON_ROOT/src/pll_control.c</locationURI>
+ </link>
+ </linkedResources>
+ <variableList>
+ <variable>
+ <name>TARGET_TEST_COMMON_ROOT</name>
+ <value>$%7BPARENT-2-PROJECT_LOC%7D</value>
+ </variable>
+ </variableList>
+</projectDescription>
diff --git a/target_test/ccsv6/.project_initial b/target_test/ccsv6/.project_initial
--- /dev/null
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>target_test</name>
+ <comment></comment>
+ <projects>
+ <project>cslVC5505</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>IdleLoop.c</name>
+ <type>1</type>
+ <locationURI>TARGET_TEST_COMMON_ROOT/src/IdleLoop.c</locationURI>
+ </link>
+ <link>
+ <name>pll_control.c</name>
+ <type>1</type>
+ <locationURI>TARGET_TEST_COMMON_ROOT/src/pll_control.c</locationURI>
+ </link>
+ <link>
+ <name>BlkFirDecim_f2.asm</name>
+ <type>1</type>
+ <locationURI>TARGET_TEST_COMMON_ROOT/src/BlkFirDecim_f2.asm</locationURI>
+ </link>
+ <link>
+ <name>diggain_f1.asm</name>
+ <type>1</type>
+ <locationURI>TARGET_TEST_COMMON_ROOT/src/diggain_f1.asm</locationURI>
+ </link>
+ <link>
+ <name>pick_bits_cic_f2.asm</name>
+ <type>1</type>
+ <locationURI>TARGET_TEST_COMMON_ROOT/src/pick_bits_cic_f2.asm</locationURI>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/target_test/ccsv6/.settings/org.eclipse.cdt.codan.core.prefs b/target_test/ccsv6/.settings/org.eclipse.cdt.codan.core.prefs
--- /dev/null
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1\r
+inEditor=false\r
+onBuild=false\r
diff --git a/target_test/ccsv6/.settings/org.eclipse.cdt.debug.core.prefs b/target_test/ccsv6/.settings/org.eclipse.cdt.debug.core.prefs
--- /dev/null
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1\r
+org.eclipse.cdt.debug.core.toggleBreakpointModel=com.ti.ccstudio.debug.CCSBreakpointMarker\r
diff --git a/target_test/ccsv6/.settings/org.eclipse.core.resources.prefs b/target_test/ccsv6/.settings/org.eclipse.core.resources.prefs
--- /dev/null
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1\r
+encoding//Debug/makefile=UTF-8\r
+encoding//Debug/objects.mk=UTF-8\r
+encoding//Debug/sources.mk=UTF-8\r
+encoding//Debug/subdir_rules.mk=UTF-8\r
+encoding//Debug/subdir_vars.mk=UTF-8\r
diff --git a/target_test/ccsv6/Debug/BlkFirDecim_f2.obj b/target_test/ccsv6/Debug/BlkFirDecim_f2.obj
new file mode 100755 (executable)
index 0000000..548950e
Binary files /dev/null and b/target_test/ccsv6/Debug/BlkFirDecim_f2.obj differ
index 0000000..548950e
Binary files /dev/null and b/target_test/ccsv6/Debug/BlkFirDecim_f2.obj differ
diff --git a/target_test/ccsv6/Debug/BlkIir.d b/target_test/ccsv6/Debug/BlkIir.d
--- /dev/null
@@ -0,0 +1,9 @@
+# FIXED\r
+\r
+BlkIir.obj: ../BlkIir.c\r
+BlkIir.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/Decimation/include/data_types.h\r
+BlkIir.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/Decimation/include/BlkIir.h\r
+\r
+../BlkIir.c: \r
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/Decimation/include/data_types.h: \r
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/Decimation/include/BlkIir.h: \r
diff --git a/target_test/ccsv6/Debug/BlkIir.obj b/target_test/ccsv6/Debug/BlkIir.obj
new file mode 100755 (executable)
index 0000000..918e158
Binary files /dev/null and b/target_test/ccsv6/Debug/BlkIir.obj differ
index 0000000..918e158
Binary files /dev/null and b/target_test/ccsv6/Debug/BlkIir.obj differ
diff --git a/target_test/ccsv6/Debug/IdleLoop.d b/target_test/ccsv6/Debug/IdleLoop.d
--- /dev/null
@@ -0,0 +1,83 @@
+# FIXED\r
+\r
+IdleLoop.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/IdleLoop.c\r
+IdleLoop.obj: C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include/stdio.h\r
+IdleLoop.obj: C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include/linkage.h\r
+IdleLoop.obj: C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include/stdarg.h\r
+IdleLoop.obj: C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include/stdlib.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/soc.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/csl_general.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/tistdtypes.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_cpu.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_sysctrl.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_i2c.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_i2s.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_emif.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_uart.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_spi.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_mmcsd.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_lcdc.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_rtc.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_dma.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_sar.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_usb.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_gpio.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_tim.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_wdt.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_idle.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_ldo.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_mcbsp.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_mcspi.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_uhpi.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/csl_i2s.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/csl_error.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/csl_types.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/csl_dma.h\r
+IdleLoop.obj: C:/ti/c55_lp/c55_csl_3.06/inc/csl_intc.h\r
+IdleLoop.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include/pll_control.h\r
+IdleLoop.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include/IdleLoop.h\r
+IdleLoop.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include/pick_bits_cic.h\r
+IdleLoop.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include/BlkFirDecim.h\r
+IdleLoop.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include/diggain.h\r
+\r
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/IdleLoop.c: \r
+C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include/stdio.h: \r
+C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include/linkage.h: \r
+C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include/stdarg.h: \r
+C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include/stdlib.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/soc.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/csl_general.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/tistdtypes.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_cpu.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_sysctrl.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_i2c.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_i2s.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_emif.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_uart.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_spi.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_mmcsd.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_lcdc.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_rtc.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_dma.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_sar.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_usb.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_gpio.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_tim.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_wdt.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_idle.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_ldo.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_mcbsp.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_mcspi.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_uhpi.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/csl_i2s.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/csl_error.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/csl_types.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/csl_dma.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/csl_intc.h: \r
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include/pll_control.h: \r
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include/IdleLoop.h: \r
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include/pick_bits_cic.h: \r
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include/BlkFirDecim.h: \r
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include/diggain.h: \r
diff --git a/target_test/ccsv6/Debug/IdleLoop.obj b/target_test/ccsv6/Debug/IdleLoop.obj
new file mode 100755 (executable)
index 0000000..6493977
Binary files /dev/null and b/target_test/ccsv6/Debug/IdleLoop.obj differ
index 0000000..6493977
Binary files /dev/null and b/target_test/ccsv6/Debug/IdleLoop.obj differ
diff --git a/target_test/ccsv6/Debug/ccsObjs.opt b/target_test/ccsv6/Debug/ccsObjs.opt
--- /dev/null
@@ -0,0 +1 @@
+"./BlkFirDecim_f2.obj" "./IdleLoop.obj" "./diggain_f1.obj" "./pick_bits_cic_f2.obj" "./pll_control.obj" "../target_test.cmd" -l"C:/ti/c55_lp/c55_csl_3.06/ccs_v6.x_examples/C55XXCSL_LP/Debug/C55XXCSL_LP.lib" -lrts55x.lib
\ No newline at end of file
diff --git a/target_test/ccsv6/Debug/diggain_f1.obj b/target_test/ccsv6/Debug/diggain_f1.obj
new file mode 100755 (executable)
index 0000000..5f5be22
Binary files /dev/null and b/target_test/ccsv6/Debug/diggain_f1.obj differ
index 0000000..5f5be22
Binary files /dev/null and b/target_test/ccsv6/Debug/diggain_f1.obj differ
diff --git a/.gitignore b/target_test/ccsv6/Debug/file.dat
old mode 100644 (file)
new mode 100755 (executable)
similarity index 100%
rename from .gitignore
rename to target_test/ccsv6/Debug/file.dat
new mode 100755 (executable)
similarity index 100%
rename from .gitignore
rename to target_test/ccsv6/Debug/file.dat
diff --git a/target_test/ccsv6/Debug/file.txt b/target_test/ccsv6/Debug/file.txt
new file mode 100755 (executable)
index 0000000..da52e63
Binary files /dev/null and b/target_test/ccsv6/Debug/file.txt differ
index 0000000..da52e63
Binary files /dev/null and b/target_test/ccsv6/Debug/file.txt differ
diff --git a/target_test/ccsv6/Debug/makefile b/target_test/ccsv6/Debug/makefile
--- /dev/null
@@ -0,0 +1,174 @@
+################################################################################\r
+# Automatically-generated file. Do not edit!\r
+################################################################################\r
+\r
+SHELL = cmd.exe\r
+\r
+CG_TOOL_ROOT := C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1\r
+\r
+GEN_OPTS__FLAG := \r
+GEN_CMDS__FLAG := \r
+\r
+ORDERED_OBJS += \
+"./BlkFirDecim_f2.obj" \
+"./IdleLoop.obj" \
+"./diggain_f1.obj" \
+"./pick_bits_cic_f2.obj" \
+"./pll_control.obj" \
+"../target_test.cmd" \
+$(GEN_CMDS__FLAG) \
+-l"C:/ti/c55_lp/c55_csl_3.06/ccs_v6.x_examples/C55XXCSL_LP/Debug/C55XXCSL_LP.lib" \
+-lrts55x.lib \
+\r
+-include ../makefile.init\r
+\r
+RM := DEL /F\r
+RMDIR := RMDIR /S/Q\r
+\r
+# All of the sources participating in the build are defined here\r
+-include sources.mk\r
+-include subdir_vars.mk\r
+-include subdir_rules.mk\r
+-include objects.mk\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 += \
+target_test.out \
+\r
+EXE_OUTPUTS__QUOTED += \
+"target_test.out" \
+\r
+BIN_OUTPUTS += \
+target_test.hex \
+\r
+BIN_OUTPUTS__QUOTED += \
+"target_test.hex" \
+\r
+\r
+# All Target\r
+all: target_test.out\r
+\r
+dependents:\r
+ -cd C:/ti/c55_lp/c55_csl_3.06/ccs_v6.x_examples/C55XXCSL_LP/Debug && $(MAKE) all\r
+\r
+# Tool invocations\r
+target_test.out: $(OBJS) $(CMD_SRCS) $(GEN_CMDS) C:/ti/c55_lp/c55_csl_3.06/ccs_v6.x_examples/C55XXCSL_LP/Debug/C55XXCSL_LP.lib\r
+ @echo 'Building target: $@'\r
+ @echo 'Invoking: C5500 Linker'\r
+ "C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/bin/cl55" -v5515 --memory_model=large -g --define=c5515 --diag_warning=225 --gen_func_subsections=on --ptrdiff_size=32 -z -m"target_test.map" --stack_size=0x400 --heap_size=0x800 -i"C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/lib" -i"C:/ti/c55_lp/c55_csl_3.06/ccs_v6.x_examples/C55XXCSL_LP/Debug" -i"C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include" --reread_libs --warn_sections --xml_link_info="target_test_linkInfo.xml" --rom_model --sys_stacksize=0x400 -o "target_test.out" $(ORDERED_OBJS)\r
+ @echo 'Finished building target: $@'\r
+ @echo ' '\r
+\r
+target_test.hex: $(EXE_OUTPUTS)\r
+ @echo 'Invoking: C5500 Hex Utility'\r
+ "C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/bin/hex55" -o "target_test.hex" $(EXE_OUTPUTS__QUOTED)\r
+ @echo 'Finished building: $@'\r
+ @echo ' '\r
+\r
+# Other Targets\r
+clean:\r
+ -$(RM) $(EXE_OUTPUTS__QUOTED)$(BIN_OUTPUTS__QUOTED)\r
+ -$(RM) "IdleLoop.d" "pll_control.d" \r
+ -$(RM) "BlkFirDecim_f2.obj" "IdleLoop.obj" "diggain_f1.obj" "pick_bits_cic_f2.obj" "pll_control.obj" \r
+ -$(RM) "BlkFirDecim_f2.d" "diggain_f1.d" "pick_bits_cic_f2.d" \r
+ -@echo 'Finished clean'\r
+ -@echo ' '\r
+\r
+.PHONY: all clean dependents\r
+.SECONDARY:\r
+C:/ti/c55_lp/c55_csl_3.06/ccs_v6.x_examples/C55XXCSL_LP/Debug/C55XXCSL_LP.lib:\r
+\r
+-include ../makefile.targets\r
+\r
diff --git a/target_test/ccsv6/Debug/objects.mk b/target_test/ccsv6/Debug/objects.mk
--- /dev/null
@@ -0,0 +1,8 @@
+################################################################################\r
+# Automatically-generated file. Do not edit!\r
+################################################################################\r
+\r
+USER_OBJS :=\r
+\r
+LIBS := -l"C:/ti/c55_lp/c55_csl_3.06/ccs_v6.x_examples/C55XXCSL_LP/Debug/C55XXCSL_LP.lib" -lrts55x.lib\r
+\r
diff --git a/target_test/ccsv6/Debug/pick_bits_cic_f2.obj b/target_test/ccsv6/Debug/pick_bits_cic_f2.obj
new file mode 100755 (executable)
index 0000000..e7821f9
Binary files /dev/null and b/target_test/ccsv6/Debug/pick_bits_cic_f2.obj differ
index 0000000..e7821f9
Binary files /dev/null and b/target_test/ccsv6/Debug/pick_bits_cic_f2.obj differ
diff --git a/target_test/ccsv6/Debug/pll_control.d b/target_test/ccsv6/Debug/pll_control.d
--- /dev/null
@@ -0,0 +1,65 @@
+# FIXED\r
+\r
+pll_control.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/pll_control.c\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/csl_pll.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/csl_error.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/csl_types.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/tistdtypes.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/soc.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/csl_general.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_cpu.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_sysctrl.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_i2c.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_i2s.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_emif.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_uart.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_spi.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_mmcsd.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_lcdc.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_rtc.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_dma.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_sar.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_usb.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_gpio.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_tim.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_wdt.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_idle.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_ldo.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_mcbsp.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_mcspi.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/cslr_uhpi.h\r
+pll_control.obj: C:/ti/c55_lp/c55_csl_3.06/inc/csl_pllAux.h\r
+pll_control.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include/pll_control.h\r
+\r
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/pll_control.c: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/csl_pll.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/csl_error.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/csl_types.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/tistdtypes.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/soc.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/csl_general.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_cpu.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_sysctrl.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_i2c.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_i2s.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_emif.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_uart.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_spi.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_mmcsd.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_lcdc.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_rtc.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_dma.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_sar.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_usb.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_gpio.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_tim.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_wdt.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_idle.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_ldo.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_mcbsp.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_mcspi.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/cslr_uhpi.h: \r
+C:/ti/c55_lp/c55_csl_3.06/inc/csl_pllAux.h: \r
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include/pll_control.h: \r
diff --git a/target_test/ccsv6/Debug/pll_control.obj b/target_test/ccsv6/Debug/pll_control.obj
new file mode 100755 (executable)
index 0000000..7bae44d
Binary files /dev/null and b/target_test/ccsv6/Debug/pll_control.obj differ
index 0000000..7bae44d
Binary files /dev/null and b/target_test/ccsv6/Debug/pll_control.obj differ
diff --git a/target_test/ccsv6/Debug/sources.mk b/target_test/ccsv6/Debug/sources.mk
--- /dev/null
@@ -0,0 +1,115 @@
+################################################################################\r
+# Automatically-generated file. Do not edit!\r
+################################################################################\r
+\r
+O_SRCS := \r
+CPP_SRCS := \r
+K_SRCS := \r
+LD_SRCS := \r
+S67_SRCS := \r
+LDS_SRCS := \r
+CMD_SRCS := \r
+EXE_SRCS := \r
+CXX_SRCS := \r
+CMD_UPPER_SRCS := \r
+ELF_SRCS := \r
+C43_SRCS := \r
+S55_SRCS := \r
+LD_UPPER_SRCS := \r
+C62_SRCS := \r
+S_UPPER_SRCS := \r
+A_SRCS := \r
+SA_SRCS := \r
+C55_SRCS := \r
+LDS_UPPER_SRCS := \r
+C_UPPER_SRCS := \r
+OUT_SRCS := \r
+INO_SRCS := \r
+OBJ_SRCS := \r
+S62_SRCS := \r
+LIB_SRCS := \r
+PDE_SRCS := \r
+SV7A_SRCS := \r
+ASM_SRCS := \r
+ASM_UPPER_SRCS := \r
+C++_SRCS := \r
+CLA_SRCS := \r
+S??_SRCS := \r
+C_SRCS := \r
+C67_SRCS := \r
+S_SRCS := \r
+S43_SRCS := \r
+OPT_SRCS := \r
+C64_SRCS := \r
+CC_SRCS := \r
+C??_SRCS := \r
+S64_SRCS := \r
+OBJS := \r
+BIN_OUTPUTS := \r
+S_DEPS := \r
+S_UPPER_DEPS := \r
+S62_DEPS := \r
+C64_DEPS := \r
+ASM_DEPS := \r
+CC_DEPS := \r
+SV7A_DEPS := \r
+S55_DEPS := \r
+C67_DEPS := \r
+CLA_DEPS := \r
+C??_DEPS := \r
+CPP_DEPS := \r
+S??_DEPS := \r
+C_DEPS := \r
+C62_DEPS := \r
+EXE_OUTPUTS := \r
+CXX_DEPS := \r
+C++_DEPS := \r
+ASM_UPPER_DEPS := \r
+K_DEPS := \r
+C43_DEPS := \r
+INO_DEPS := \r
+S67_DEPS := \r
+SA_DEPS := \r
+S43_DEPS := \r
+OPT_DEPS := \r
+PDE_DEPS := \r
+S64_DEPS := \r
+C_UPPER_DEPS := \r
+C55_DEPS := \r
+CPP_DEPS__QUOTED := \r
+C67_DEPS__QUOTED := \r
+INO_DEPS__QUOTED := \r
+C??_DEPS__QUOTED := \r
+S_UPPER_DEPS__QUOTED := \r
+CLA_DEPS__QUOTED := \r
+ASM_UPPER_DEPS__QUOTED := \r
+C62_DEPS__QUOTED := \r
+CXX_DEPS__QUOTED := \r
+EXE_OUTPUTS__QUOTED := \r
+S67_DEPS__QUOTED := \r
+BIN_OUTPUTS__QUOTED := \r
+C_DEPS__QUOTED := \r
+C_UPPER_DEPS__QUOTED := \r
+OPT_DEPS__QUOTED := \r
+S_DEPS__QUOTED := \r
+K_DEPS__QUOTED := \r
+S??_DEPS__QUOTED := \r
+C64_DEPS__QUOTED := \r
+C++_DEPS__QUOTED := \r
+OBJS__QUOTED := \r
+CC_DEPS__QUOTED := \r
+S43_DEPS__QUOTED := \r
+S55_DEPS__QUOTED := \r
+SA_DEPS__QUOTED := \r
+C55_DEPS__QUOTED := \r
+PDE_DEPS__QUOTED := \r
+C43_DEPS__QUOTED := \r
+S62_DEPS__QUOTED := \r
+ASM_DEPS__QUOTED := \r
+SV7A_DEPS__QUOTED := \r
+S64_DEPS__QUOTED := \r
+\r
+# Every subdirectory with source files must be described here\r
+SUBDIRS := \
+. \
+\r
diff --git a/target_test/ccsv6/Debug/subdir_rules.mk b/target_test/ccsv6/Debug/subdir_rules.mk
--- /dev/null
@@ -0,0 +1,41 @@
+################################################################################\r
+# Automatically-generated file. Do not edit!\r
+################################################################################\r
+\r
+# Each subdirectory must supply rules for building sources it contributes\r
+BlkFirDecim_f2.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/BlkFirDecim_f2.asm $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C5500 Compiler'\r
+ "C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/bin/cl55" -v5515 --memory_model=large -g --include_path="C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include" --include_path="C:/ti/c55_lp/c55_csl_3.06" --include_path="C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include" --include_path="C:/ti/c55_lp/c55_csl_3.06/inc" --define=c5515 --diag_warning=225 --gen_func_subsections=on --ptrdiff_size=32 --preproc_with_compile --preproc_dependency="BlkFirDecim_f2.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+IdleLoop.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/IdleLoop.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C5500 Compiler'\r
+ "C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/bin/cl55" -v5515 --memory_model=large -g --include_path="C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include" --include_path="C:/ti/c55_lp/c55_csl_3.06" --include_path="C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include" --include_path="C:/ti/c55_lp/c55_csl_3.06/inc" --define=c5515 --diag_warning=225 --gen_func_subsections=on --ptrdiff_size=32 --algebraic --preproc_with_compile --preproc_dependency="IdleLoop.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+diggain_f1.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/diggain_f1.asm $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C5500 Compiler'\r
+ "C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/bin/cl55" -v5515 --memory_model=large -g --include_path="C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include" --include_path="C:/ti/c55_lp/c55_csl_3.06" --include_path="C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include" --include_path="C:/ti/c55_lp/c55_csl_3.06/inc" --define=c5515 --diag_warning=225 --gen_func_subsections=on --ptrdiff_size=32 --preproc_with_compile --preproc_dependency="diggain_f1.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+pick_bits_cic_f2.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/pick_bits_cic_f2.asm $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C5500 Compiler'\r
+ "C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/bin/cl55" -v5515 --memory_model=large -g --include_path="C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include" --include_path="C:/ti/c55_lp/c55_csl_3.06" --include_path="C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include" --include_path="C:/ti/c55_lp/c55_csl_3.06/inc" --define=c5515 --diag_warning=225 --gen_func_subsections=on --ptrdiff_size=32 --preproc_with_compile --preproc_dependency="pick_bits_cic_f2.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+pll_control.obj: C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/pll_control.c $(GEN_OPTS) $(GEN_HDRS)\r
+ @echo 'Building file: $<'\r
+ @echo 'Invoking: C5500 Compiler'\r
+ "C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/bin/cl55" -v5515 --memory_model=large -g --include_path="C:/ti/ccs613/ccsv6/tools/compiler/c5500_4.4.1/include" --include_path="C:/ti/c55_lp/c55_csl_3.06" --include_path="C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/include" --include_path="C:/ti/c55_lp/c55_csl_3.06/inc" --define=c5515 --diag_warning=225 --gen_func_subsections=on --ptrdiff_size=32 --preproc_with_compile --preproc_dependency="pll_control.d" $(GEN_OPTS__FLAG) "$<"\r
+ @echo 'Finished building: $<'\r
+ @echo ' '\r
+\r
+\r
diff --git a/target_test/ccsv6/Debug/subdir_vars.mk b/target_test/ccsv6/Debug/subdir_vars.mk
--- /dev/null
@@ -0,0 +1,58 @@
+################################################################################\r
+# Automatically-generated file. Do not edit!\r
+################################################################################\r
+\r
+# Add inputs and outputs from these tool invocations to the build variables \r
+CMD_SRCS += \
+../target_test.cmd \r
+\r
+ASM_SRCS += \
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/BlkFirDecim_f2.asm \
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/diggain_f1.asm \
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/pick_bits_cic_f2.asm \r
+\r
+C_SRCS += \
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/IdleLoop.c \
+C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/pll_control.c \r
+\r
+OBJS += \
+./BlkFirDecim_f2.obj \
+./IdleLoop.obj \
+./diggain_f1.obj \
+./pick_bits_cic_f2.obj \
+./pll_control.obj \r
+\r
+ASM_DEPS += \
+./BlkFirDecim_f2.d \
+./diggain_f1.d \
+./pick_bits_cic_f2.d \r
+\r
+C_DEPS += \
+./IdleLoop.d \
+./pll_control.d \r
+\r
+C_DEPS__QUOTED += \
+"IdleLoop.d" \
+"pll_control.d" \r
+\r
+OBJS__QUOTED += \
+"BlkFirDecim_f2.obj" \
+"IdleLoop.obj" \
+"diggain_f1.obj" \
+"pick_bits_cic_f2.obj" \
+"pll_control.obj" \r
+\r
+ASM_DEPS__QUOTED += \
+"BlkFirDecim_f2.d" \
+"diggain_f1.d" \
+"pick_bits_cic_f2.d" \r
+\r
+ASM_SRCS__QUOTED += \
+"C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/BlkFirDecim_f2.asm" \
+"C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/diggain_f1.asm" \
+"C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/pick_bits_cic_f2.asm" \r
+\r
+C_SRCS__QUOTED += \
+"C:/Users/a0221074/Desktop/CF/digital_mic_decimation_final_PACKAGINGarea/c55x-digital-mic-decimation/src/pll_control.c" \r
+\r
+\r
diff --git a/target_test/ccsv6/Debug/target_test.map b/target_test/ccsv6/Debug/target_test.map
--- /dev/null
@@ -0,0 +1,709 @@
+******************************************************************************\r
+ TMS320C55x Linker PC v4.4.1 \r
+******************************************************************************\r
+>> Linked Wed Aug 03 10:20:21 2016\r
+\r
+OUTPUT FILE NAME: <target_test.out>\r
+ENTRY POINT SYMBOL: "_c_int00" address: 000202c5\r
+\r
+\r
+MEMORY CONFIGURATION\r
+\r
+ name origin length used unused attr fill\r
+ (bytes) (bytes) (bytes) (bytes)\r
+---------------------- -------- --------- -------- -------- ---- --------\r
+ MMR 00000000 000000c0 00000000 000000c0 RW \r
+ DARAM_0 000000c0 00001f40 00000000 00001f40 RW \r
+ DARAM_1 00002000 00002000 00000000 00002000 RW \r
+ DARAM_2 00004000 00002000 0000093c 000016c4 RW \r
+ DARAM_3 00006000 00002000 00000000 00002000 RW \r
+ DARAM_4 00008000 00002000 00000000 00002000 RW \r
+ DARAM_5 0000a000 00002000 00000000 00002000 RW \r
+ DARAM_6 0000c000 00002000 00000000 00002000 RW \r
+ DARAM_7 0000e000 00002000 00000000 00002000 RW \r
+ SARAM 00010000 00040000 00015243 0002adbd RW \r
+ SAROM_0 00ff0000 00008000 00000000 00008000 R X\r
+ SAROM_1 00ff8000 00007f00 00000000 00007f00 R X\r
+ VECS 00ffff00 00000100 00000000 00000100 R X\r
+\r
+\r
+SECTION ALLOCATION MAP\r
+(Addresses surrounded by []'s are displayed for convenience only!)\r
+\r
+output attributes/\r
+section page orgn(bytes) orgn(words) len(bytes) len(words) input sections\r
+-------- ---- ----------- ----------- ---------- ---------- --------------\r
+.pinit 0 [ 00010000 ] 00008000 * 00000000 UNINITIALIZED\r
+\r
+.stack 0 [ 00004000 ] 00002000 * 00000200 UNINITIALIZED\r
+ [ 00004000 ] 00002000 * 00000200 --HOLE--\r
+\r
+.sysstack \r
+* 0 [ 00004400 ] 00002200 * 00000200 UNINITIALIZED\r
+ [ 00004400 ] 00002200 * 00000200 --HOLE--\r
+\r
+.fir2DlyBuf \r
+* 0 [ 00004800 ] 00002400 * 0000007a UNINITIALIZED\r
+ [ 00004800 ] 00002400 * 0000007a IdleLoop.obj (.fir2DlyBuf)\r
+\r
+.fir1DlyBuf \r
+* 0 [ 000048f4 ] 0000247a * 00000024 UNINITIALIZED\r
+ [ 000048f4 ] 0000247a * 00000024 IdleLoop.obj (.fir1DlyBuf)\r
+\r
+.data 0 [ 00010000 ] 00008000 * 00000000 UNINITIALIZED\r
+\r
+.bss 0 [ 00010000 ] 00008000 * 0000424b UNINITIALIZED\r
+ [ 00010000 ] 00008000 * 00003f22 IdleLoop.obj (.bss)\r
+ [ 00017e44 ] 0000bf22 * 00000119 rts55x.lib : defs.obj (.bss)\r
+ [ 00018076 ] 0000c03b * 000000d0 : trgdrv.obj (.bss)\r
+ [ 00018216 ] 0000c10b * 00000001 : fopen.obj (.bss)\r
+ [ 00018218 ] 0000c10c * 00000084 C55XXCSL_LP.lib : csl_intc.obj (.bss)\r
+ [ 00018320 ] 0000c190 * 00000071 rts55x.lib : lowlev.obj (.bss)\r
+ [ 00018402 ] 0000c201 * 0000002a C55XXCSL_LP.lib : csl_i2s.obj (.bss)\r
+ [ 00018456 ] 0000c22b * 00000001 --HOLE--\r
+ [ 00018458 ] 0000c22c * 0000000e pll_control.obj (.bss)\r
+ [ 00018474 ] 0000c23a * 00000006 rts55x.lib : memory.obj (.bss)\r
+ [ 00018480 ] 0000c240 * 00000004 : _lock.obj (.bss)\r
+ [ 00018488 ] 0000c244 * 00000004 : exit.obj (.bss)\r
+ [ 00018490 ] 0000c248 * 00000003 C55XXCSL_LP.lib : csl_sysctrl.obj (.bss)\r
+\r
+.text 0 00018496 [ 0000c24b ] 00007f57 * \r
+ 00018496 [ 0000c24b ] 00001f50 * C55XXCSL_LP.lib : csl_dma.obj (.text)\r
+ 0001a3e6 [ 0000d1f3 ] 000015a4 * rts55x.lib : _printfi.obj (.text)\r
+ 0001b98a [ 0000dcc5 ] 00000997 * C55XXCSL_LP.lib : csl_i2s.obj (.text)\r
+ 0001c321 [ 0000e190+] 00000543 * rts55x.lib : lowlev.obj (.text)\r
+ 0001c864 [ 0000e432 ] 00000528 * : trgdrv.obj (.text)\r
+ 0001cd8c [ 0000e6c6 ] 00000508 * C55XXCSL_LP.lib : csl_intc.obj (.text)\r
+ 0001d294 [ 0000e94a ] 000004b5 * rts55x.lib : memory.obj (.text)\r
+ 0001d749 [ 0000eba4+] 000003cc * : divd.obj (.text)\r
+ 0001db15 [ 0000ed8a+] 00000354 * C55XXCSL_LP.lib : csl_pll.obj (.text)\r
+ 0001de69 [ 0000ef34+] 0000030e * IdleLoop.obj (.text:_I2sDmaInit)\r
+ 0001e177 [ 0000f0bb+] 0000027f * rts55x.lib : fopen.obj (.text)\r
+ 0001e3f6 [ 0000f1fb ] 0000025e * C55XXCSL_LP.lib : csl_sysctrl.obj (.text)\r
+ 0001e654 [ 0000f32a ] 0000025e * rts55x.lib : llmpy.obj (.text)\r
+ 0001e8b2 [ 0000f459 ] 0000025a * : addd.obj (.text)\r
+ 0001eb0c [ 0000f586 ] 000001ea * : cmpd.obj (.text)\r
+ 0001ecf6 [ 0000f67b ] 00000183 * pick_bits_cic_f2.obj (.text)\r
+ 0001ee79 [ 0000f73c+] 00000163 * rts55x.lib : fputs.obj (.text)\r
+ 0001efdc [ 0000f7ee ] 0000014c * pll_control.obj (.text:_pll_sample)\r
+ 0001f128 [ 0000f894 ] 0000014c * rts55x.lib : mpyd.obj (.text)\r
+ 0001f274 [ 0000f93a ] 0000011f * IdleLoop.obj (.text:_UserAlgorithm)\r
+ 0001f393 [ 0000f9c9+] 000000e6 * rts55x.lib : setvbuf.obj (.text)\r
+ 0001f479 [ 0000fa3c+] 000000dd * : _io_perm.obj (.text)\r
+ 0001f556 [ 0000faab ] 000000c6 * IdleLoop.obj (.text:_main)\r
+ 0001f61c [ 0000fb0e ] 000000c2 * rts55x.lib : fflush.obj (.text)\r
+ 0001f6de [ 0000fb6f ] 000000ba * : trgmsg.obj (.text:CIO_breakpoint)\r
+ 0001f798 [ 0000fbcc ] 000000a6 * : fputc.obj (.text)\r
+ 0001f83e [ 0000fc1f ] 000000a1 * : divul.obj (.text)\r
+ 0001f8df [ 0000fc6f+] 00000095 * BlkFirDecim_f2.obj (.text)\r
+ 0001f974 [ 0000fcba ] 0000008c * C55XXCSL_LP.lib : csl_irqplug.obj (.text)\r
+ 0001fa00 [ 0000fd00 ] 0000007d * rts55x.lib : ltoa.obj (.text)\r
+ 0001fa7d [ 0000fd3e+] 0000007b * pll_control.obj (.text:_PLL_getConfig)\r
+ 0001faf8 [ 0000fd7c ] 0000007b * rts55x.lib : fclose.obj (.text)\r
+ 0001fb73 [ 0000fdb9+] 00000076 * : frcmpyd.obj (.text)\r
+ 0001fbe9 [ 0000fdf4+] 00000073 * : frcmpyd_div.obj (.text)\r
+ 0001fc5c [ 0000fe2e ] 00000072 * : remul.obj (.text)\r
+ 0001fcce [ 0000fe67 ] 00000070 * IdleLoop.obj (.text:_ClockGatingAll)\r
+ 0001fd3e [ 0000fe9f ] 0000006f * rts55x.lib : fixdli.obj (.text)\r
+ 0001fdad [ 0000fed6+] 0000006d * C55XXCSL_LP.lib : vectors.obj (.text)\r
+ 0001fe1a [ 0000ff0d ] 0000006d * rts55x.lib : trgmsg.obj (.text)\r
+ 0001fe87 [ 0000ff43+] 0000006b * IdleLoop.obj (.text:_DmaIsr)\r
+ 0001fef2 [ 0000ff79 ] 0000006b * rts55x.lib : fseek.obj (.text)\r
+ 0001ff5d [ 0000ffae+] 00000067 * : fltlid.obj (.text)\r
+ 0001ffc4 [ 0000ffe2 ] 0000005c * : atoi.obj (.text)\r
+ 00020020 [ 00010010 ] 00000050 * : printf.obj (.text)\r
+ 00020070 [ 00010038 ] 0000004d * : autoinit.obj (.text)\r
+ 000200bd [ 0001005e+] 0000004b * : args_main.obj (.text)\r
+ 00020108 [ 00010084 ] 0000004b * : remli.obj (.text)\r
+ 00020153 [ 000100a9+] 00000048 * : divli.obj (.text)\r
+ 0002019b [ 000100cd+] 0000003f * : memcpy.obj (.text)\r
+ 000201da [ 000100ed ] 0000003e * : exit.obj (.text)\r
+ 00020218 [ 0001010c ] 0000003b * diggain_f1.obj (.text)\r
+ 00020253 [ 00010129+] 0000003a * IdleLoop.obj (.text:_DspLdoSwitch)\r
+ 0002028d [ 00010146+] 00000038 * IdleLoop.obj (.text:_UsbLdoSwitch)\r
+ 000202c5 [ 00010162+] 00000034 * rts55x.lib : boot.obj (.text)\r
+ 000202f9 [ 0001017c+] 0000002a * : fixdi.obj (.text)\r
+ 00020323 [ 00010191+] 0000002a * : udiv.obj (.text)\r
+ 0002034d [ 000101a6+] 00000023 * : memccpy.obj (.text)\r
+ 00020370 [ 000101b8 ] 0000001a * : isinf.obj (.text)\r
+ 0002038a [ 000101c5 ] 00000014 * : subd.obj (.text)\r
+ 0002039e [ 000101cf ] 00000013 * : lmpy.obj (.text)\r
+ 000203b1 [ 000101d8+] 00000012 * : _lock.obj (.text)\r
+ 000203c3 [ 000101e1+] 00000010 * : negd.obj (.text)\r
+ 000203d3 [ 000101e9+] 0000000a * : remove.obj (.text)\r
+ 000203dd [ 000101ee+] 00000007 * : exit.obj (.text:CIO_breakpoint)\r
+ 000203e4 [ 000101f2 ] 00000006 * IdleLoop.obj (.text:_UserIdle)\r
+ 000203ea [ 000101f5 ] 00000002 * rts55x.lib : vectors.obj (.text)\r
+ 000203ec [ 000101f6 ] 00000001 * --HOLE-- [fill = 20]\r
+\r
+.cicOutFrame \r
+* 0 [ 000203f0 ] 000101f8 * 00000a00 UNINITIALIZED\r
+ [ 000203f0 ] 000101f8 * 00000a00 IdleLoop.obj (.cicOutFrame)\r
+\r
+.fir1OutFrame \r
+* 0 [ 000217f0 ] 00010bf8 * 00000500 UNINITIALIZED\r
+ [ 000217f0 ] 00010bf8 * 00000500 IdleLoop.obj (.fir1OutFrame)\r
+\r
+.i2sDmaReadBufLeft \r
+* 0 [ 000221f0 ] 000110f8 * 00000500 UNINITIALIZED\r
+ [ 000221f0 ] 000110f8 * 00000500 IdleLoop.obj (.i2sDmaReadBufLeft)\r
+\r
+.i2sDmaReadBufRight \r
+* 0 [ 00022bf0 ] 000115f8 * 00000500 UNINITIALIZED\r
+ [ 00022bf0 ] 000115f8 * 00000500 IdleLoop.obj (.i2sDmaReadBufRight)\r
+\r
+.sysmem 0 [ 000235f0 ] 00011af8 * 00000400 UNINITIALIZED\r
+ [ 000235f0 ] 00011af8 * 00000400 --HOLE--\r
+\r
+.const 0 [ 00023df0 ] 00011ef8 * 000002f2 \r
+ [ 00023df0 ] 00011ef8 * 00000194 IdleLoop.obj (.const:.string)\r
+ [ 00024118 ] 0001208c * 00000101 rts55x.lib : ctype.obj (.const:__ctypes_)\r
+ [ 0002431a ] 0001218d * 00000001 --HOLE-- [fill = 0]\r
+ [ 0002431c ] 0001218e * 00000024 : _printfi.obj (.const:.string)\r
+ [ 00024364 ] 000121b2 * 0000000c : _printfi.obj (.const)\r
+ [ 0002437c ] 000121be * 00000008 : divd.obj (.const:_initial_approx$1)\r
+ [ 0002438c ] 000121c6 * 00000004 pll_control.obj (.const:_pllCfg_100MHz)\r
+ [ 00024394 ] 000121ca * 00000004 pll_control.obj (.const:_pllCfg_120MHz)\r
+ [ 0002439c ] 000121ce * 00000004 pll_control.obj (.const:_pllCfg_16p384MHz)\r
+ [ 000243a4 ] 000121d2 * 00000004 pll_control.obj (.const:_pllCfg_32p768MHz)\r
+ [ 000243ac ] 000121d6 * 00000004 pll_control.obj (.const:_pllCfg_40MHz)\r
+ [ 000243b4 ] 000121da * 00000004 pll_control.obj (.const:_pllCfg_50MHz)\r
+ [ 000243bc ] 000121de * 00000004 pll_control.obj (.const:_pllCfg_60MHz)\r
+ [ 000243c4 ] 000121e2 * 00000004 pll_control.obj (.const:_pllCfg_75MHz)\r
+ [ 000243cc ] 000121e6 * 00000002 rts55x.lib : fputs.obj (.const:.string)\r
+ [ 000243d0 ] 000121e8 * 00000002 : fltlid.obj (.const)\r
+\r
+.fir2OutFrame \r
+* 0 [ 000243d4 ] 000121ea * 00000280 UNINITIALIZED\r
+ [ 000243d4 ] 000121ea * 00000280 IdleLoop.obj (.fir2OutFrame)\r
+\r
+.digGainOutFrame \r
+* 0 [ 000248d4 ] 0001246a * 00000140 UNINITIALIZED\r
+ [ 000248d4 ] 0001246a * 00000140 IdleLoop.obj (.digGainOutFrame)\r
+\r
+.cio 0 [ 00024b58 ] 000125ac * 00000120 UNINITIALIZED\r
+ [ 00024b58 ] 000125ac * 00000120 rts55x.lib : trgmsg.obj (.cio)\r
+\r
+.cinit 0 [ 00024d98 ] 000126cc * 0000008e \r
+ [ 00024d98 ] 000126cc * 0000002d rts55x.lib : lowlev.obj (.cinit)\r
+ [ 00024df2 ] 000126f9 * 0000002a : defs.obj (.cinit)\r
+ [ 00024e46 ] 00012723 * 00000012 IdleLoop.obj (.cinit)\r
+ [ 00024e6a ] 00012735 * 0000000a rts55x.lib : _lock.obj (.cinit)\r
+ [ 00024e7e ] 0001273f * 0000000a : exit.obj (.cinit)\r
+ [ 00024e92 ] 00012749 * 00000008 C55XXCSL_LP.lib : csl_i2s.obj (.cinit)\r
+ [ 00024ea2 ] 00012751 * 00000004 rts55x.lib : fopen.obj (.cinit)\r
+ [ 00024eaa ] 00012755 * 00000004 : memory.obj (.cinit)\r
+ [ 00024eb2 ] 00012759 * 00000001 --HOLE-- [fill = 0]\r
+\r
+.switch 0 [ 00024eb4 ] 0001275a * 00000082 \r
+ [ 00024eb4 ] 0001275a * 00000020 C55XXCSL_LP.lib : csl_dma.obj (.switch:_DMA_config)\r
+ [ 00024ef4 ] 0001277a * 00000020 : csl_dma.obj (.switch:_DMA_getConfig)\r
+ [ 00024f34 ] 0001279a * 00000020 : csl_dma.obj (.switch:_DMA_reset)\r
+ [ 00024f74 ] 000127ba * 00000012 : csl_sysctrl.obj (.switch:_SYS_setEBSR)\r
+ [ 00024f98 ] 000127cc * 00000010 pll_control.obj (.switch:_pll_sample)\r
+\r
+.fir1Coefs \r
+* 0 [ 00024fb8 ] 000127dc * 0000000f \r
+ [ 00024fb8 ] 000127dc * 0000000f IdleLoop.obj (.fir1Coefs)\r
+\r
+.vectors_csl \r
+* 0 00025000 [ 00012800 ] 00000100 * \r
+ 00025000 [ 00012800 ] 00000100 * C55XXCSL_LP.lib : vectors.obj (vectors)\r
+\r
+.vectors_rts \r
+* 0 00025100 [ 00012880 ] 00000100 * NOLOAD SECTION\r
+ 00025100 [ 00012880 ] 00000100 * rts55x.lib : vectors.obj (vectors)\r
+\r
+.fir2Coefs \r
+* 0 [ 00025200 ] 00012900 * 0000003a \r
+ [ 00025200 ] 00012900 * 0000003a IdleLoop.obj (.fir2Coefs)\r
+\r
+\r
+GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name \r
+\r
+abs. value/\r
+byte addr word addr name\r
+--------- --------- ----\r
+00000002 $TI_capability$C5500$CallingConvention\r
+00000002 $TI_capability$C5500$MemoryModel\r
+00000001 $TI_capability_requires_rev3\r
+ 00008000 .bss\r
+ 00008000 .data\r
+00018496 .text\r
+000203de C$$EXIT\r
+0001f793 C$$IO$$\r
+0002039e I$$LMPY\r
+00020323 I$$UDIV\r
+00020338 I$$UMOD\r
+00025000 RST\r
+0001fcce _ClockGatingAll\r
+000185b9 _DMA_close\r
+000185d8 _DMA_config\r
+000196ac _DMA_getConfig\r
+0001a33a _DMA_getLastTransferType\r
+00018496 _DMA_init\r
+000184cd _DMA_open\r
+00019fd9 _DMA_reset\r
+00019dcb _DMA_start\r
+00019ed8 _DMA_stop\r
+0001a2c5 _DMA_swapWords\r
+0001fe87 _DmaIsr\r
+00020253 _DspLdoSwitch\r
+0001cd2e _HOSTclock\r
+0001ccc3 _HOSTclose\r
+0001cc0e _HOSTlseek\r
+0001cb6f _HOSTopen\r
+0001cae2 _HOSTread\r
+0001ca34 _HOSTrename\r
+0001c9d6 _HOSTtime\r
+0001c96c _HOSTunlink\r
+0001c8df _HOSTwrite\r
+0001bd70 _I2S_close\r
+0001b98a _I2S_open\r
+0001be1b _I2S_read\r
+0001c22b _I2S_reset\r
+0001ba89 _I2S_setup\r
+0001c2d6 _I2S_transEnable\r
+0001c0d5 _I2S_write\r
+0001de69 _I2sDmaInit\r
+0001ce14 _IRQ_clear\r
+0001ce67 _IRQ_clearAll\r
+0001ce77 _IRQ_config\r
+0001cf84 _IRQ_disable\r
+0001d002 _IRQ_disableAll\r
+0001d010 _IRQ_enable\r
+0001d10a _IRQ_getArg\r
+0001cefc _IRQ_getConfig\r
+0001d24e _IRQ_globalDisable\r
+0001d267 _IRQ_globalEnable\r
+0001d280 _IRQ_globalRestore\r
+0001cd8c _IRQ_init\r
+0001d17f _IRQ_map\r
+0001f974 _IRQ_plug\r
+0001d09a _IRQ_restore\r
+0001d14e _IRQ_setArg\r
+0001d1ab _IRQ_setVecs\r
+0001d1dc _IRQ_test\r
+ 0000bf1e _LoopCount\r
+ 0000c24a _PG1_flag\r
+ 0000c249 _PG3_flag\r
+ 0000c248 _PG4_flag\r
+0001dd15 _PLL_bypass\r
+0001db77 _PLL_config\r
+0001dcae _PLL_enable\r
+0001db3f _PLL_init\r
+0001dd64 _PLL_reset\r
+00025100 _Reset\r
+0001e3f6 _SYS_peripheralReset\r
+0001e484 _SYS_setEBSR\r
+0001e62f _SYS_set_DSP_LDO_voltage\r
+0002028d _UsbLdoSwitch\r
+0001f274 _UserAlgorithm\r
+000203e4 _UserIdle\r
+00025000 _VECSTART\r
+ 000125ac __CIOBUF_\r
+ 00002200 __STACK_END\r
+00000400 __STACK_SIZE\r
+00000800 __SYSMEM_SIZE\r
+00000400 __SYSSTACK_SIZE\r
+00000001 __TI_args_main\r
+ffffffff ___binit__\r
+ 00008000 ___bss__\r
+ffffffff ___c_args__\r
+ 000126cc ___cinit__\r
+ 00008000 ___data__\r
+ 00008000 ___edata__\r
+ 0000c24b ___end__\r
+000203ed ___etext__\r
+00020370 ___isinf\r
+ffffffff ___pinit__\r
+00018496 ___text__\r
+0001e8b2 __addd\r
+000200bd __args_main\r
+0001e298 __cleanup\r
+ 0000c244 __cleanup_ptr\r
+0001ec9e __cmpd\r
+ 0001208c __ctypes_\r
+0001d749 __divd\r
+00020153 __divli\r
+0001e87d __divlli\r
+00020323 __divu\r
+0001f83e __divul\r
+0001e789 __divull\r
+0001f61c __doflush\r
+ 0000c246 __dtors_ptr\r
+0001ec6a __eqld\r
+000202f9 __fixdi\r
+0001fd3e __fixdli\r
+0001ff5d __fltlid\r
+0001fb73 __frcmpyd\r
+0001fbe9 __frcmpyd_div\r
+ 0000c03a __ft_end\r
+ 0000bf22 __ftable\r
+0001ec20 __geqd\r
+0001ebd5 __gtrd\r
+0001eb88 __leqd\r
+ 0000c240 __lock\r
+0001eb40 __lssd\r
+0001f128 __mpyd\r
+0002039e __mpyli\r
+0001e6d1 __mpylli\r
+000203c3 __negd\r
+0001eb0c __neqd\r
+000203c1 __nop\r
+0001b748 __printfi\r
+0001f4f9 __rd_ok\r
+000203b9 __register_lock\r
+000203b1 __register_unlock\r
+00020108 __remli\r
+0001e6a2 __remlli\r
+00020338 __remu\r
+0001fc5c __remul\r
+0001e654 __remull\r
+ 00002000 __stack\r
+0002038a __subd\r
+ 00011af8 __sys_memory\r
+ 00002200 __sysstack\r
+ 0000bf9a __tmpnams\r
+ 0000c242 __unlock\r
+0001f479 __wrt_ok\r
+000203dd _abort\r
+0001c774 _add_device\r
+00020218 _appDiggain\r
+0001ffc4 _atoi\r
+00020070 _auto_init\r
+0001f8df _blkFirDecim2\r
+ 00008000 _buffer\r
+000202c5 _c_int00\r
+0001d723 _calloc\r
+0001d71b _chkheap\r
+ 000101f8 _cicOutFrame\r
+ 0000bf06 _cicState\r
+0001c701 _close\r
+ 0000b250 _digGainOutCircBuf\r
+ 0001246a _digGainOutFrame\r
+ 0000bf16 _dispatchTable\r
+ 0000bee4 _dmaConfig\r
+ 0000bf04 _dmaFrameCount\r
+ 0000bf20 _dmaIntCount\r
+ 0000bee0 _dmaLeftRxHandle\r
+ 0000bef2 _dmaObj0\r
+ 0000befb _dmaObj1\r
+ 0000bee2 _dmaRightRxHandle\r
+000201da _exit\r
+0001faf8 _fclose\r
+0001f685 _fflush\r
+0001c6f8 _find_registered_device\r
+ 000127dc _fir1Coefs\r
+ 0000247a _fir1DlyBuf\r
+ 00010bf8 _fir1OutFrame\r
+ 00012900 _fir2Coefs\r
+ 00002400 _fir2DlyBuf\r
+ 000121ea _fir2OutFrame\r
+0001e3bb _fopen\r
+0001f798 _fputc\r
+0001ee79 _fputs\r
+0001d294 _free\r
+0001d6c5 _free_memory\r
+0001e2f2 _freopen\r
+ 0000c229 _fsError\r
+0001fef2 _fseek\r
+0001ddd0 _getSysClk\r
+0001c864 _getenv\r
+ 0000bed0 _hI2s\r
+ 0000c236 _hPll\r
+ 0000bed2 _hwConfig\r
+ 000110f8 _i2sDmaReadBufLeft\r
+ 000115f8 _i2sDmaReadBufRight\r
+ 00008050 _inCircBufLeft\r
+ 00009950 _inCircBufRight\r
+0001c692 _lseek\r
+0001fa00 _ltoa\r
+0001f556 _main\r
+0001d3c5 _malloc\r
+0001d66b _max_free\r
+0002034d _memccpy\r
+0002019b _memcpy\r
+0001d360 _minit\r
+0001c5d3 _open\r
+ 0000c22a _ouError\r
+ 0000c238 _pConfigInfo\r
+0001ecf6 _pickBitsCic\r
+ 0000bf05 _pingPongFlag\r
+ 0000c232 _pllCfg1\r
+ 000121c6 _pllCfg_100MHz\r
+ 000121ca _pllCfg_120MHz\r
+ 000121ce _pllCfg_16p384MHz\r
+ 000121d2 _pllCfg_32p768MHz\r
+ 000121d6 _pllCfg_40MHz\r
+ 000121da _pllCfg_50MHz\r
+ 000121de _pllCfg_60MHz\r
+ 000121e2 _pllCfg_75MHz\r
+ 0000c22c _pllObj\r
+0001efdc _pll_sample\r
+00020020 _printf\r
+0001f798 _putc\r
+0001f82f _putchar\r
+0001efae _puts\r
+0001c525 _read\r
+0001fe1a _readmsg\r
+0001d4ba _realloc\r
+000203d3 _remove\r
+0001c4ef _remove_device\r
+0001c496 _rename\r
+0001f393 _setvbuf\r
+0001c463 _unlink\r
+0001c321 _write\r
+0001f6de _writemsg\r
+ffffffff binit\r
+ 000126cc cinit\r
+ 00008000 edata\r
+ 0000c24b end\r
+000203ed etext\r
+ffffffff pinit\r
+\r
+\r
+GLOBAL SYMBOLS: SORTED BY Symbol Address \r
+\r
+abs. value/\r
+byte addr word addr name\r
+--------- --------- ----\r
+00000001 $TI_capability_requires_rev3\r
+00000001 __TI_args_main\r
+00000002 $TI_capability$C5500$CallingConvention\r
+00000002 $TI_capability$C5500$MemoryModel\r
+00000400 __STACK_SIZE\r
+00000400 __SYSSTACK_SIZE\r
+00000800 __SYSMEM_SIZE\r
+ 00002000 __stack\r
+ 00002200 __STACK_END\r
+ 00002200 __sysstack\r
+ 00002400 _fir2DlyBuf\r
+ 0000247a _fir1DlyBuf\r
+ 00008000 .bss\r
+ 00008000 .data\r
+ 00008000 ___bss__\r
+ 00008000 ___data__\r
+ 00008000 ___edata__\r
+ 00008000 _buffer\r
+ 00008000 edata\r
+ 00008050 _inCircBufLeft\r
+ 00009950 _inCircBufRight\r
+ 0000b250 _digGainOutCircBuf\r
+ 0000bed0 _hI2s\r
+ 0000bed2 _hwConfig\r
+ 0000bee0 _dmaLeftRxHandle\r
+ 0000bee2 _dmaRightRxHandle\r
+ 0000bee4 _dmaConfig\r
+ 0000bef2 _dmaObj0\r
+ 0000befb _dmaObj1\r
+ 0000bf04 _dmaFrameCount\r
+ 0000bf05 _pingPongFlag\r
+ 0000bf06 _cicState\r
+ 0000bf16 _dispatchTable\r
+ 0000bf1e _LoopCount\r
+ 0000bf20 _dmaIntCount\r
+ 0000bf22 __ftable\r
+ 0000bf9a __tmpnams\r
+ 0000c03a __ft_end\r
+ 0000c229 _fsError\r
+ 0000c22a _ouError\r
+ 0000c22c _pllObj\r
+ 0000c232 _pllCfg1\r
+ 0000c236 _hPll\r
+ 0000c238 _pConfigInfo\r
+ 0000c240 __lock\r
+ 0000c242 __unlock\r
+ 0000c244 __cleanup_ptr\r
+ 0000c246 __dtors_ptr\r
+ 0000c248 _PG4_flag\r
+ 0000c249 _PG3_flag\r
+ 0000c24a _PG1_flag\r
+00018496 .text\r
+00018496 _DMA_init\r
+ 0000c24b ___end__\r
+00018496 ___text__\r
+ 0000c24b end\r
+000184cd _DMA_open\r
+000185b9 _DMA_close\r
+000185d8 _DMA_config\r
+000196ac _DMA_getConfig\r
+00019dcb _DMA_start\r
+00019ed8 _DMA_stop\r
+00019fd9 _DMA_reset\r
+0001a2c5 _DMA_swapWords\r
+0001a33a _DMA_getLastTransferType\r
+0001b748 __printfi\r
+0001b98a _I2S_open\r
+0001ba89 _I2S_setup\r
+0001bd70 _I2S_close\r
+0001be1b _I2S_read\r
+0001c0d5 _I2S_write\r
+0001c22b _I2S_reset\r
+0001c2d6 _I2S_transEnable\r
+0001c321 _write\r
+0001c463 _unlink\r
+0001c496 _rename\r
+0001c4ef _remove_device\r
+0001c525 _read\r
+0001c5d3 _open\r
+0001c692 _lseek\r
+0001c6f8 _find_registered_device\r
+0001c701 _close\r
+0001c774 _add_device\r
+0001c864 _getenv\r
+0001c8df _HOSTwrite\r
+0001c96c _HOSTunlink\r
+0001c9d6 _HOSTtime\r
+0001ca34 _HOSTrename\r
+0001cae2 _HOSTread\r
+0001cb6f _HOSTopen\r
+0001cc0e _HOSTlseek\r
+0001ccc3 _HOSTclose\r
+0001cd2e _HOSTclock\r
+0001cd8c _IRQ_init\r
+0001ce14 _IRQ_clear\r
+0001ce67 _IRQ_clearAll\r
+0001ce77 _IRQ_config\r
+0001cefc _IRQ_getConfig\r
+0001cf84 _IRQ_disable\r
+0001d002 _IRQ_disableAll\r
+0001d010 _IRQ_enable\r
+0001d09a _IRQ_restore\r
+0001d10a _IRQ_getArg\r
+0001d14e _IRQ_setArg\r
+0001d17f _IRQ_map\r
+0001d1ab _IRQ_setVecs\r
+0001d1dc _IRQ_test\r
+0001d24e _IRQ_globalDisable\r
+0001d267 _IRQ_globalEnable\r
+0001d280 _IRQ_globalRestore\r
+0001d294 _free\r
+0001d360 _minit\r
+0001d3c5 _malloc\r
+0001d4ba _realloc\r
+0001d66b _max_free\r
+0001d6c5 _free_memory\r
+0001d71b _chkheap\r
+0001d723 _calloc\r
+0001d749 __divd\r
+0001db3f _PLL_init\r
+0001db77 _PLL_config\r
+0001dcae _PLL_enable\r
+0001dd15 _PLL_bypass\r
+0001dd64 _PLL_reset\r
+0001ddd0 _getSysClk\r
+0001de69 _I2sDmaInit\r
+0001e298 __cleanup\r
+0001e2f2 _freopen\r
+0001e3bb _fopen\r
+0001e3f6 _SYS_peripheralReset\r
+0001e484 _SYS_setEBSR\r
+0001e62f _SYS_set_DSP_LDO_voltage\r
+0001e654 __remull\r
+0001e6a2 __remlli\r
+0001e6d1 __mpylli\r
+0001e789 __divull\r
+0001e87d __divlli\r
+0001e8b2 __addd\r
+0001eb0c __neqd\r
+0001eb40 __lssd\r
+0001eb88 __leqd\r
+0001ebd5 __gtrd\r
+0001ec20 __geqd\r
+0001ec6a __eqld\r
+0001ec9e __cmpd\r
+0001ecf6 _pickBitsCic\r
+0001ee79 _fputs\r
+0001efae _puts\r
+0001efdc _pll_sample\r
+0001f128 __mpyd\r
+0001f274 _UserAlgorithm\r
+0001f393 _setvbuf\r
+0001f479 __wrt_ok\r
+0001f4f9 __rd_ok\r
+0001f556 _main\r
+0001f61c __doflush\r
+0001f685 _fflush\r
+0001f6de _writemsg\r
+0001f793 C$$IO$$\r
+0001f798 _fputc\r
+0001f798 _putc\r
+0001f82f _putchar\r
+0001f83e __divul\r
+0001f8df _blkFirDecim2\r
+0001f974 _IRQ_plug\r
+0001fa00 _ltoa\r
+0001faf8 _fclose\r
+0001fb73 __frcmpyd\r
+0001fbe9 __frcmpyd_div\r
+0001fc5c __remul\r
+0001fcce _ClockGatingAll\r
+0001fd3e __fixdli\r
+0001fe1a _readmsg\r
+0001fe87 _DmaIsr\r
+0001fef2 _fseek\r
+0001ff5d __fltlid\r
+0001ffc4 _atoi\r
+00020020 _printf\r
+00020070 _auto_init\r
+000200bd __args_main\r
+00020108 __remli\r
+00020153 __divli\r
+0002019b _memcpy\r
+000201da _exit\r
+00020218 _appDiggain\r
+00020253 _DspLdoSwitch\r
+0002028d _UsbLdoSwitch\r
+000202c5 _c_int00\r
+000202f9 __fixdi\r
+00020323 I$$UDIV\r
+00020323 __divu\r
+00020338 I$$UMOD\r
+00020338 __remu\r
+0002034d _memccpy\r
+00020370 ___isinf\r
+0002038a __subd\r
+0002039e I$$LMPY\r
+0002039e __mpyli\r
+000203b1 __register_unlock\r
+000203b9 __register_lock\r
+000203c1 __nop\r
+000203c3 __negd\r
+000203d3 _remove\r
+000203dd _abort\r
+000203de C$$EXIT\r
+000203e4 _UserIdle\r
+000203ed ___etext__\r
+000203ed etext\r
+ 000101f8 _cicOutFrame\r
+ 00010bf8 _fir1OutFrame\r
+ 000110f8 _i2sDmaReadBufLeft\r
+ 000115f8 _i2sDmaReadBufRight\r
+ 00011af8 __sys_memory\r
+ 0001208c __ctypes_\r
+ 000121c6 _pllCfg_100MHz\r
+ 000121ca _pllCfg_120MHz\r
+ 000121ce _pllCfg_16p384MHz\r
+ 000121d2 _pllCfg_32p768MHz\r
+ 000121d6 _pllCfg_40MHz\r
+ 000121da _pllCfg_50MHz\r
+ 000121de _pllCfg_60MHz\r
+ 000121e2 _pllCfg_75MHz\r
+ 000121ea _fir2OutFrame\r
+ 0001246a _digGainOutFrame\r
+ 000125ac __CIOBUF_\r
+ 000126cc ___cinit__\r
+ 000126cc cinit\r
+ 000127dc _fir1Coefs\r
+00025000 RST\r
+00025000 _VECSTART\r
+00025100 _Reset\r
+ 00012900 _fir2Coefs\r
+ffffffff ___binit__\r
+ffffffff ___c_args__\r
+ffffffff ___pinit__\r
+ffffffff binit\r
+ffffffff pinit\r
+\r
+[237 symbols]\r
diff --git a/target_test/ccsv6/Debug/target_test.out b/target_test/ccsv6/Debug/target_test.out
new file mode 100755 (executable)
index 0000000..89ef684
Binary files /dev/null and b/target_test/ccsv6/Debug/target_test.out differ
index 0000000..89ef684
Binary files /dev/null and b/target_test/ccsv6/Debug/target_test.out differ
diff --git a/target_test/ccsv6/Debug/target_test_linkInfo.xml b/target_test/ccsv6/Debug/target_test_linkInfo.xml
--- /dev/null
@@ -0,0 +1,4444 @@
+<?xml version="1.0"?>\r
+<link_info>\r
+ <banner>TMS320C55x Linker PC v4.4.1</banner>\r
+ <copyright>Copyright (c) 1996-2012 Texas Instruments Incorporated</copyright>\r
+ <link_time>0x57a1fda5</link_time>\r
+ <output_file>target_test.out</output_file>\r
+ <entry_point>\r
+ <name>_c_int00</name>\r
+ <address>0x202c5</address>\r
+ </entry_point>\r
+ <input_file_list>\r
+ <input_file id="fl-2">\r
+ <path>.\</path>\r
+ <kind>object</kind>\r
+ <file>BlkFirDecim_f2.obj</file>\r
+ <name>BlkFirDecim_f2.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-3">\r
+ <path>.\</path>\r
+ <kind>object</kind>\r
+ <file>IdleLoop.obj</file>\r
+ <name>IdleLoop.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-4">\r
+ <path>.\</path>\r
+ <kind>object</kind>\r
+ <file>diggain_f1.obj</file>\r
+ <name>diggain_f1.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-5">\r
+ <path>.\</path>\r
+ <kind>object</kind>\r
+ <file>pick_bits_cic_f2.obj</file>\r
+ <name>pick_bits_cic_f2.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-6">\r
+ <path>.\</path>\r
+ <kind>object</kind>\r
+ <file>pll_control.obj</file>\r
+ <name>pll_control.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-d">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>boot.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-e">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>exit.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-f">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>printf.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-10">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>remli.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-11">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>remul.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-12">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>vectors.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-13">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>_lock.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-14">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>_printfi.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-15">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>args_main.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-16">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>atoi.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-17">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>autoinit.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-18">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>cmpd.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-19">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>ctype.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-1a">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>defs.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-1b">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>divd.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-1c">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>divul.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-1d">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>fixdi.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-1e">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>fixdli.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-1f">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>fltlid.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-20">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>fputc.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-21">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>fputs.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-22">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>frcmpyd_div.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-23">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>isinf.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-24">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>llmpy.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-25">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>lmpy.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-26">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>lowlev.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-27">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>ltoa.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-28">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>memccpy.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-29">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>memcpy.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-2a">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>mpyd.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-2b">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>negd.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-2c">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>subd.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-2d">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>trgdrv.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-2e">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>trgmsg.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-2f">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>udiv.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-30">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>_io_perm.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-31">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>addd.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-32">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>divli.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-33">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>fflush.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-34">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>frcmpyd.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-35">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>fseek.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-36">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>setvbuf.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-37">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>fopen.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-38">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>memory.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-39">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>fclose.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-3a">\r
+ <path>C:\ti\ccs613\ccsv6\tools\compiler\c5500_4.4.1\lib\</path>\r
+ <kind>archive</kind>\r
+ <file>rts55x.lib</file>\r
+ <name>remove.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-3b">\r
+ <path>C:\ti\c55_lp\c55_csl_3.06\ccs_v6.x_examples\C55XXCSL_LP\Debug\</path>\r
+ <kind>archive</kind>\r
+ <file>C55XXCSL_LP.lib</file>\r
+ <name>csl_dma.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-3c">\r
+ <path>C:\ti\c55_lp\c55_csl_3.06\ccs_v6.x_examples\C55XXCSL_LP\Debug\</path>\r
+ <kind>archive</kind>\r
+ <file>C55XXCSL_LP.lib</file>\r
+ <name>csl_i2s.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-3d">\r
+ <path>C:\ti\c55_lp\c55_csl_3.06\ccs_v6.x_examples\C55XXCSL_LP\Debug\</path>\r
+ <kind>archive</kind>\r
+ <file>C55XXCSL_LP.lib</file>\r
+ <name>csl_intc.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-3e">\r
+ <path>C:\ti\c55_lp\c55_csl_3.06\ccs_v6.x_examples\C55XXCSL_LP\Debug\</path>\r
+ <kind>archive</kind>\r
+ <file>C55XXCSL_LP.lib</file>\r
+ <name>csl_irqplug.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-3f">\r
+ <path>C:\ti\c55_lp\c55_csl_3.06\ccs_v6.x_examples\C55XXCSL_LP\Debug\</path>\r
+ <kind>archive</kind>\r
+ <file>C55XXCSL_LP.lib</file>\r
+ <name>csl_pll.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-40">\r
+ <path>C:\ti\c55_lp\c55_csl_3.06\ccs_v6.x_examples\C55XXCSL_LP\Debug\</path>\r
+ <kind>archive</kind>\r
+ <file>C55XXCSL_LP.lib</file>\r
+ <name>csl_sysctrl.obj</name>\r
+ </input_file>\r
+ <input_file id="fl-41">\r
+ <path>C:\ti\c55_lp\c55_csl_3.06\ccs_v6.x_examples\C55XXCSL_LP\Debug\</path>\r
+ <kind>archive</kind>\r
+ <file>C55XXCSL_LP.lib</file>\r
+ <name>vectors.obj</name>\r
+ </input_file>\r
+ </input_file_list>\r
+ <object_component_list>\r
+ <object_component id="oc-57">\r
+ <name>vectors</name>\r
+ <load_address>0x25100</load_address>\r
+ <run_address>0x25100</run_address>\r
+ <size>0x100</size>\r
+ <input_file_ref idref="fl-12"/>\r
+ </object_component>\r
+ <object_component id="oc-12b">\r
+ <name>vectors</name>\r
+ <load_address>0x25000</load_address>\r
+ <run_address>0x25000</run_address>\r
+ <size>0x100</size>\r
+ <input_file_ref idref="fl-41"/>\r
+ </object_component>\r
+ <object_component id="oc-109">\r
+ <name>.text</name>\r
+ <load_address>0x18496</load_address>\r
+ <run_address>0x18496</run_address>\r
+ <size>0x1f50</size>\r
+ <input_file_ref idref="fl-3b"/>\r
+ </object_component>\r
+ <object_component id="oc-61">\r
+ <name>.text</name>\r
+ <load_address>0x1a3e6</load_address>\r
+ <run_address>0x1a3e6</run_address>\r
+ <size>0x15a4</size>\r
+ <input_file_ref idref="fl-14"/>\r
+ </object_component>\r
+ <object_component id="oc-10e">\r
+ <name>.text</name>\r
+ <load_address>0x1b98a</load_address>\r
+ <run_address>0x1b98a</run_address>\r
+ <size>0x997</size>\r
+ <input_file_ref idref="fl-3c"/>\r
+ </object_component>\r
+ <object_component id="oc-ab">\r
+ <name>.text</name>\r
+ <load_address>0x1c321</load_address>\r
+ <run_address>0x1c321</run_address>\r
+ <size>0x543</size>\r
+ <input_file_ref idref="fl-26"/>\r
+ </object_component>\r
+ <object_component id="oc-c9">\r
+ <name>.text</name>\r
+ <load_address>0x1c864</load_address>\r
+ <run_address>0x1c864</run_address>\r
+ <size>0x528</size>\r
+ <input_file_ref idref="fl-2d"/>\r
+ </object_component>\r
+ <object_component id="oc-115">\r
+ <name>.text</name>\r
+ <load_address>0x1cd8c</load_address>\r
+ <run_address>0x1cd8c</run_address>\r
+ <size>0x508</size>\r
+ <input_file_ref idref="fl-3d"/>\r
+ </object_component>\r
+ <object_component id="oc-fa">\r
+ <name>.text</name>\r
+ <load_address>0x1d294</load_address>\r
+ <run_address>0x1d294</run_address>\r
+ <size>0x4b5</size>\r
+ <input_file_ref idref="fl-38"/>\r
+ </object_component>\r
+ <object_component id="oc-7d">\r
+ <name>.text</name>\r
+ <load_address>0x1d749</load_address>\r
+ <run_address>0x1d749</run_address>\r
+ <size>0x3cc</size>\r
+ <input_file_ref idref="fl-1b"/>\r
+ </object_component>\r
+ <object_component id="oc-11f">\r
+ <name>.text</name>\r
+ <load_address>0x1db15</load_address>\r
+ <run_address>0x1db15</run_address>\r
+ <size>0x354</size>\r
+ <input_file_ref idref="fl-3f"/>\r
+ </object_component>\r
+ <object_component id="oc-13b">\r
+ <name>.text:_I2sDmaInit</name>\r
+ <load_address>0x1de69</load_address>\r
+ <run_address>0x1de69</run_address>\r
+ <size>0x30e</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-f4">\r
+ <name>.text</name>\r
+ <load_address>0x1e177</load_address>\r
+ <run_address>0x1e177</run_address>\r
+ <size>0x27f</size>\r
+ <input_file_ref idref="fl-37"/>\r
+ </object_component>\r
+ <object_component id="oc-124">\r
+ <name>.text</name>\r
+ <load_address>0x1e3f6</load_address>\r
+ <run_address>0x1e3f6</run_address>\r
+ <size>0x25e</size>\r
+ <input_file_ref idref="fl-40"/>\r
+ </object_component>\r
+ <object_component id="oc-a3">\r
+ <name>.text</name>\r
+ <load_address>0x1e654</load_address>\r
+ <run_address>0x1e654</run_address>\r
+ <size>0x25e</size>\r
+ <input_file_ref idref="fl-24"/>\r
+ </object_component>\r
+ <object_component id="oc-dc">\r
+ <name>.text</name>\r
+ <load_address>0x1e8b2</load_address>\r
+ <run_address>0x1e8b2</run_address>\r
+ <size>0x25a</size>\r
+ <input_file_ref idref="fl-31"/>\r
+ </object_component>\r
+ <object_component id="oc-73">\r
+ <name>.text</name>\r
+ <load_address>0x1eb0c</load_address>\r
+ <run_address>0x1eb0c</run_address>\r
+ <size>0x1ea</size>\r
+ <input_file_ref idref="fl-18"/>\r
+ </object_component>\r
+ <object_component id="oc-36">\r
+ <name>.text</name>\r
+ <load_address>0x1ecf6</load_address>\r
+ <run_address>0x1ecf6</run_address>\r
+ <size>0x183</size>\r
+ <input_file_ref idref="fl-5"/>\r
+ </object_component>\r
+ <object_component id="oc-96">\r
+ <name>.text</name>\r
+ <load_address>0x1ee79</load_address>\r
+ <run_address>0x1ee79</run_address>\r
+ <size>0x163</size>\r
+ <input_file_ref idref="fl-21"/>\r
+ </object_component>\r
+ <object_component id="oc-139">\r
+ <name>.text:_pll_sample</name>\r
+ <load_address>0x1efdc</load_address>\r
+ <run_address>0x1efdc</run_address>\r
+ <size>0x14c</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-bd">\r
+ <name>.text</name>\r
+ <load_address>0x1f128</load_address>\r
+ <run_address>0x1f128</run_address>\r
+ <size>0x14c</size>\r
+ <input_file_ref idref="fl-2a"/>\r
+ </object_component>\r
+ <object_component id="oc-13c">\r
+ <name>.text:_UserAlgorithm</name>\r
+ <load_address>0x1f274</load_address>\r
+ <run_address>0x1f274</run_address>\r
+ <size>0x11f</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-f0">\r
+ <name>.text</name>\r
+ <load_address>0x1f393</load_address>\r
+ <run_address>0x1f393</run_address>\r
+ <size>0xe6</size>\r
+ <input_file_ref idref="fl-36"/>\r
+ </object_component>\r
+ <object_component id="oc-d8">\r
+ <name>.text</name>\r
+ <load_address>0x1f479</load_address>\r
+ <run_address>0x1f479</run_address>\r
+ <size>0xdd</size>\r
+ <input_file_ref idref="fl-30"/>\r
+ </object_component>\r
+ <object_component id="oc-130">\r
+ <name>.text:_main</name>\r
+ <load_address>0x1f556</load_address>\r
+ <run_address>0x1f556</run_address>\r
+ <size>0xc6</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-e4">\r
+ <name>.text</name>\r
+ <load_address>0x1f61c</load_address>\r
+ <run_address>0x1f61c</run_address>\r
+ <size>0xc2</size>\r
+ <input_file_ref idref="fl-33"/>\r
+ </object_component>\r
+ <object_component id="oc-d1">\r
+ <name>.text:CIO_breakpoint</name>\r
+ <load_address>0x1f6de</load_address>\r
+ <run_address>0x1f6de</run_address>\r
+ <size>0xba</size>\r
+ <input_file_ref idref="fl-2e"/>\r
+ </object_component>\r
+ <object_component id="oc-92">\r
+ <name>.text</name>\r
+ <load_address>0x1f798</load_address>\r
+ <run_address>0x1f798</run_address>\r
+ <size>0xa6</size>\r
+ <input_file_ref idref="fl-20"/>\r
+ </object_component>\r
+ <object_component id="oc-81">\r
+ <name>.text</name>\r
+ <load_address>0x1f83e</load_address>\r
+ <run_address>0x1f83e</run_address>\r
+ <size>0xa1</size>\r
+ <input_file_ref idref="fl-1c"/>\r
+ </object_component>\r
+ <object_component id="oc-1c">\r
+ <name>.text</name>\r
+ <load_address>0x1f8df</load_address>\r
+ <run_address>0x1f8df</run_address>\r
+ <size>0x95</size>\r
+ <input_file_ref idref="fl-2"/>\r
+ </object_component>\r
+ <object_component id="oc-11b">\r
+ <name>.text</name>\r
+ <load_address>0x1f974</load_address>\r
+ <run_address>0x1f974</run_address>\r
+ <size>0x8c</size>\r
+ <input_file_ref idref="fl-3e"/>\r
+ </object_component>\r
+ <object_component id="oc-b1">\r
+ <name>.text</name>\r
+ <load_address>0x1fa00</load_address>\r
+ <run_address>0x1fa00</run_address>\r
+ <size>0x7d</size>\r
+ <input_file_ref idref="fl-27"/>\r
+ </object_component>\r
+ <object_component id="oc-147">\r
+ <name>.text:_PLL_getConfig</name>\r
+ <load_address>0x1fa7d</load_address>\r
+ <run_address>0x1fa7d</run_address>\r
+ <size>0x7b</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-101">\r
+ <name>.text</name>\r
+ <load_address>0x1faf8</load_address>\r
+ <run_address>0x1faf8</run_address>\r
+ <size>0x7b</size>\r
+ <input_file_ref idref="fl-39"/>\r
+ </object_component>\r
+ <object_component id="oc-e8">\r
+ <name>.text</name>\r
+ <load_address>0x1fb73</load_address>\r
+ <run_address>0x1fb73</run_address>\r
+ <size>0x76</size>\r
+ <input_file_ref idref="fl-34"/>\r
+ </object_component>\r
+ <object_component id="oc-9b">\r
+ <name>.text</name>\r
+ <load_address>0x1fbe9</load_address>\r
+ <run_address>0x1fbe9</run_address>\r
+ <size>0x73</size>\r
+ <input_file_ref idref="fl-22"/>\r
+ </object_component>\r
+ <object_component id="oc-52">\r
+ <name>.text</name>\r
+ <load_address>0x1fc5c</load_address>\r
+ <run_address>0x1fc5c</run_address>\r
+ <size>0x72</size>\r
+ <input_file_ref idref="fl-11"/>\r
+ </object_component>\r
+ <object_component id="oc-137">\r
+ <name>.text:_ClockGatingAll</name>\r
+ <load_address>0x1fcce</load_address>\r
+ <run_address>0x1fcce</run_address>\r
+ <size>0x70</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-89">\r
+ <name>.text</name>\r
+ <load_address>0x1fd3e</load_address>\r
+ <run_address>0x1fd3e</run_address>\r
+ <size>0x6f</size>\r
+ <input_file_ref idref="fl-1e"/>\r
+ </object_component>\r
+ <object_component id="oc-12a">\r
+ <name>.text</name>\r
+ <load_address>0x1fdad</load_address>\r
+ <run_address>0x1fdad</run_address>\r
+ <size>0x6d</size>\r
+ <input_file_ref idref="fl-41"/>\r
+ </object_component>\r
+ <object_component id="oc-ce">\r
+ <name>.text</name>\r
+ <load_address>0x1fe1a</load_address>\r
+ <run_address>0x1fe1a</run_address>\r
+ <size>0x6d</size>\r
+ <input_file_ref idref="fl-2e"/>\r
+ </object_component>\r
+ <object_component id="oc-2d">\r
+ <name>.text:_DmaIsr</name>\r
+ <load_address>0x1fe87</load_address>\r
+ <run_address>0x1fe87</run_address>\r
+ <size>0x6b</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-ec">\r
+ <name>.text</name>\r
+ <load_address>0x1fef2</load_address>\r
+ <run_address>0x1fef2</run_address>\r
+ <size>0x6b</size>\r
+ <input_file_ref idref="fl-35"/>\r
+ </object_component>\r
+ <object_component id="oc-8d">\r
+ <name>.text</name>\r
+ <load_address>0x1ff5d</load_address>\r
+ <run_address>0x1ff5d</run_address>\r
+ <size>0x67</size>\r
+ <input_file_ref idref="fl-1f"/>\r
+ </object_component>\r
+ <object_component id="oc-6b">\r
+ <name>.text</name>\r
+ <load_address>0x1ffc4</load_address>\r
+ <run_address>0x1ffc4</run_address>\r
+ <size>0x5c</size>\r
+ <input_file_ref idref="fl-16"/>\r
+ </object_component>\r
+ <object_component id="oc-4a">\r
+ <name>.text</name>\r
+ <load_address>0x20020</load_address>\r
+ <run_address>0x20020</run_address>\r
+ <size>0x50</size>\r
+ <input_file_ref idref="fl-f"/>\r
+ </object_component>\r
+ <object_component id="oc-6f">\r
+ <name>.text</name>\r
+ <load_address>0x20070</load_address>\r
+ <run_address>0x20070</run_address>\r
+ <size>0x4d</size>\r
+ <input_file_ref idref="fl-17"/>\r
+ </object_component>\r
+ <object_component id="oc-67">\r
+ <name>.text</name>\r
+ <load_address>0x200bd</load_address>\r
+ <run_address>0x200bd</run_address>\r
+ <size>0x4b</size>\r
+ <input_file_ref idref="fl-15"/>\r
+ </object_component>\r
+ <object_component id="oc-4e">\r
+ <name>.text</name>\r
+ <load_address>0x20108</load_address>\r
+ <run_address>0x20108</run_address>\r
+ <size>0x4b</size>\r
+ <input_file_ref idref="fl-10"/>\r
+ </object_component>\r
+ <object_component id="oc-e0">\r
+ <name>.text</name>\r
+ <load_address>0x20153</load_address>\r
+ <run_address>0x20153</run_address>\r
+ <size>0x48</size>\r
+ <input_file_ref idref="fl-32"/>\r
+ </object_component>\r
+ <object_component id="oc-b9">\r
+ <name>.text</name>\r
+ <load_address>0x2019b</load_address>\r
+ <run_address>0x2019b</run_address>\r
+ <size>0x3f</size>\r
+ <input_file_ref idref="fl-29"/>\r
+ </object_component>\r
+ <object_component id="oc-43">\r
+ <name>.text</name>\r
+ <load_address>0x201da</load_address>\r
+ <run_address>0x201da</run_address>\r
+ <size>0x3e</size>\r
+ <input_file_ref idref="fl-e"/>\r
+ </object_component>\r
+ <object_component id="oc-32">\r
+ <name>.text</name>\r
+ <load_address>0x20218</load_address>\r
+ <run_address>0x20218</run_address>\r
+ <size>0x3b</size>\r
+ <input_file_ref idref="fl-4"/>\r
+ </object_component>\r
+ <object_component id="oc-138">\r
+ <name>.text:_DspLdoSwitch</name>\r
+ <load_address>0x20253</load_address>\r
+ <run_address>0x20253</run_address>\r
+ <size>0x3a</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-13a">\r
+ <name>.text:_UsbLdoSwitch</name>\r
+ <load_address>0x2028d</load_address>\r
+ <run_address>0x2028d</run_address>\r
+ <size>0x38</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-1b">\r
+ <name>.text</name>\r
+ <load_address>0x202c5</load_address>\r
+ <run_address>0x202c5</run_address>\r
+ <size>0x34</size>\r
+ <input_file_ref idref="fl-d"/>\r
+ </object_component>\r
+ <object_component id="oc-85">\r
+ <name>.text</name>\r
+ <load_address>0x202f9</load_address>\r
+ <run_address>0x202f9</run_address>\r
+ <size>0x2a</size>\r
+ <input_file_ref idref="fl-1d"/>\r
+ </object_component>\r
+ <object_component id="oc-d4">\r
+ <name>.text</name>\r
+ <load_address>0x20323</load_address>\r
+ <run_address>0x20323</run_address>\r
+ <size>0x2a</size>\r
+ <input_file_ref idref="fl-2f"/>\r
+ </object_component>\r
+ <object_component id="oc-b5">\r
+ <name>.text</name>\r
+ <load_address>0x2034d</load_address>\r
+ <run_address>0x2034d</run_address>\r
+ <size>0x23</size>\r
+ <input_file_ref idref="fl-28"/>\r
+ </object_component>\r
+ <object_component id="oc-9f">\r
+ <name>.text</name>\r
+ <load_address>0x20370</load_address>\r
+ <run_address>0x20370</run_address>\r
+ <size>0x1a</size>\r
+ <input_file_ref idref="fl-23"/>\r
+ </object_component>\r
+ <object_component id="oc-c5">\r
+ <name>.text</name>\r
+ <load_address>0x2038a</load_address>\r
+ <run_address>0x2038a</run_address>\r
+ <size>0x14</size>\r
+ <input_file_ref idref="fl-2c"/>\r
+ </object_component>\r
+ <object_component id="oc-a7">\r
+ <name>.text</name>\r
+ <load_address>0x2039e</load_address>\r
+ <run_address>0x2039e</run_address>\r
+ <size>0x13</size>\r
+ <input_file_ref idref="fl-25"/>\r
+ </object_component>\r
+ <object_component id="oc-5b">\r
+ <name>.text</name>\r
+ <load_address>0x203b1</load_address>\r
+ <run_address>0x203b1</run_address>\r
+ <size>0x12</size>\r
+ <input_file_ref idref="fl-13"/>\r
+ </object_component>\r
+ <object_component id="oc-c1">\r
+ <name>.text</name>\r
+ <load_address>0x203c3</load_address>\r
+ <run_address>0x203c3</run_address>\r
+ <size>0x10</size>\r
+ <input_file_ref idref="fl-2b"/>\r
+ </object_component>\r
+ <object_component id="oc-105">\r
+ <name>.text</name>\r
+ <load_address>0x203d3</load_address>\r
+ <run_address>0x203d3</run_address>\r
+ <size>0xa</size>\r
+ <input_file_ref idref="fl-3a"/>\r
+ </object_component>\r
+ <object_component id="oc-47">\r
+ <name>.text:CIO_breakpoint</name>\r
+ <load_address>0x203dd</load_address>\r
+ <run_address>0x203dd</run_address>\r
+ <size>0x7</size>\r
+ <input_file_ref idref="fl-e"/>\r
+ </object_component>\r
+ <object_component id="oc-13d">\r
+ <name>.text:_UserIdle</name>\r
+ <load_address>0x203e4</load_address>\r
+ <run_address>0x203e4</run_address>\r
+ <size>0x6</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-56">\r
+ <name>.text</name>\r
+ <load_address>0x203ea</load_address>\r
+ <run_address>0x203ea</run_address>\r
+ <size>0x2</size>\r
+ <input_file_ref idref="fl-12"/>\r
+ </object_component>\r
+ <object_component id="oc-133">\r
+ <name>.switch:_DMA_config</name>\r
+ <load_address>0x24eb4</load_address>\r
+ <run_address>0x24eb4</run_address>\r
+ <size>0x40</size>\r
+ <input_file_ref idref="fl-3b"/>\r
+ </object_component>\r
+ <object_component id="oc-134">\r
+ <name>.switch:_DMA_getConfig</name>\r
+ <load_address>0x24ef4</load_address>\r
+ <run_address>0x24ef4</run_address>\r
+ <size>0x40</size>\r
+ <input_file_ref idref="fl-3b"/>\r
+ </object_component>\r
+ <object_component id="oc-135">\r
+ <name>.switch:_DMA_reset</name>\r
+ <load_address>0x24f34</load_address>\r
+ <run_address>0x24f34</run_address>\r
+ <size>0x40</size>\r
+ <input_file_ref idref="fl-3b"/>\r
+ </object_component>\r
+ <object_component id="oc-136">\r
+ <name>.switch:_SYS_setEBSR</name>\r
+ <load_address>0x24f74</load_address>\r
+ <run_address>0x24f74</run_address>\r
+ <size>0x24</size>\r
+ <input_file_ref idref="fl-40"/>\r
+ </object_component>\r
+ <object_component id="oc-146">\r
+ <name>.switch:_pll_sample</name>\r
+ <load_address>0x24f98</load_address>\r
+ <run_address>0x24f98</run_address>\r
+ <size>0x20</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-ae">\r
+ <name>.cinit</name>\r
+ <load_address>0x24d98</load_address>\r
+ <run_address>0x24d98</run_address>\r
+ <size>0x5a</size>\r
+ <input_file_ref idref="fl-26"/>\r
+ </object_component>\r
+ <object_component id="oc-7b">\r
+ <name>.cinit</name>\r
+ <load_address>0x24df2</load_address>\r
+ <run_address>0x24df2</run_address>\r
+ <size>0x54</size>\r
+ <input_file_ref idref="fl-1a"/>\r
+ </object_component>\r
+ <object_component id="oc-22">\r
+ <name>.cinit</name>\r
+ <load_address>0x24e46</load_address>\r
+ <run_address>0x24e46</run_address>\r
+ <size>0x24</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-5e">\r
+ <name>.cinit</name>\r
+ <load_address>0x24e6a</load_address>\r
+ <run_address>0x24e6a</run_address>\r
+ <size>0x14</size>\r
+ <input_file_ref idref="fl-13"/>\r
+ </object_component>\r
+ <object_component id="oc-46">\r
+ <name>.cinit</name>\r
+ <load_address>0x24e7e</load_address>\r
+ <run_address>0x24e7e</run_address>\r
+ <size>0x14</size>\r
+ <input_file_ref idref="fl-e"/>\r
+ </object_component>\r
+ <object_component id="oc-111">\r
+ <name>.cinit</name>\r
+ <load_address>0x24e92</load_address>\r
+ <run_address>0x24e92</run_address>\r
+ <size>0x10</size>\r
+ <input_file_ref idref="fl-3c"/>\r
+ </object_component>\r
+ <object_component id="oc-f7">\r
+ <name>.cinit</name>\r
+ <load_address>0x24ea2</load_address>\r
+ <run_address>0x24ea2</run_address>\r
+ <size>0x8</size>\r
+ <input_file_ref idref="fl-37"/>\r
+ </object_component>\r
+ <object_component id="oc-fd">\r
+ <name>.cinit</name>\r
+ <load_address>0x24eaa</load_address>\r
+ <run_address>0x24eaa</run_address>\r
+ <size>0x8</size>\r
+ <input_file_ref idref="fl-38"/>\r
+ </object_component>\r
+ <object_component id="oc-20">\r
+ <name>.bss</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x10000</run_address>\r
+ <size>0x7e44</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-3a">\r
+ <name>.bss</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x18458</run_address>\r
+ <size>0x1c</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-44">\r
+ <name>.bss</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x18488</run_address>\r
+ <size>0x8</size>\r
+ <input_file_ref idref="fl-e"/>\r
+ </object_component>\r
+ <object_component id="oc-5c">\r
+ <name>.bss</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x18480</run_address>\r
+ <size>0x8</size>\r
+ <input_file_ref idref="fl-13"/>\r
+ </object_component>\r
+ <object_component id="oc-79">\r
+ <name>.bss</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x17e44</run_address>\r
+ <size>0x232</size>\r
+ <input_file_ref idref="fl-1a"/>\r
+ </object_component>\r
+ <object_component id="oc-ac">\r
+ <name>.bss</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x18320</run_address>\r
+ <size>0xe2</size>\r
+ <input_file_ref idref="fl-26"/>\r
+ </object_component>\r
+ <object_component id="oc-ca">\r
+ <name>.bss</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x18076</run_address>\r
+ <size>0x1a0</size>\r
+ <input_file_ref idref="fl-2d"/>\r
+ </object_component>\r
+ <object_component id="oc-f5">\r
+ <name>.bss</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x18216</run_address>\r
+ <size>0x2</size>\r
+ <input_file_ref idref="fl-37"/>\r
+ </object_component>\r
+ <object_component id="oc-fb">\r
+ <name>.bss</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x18474</run_address>\r
+ <size>0xc</size>\r
+ <input_file_ref idref="fl-38"/>\r
+ </object_component>\r
+ <object_component id="oc-10f">\r
+ <name>.bss</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x18402</run_address>\r
+ <size>0x54</size>\r
+ <input_file_ref idref="fl-3c"/>\r
+ </object_component>\r
+ <object_component id="oc-116">\r
+ <name>.bss</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x18218</run_address>\r
+ <size>0x108</size>\r
+ <input_file_ref idref="fl-3d"/>\r
+ </object_component>\r
+ <object_component id="oc-125">\r
+ <name>.bss</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x18490</run_address>\r
+ <size>0x6</size>\r
+ <input_file_ref idref="fl-40"/>\r
+ </object_component>\r
+ <object_component id="oc-2e">\r
+ <name>.const:.string</name>\r
+ <load_address>0x23df0</load_address>\r
+ <run_address>0x23df0</run_address>\r
+ <size>0x328</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-131">\r
+ <name>.const:__ctypes_</name>\r
+ <load_address>0x24118</load_address>\r
+ <run_address>0x24118</run_address>\r
+ <size>0x202</size>\r
+ <input_file_ref idref="fl-19"/>\r
+ </object_component>\r
+ <object_component id="oc-64">\r
+ <name>.const:.string</name>\r
+ <load_address>0x2431c</load_address>\r
+ <run_address>0x2431c</run_address>\r
+ <size>0x48</size>\r
+ <input_file_ref idref="fl-14"/>\r
+ </object_component>\r
+ <object_component id="oc-63">\r
+ <name>.const</name>\r
+ <load_address>0x24364</load_address>\r
+ <run_address>0x24364</run_address>\r
+ <size>0x18</size>\r
+ <input_file_ref idref="fl-14"/>\r
+ </object_component>\r
+ <object_component id="oc-132">\r
+ <name>.const:_initial_approx$1</name>\r
+ <load_address>0x2437c</load_address>\r
+ <run_address>0x2437c</run_address>\r
+ <size>0x10</size>\r
+ <input_file_ref idref="fl-1b"/>\r
+ </object_component>\r
+ <object_component id="oc-144">\r
+ <name>.const:_pllCfg_100MHz</name>\r
+ <load_address>0x2438c</load_address>\r
+ <run_address>0x2438c</run_address>\r
+ <size>0x8</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-145">\r
+ <name>.const:_pllCfg_120MHz</name>\r
+ <load_address>0x24394</load_address>\r
+ <run_address>0x24394</run_address>\r
+ <size>0x8</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-13e">\r
+ <name>.const:_pllCfg_16p384MHz</name>\r
+ <load_address>0x2439c</load_address>\r
+ <run_address>0x2439c</run_address>\r
+ <size>0x8</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-13f">\r
+ <name>.const:_pllCfg_32p768MHz</name>\r
+ <load_address>0x243a4</load_address>\r
+ <run_address>0x243a4</run_address>\r
+ <size>0x8</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-140">\r
+ <name>.const:_pllCfg_40MHz</name>\r
+ <load_address>0x243ac</load_address>\r
+ <run_address>0x243ac</run_address>\r
+ <size>0x8</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-141">\r
+ <name>.const:_pllCfg_50MHz</name>\r
+ <load_address>0x243b4</load_address>\r
+ <run_address>0x243b4</run_address>\r
+ <size>0x8</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-142">\r
+ <name>.const:_pllCfg_60MHz</name>\r
+ <load_address>0x243bc</load_address>\r
+ <run_address>0x243bc</run_address>\r
+ <size>0x8</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-143">\r
+ <name>.const:_pllCfg_75MHz</name>\r
+ <load_address>0x243c4</load_address>\r
+ <run_address>0x243c4</run_address>\r
+ <size>0x8</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-98">\r
+ <name>.const:.string</name>\r
+ <load_address>0x243cc</load_address>\r
+ <run_address>0x243cc</run_address>\r
+ <size>0x4</size>\r
+ <input_file_ref idref="fl-21"/>\r
+ </object_component>\r
+ <object_component id="oc-8f">\r
+ <name>.const</name>\r
+ <load_address>0x243d0</load_address>\r
+ <run_address>0x243d0</run_address>\r
+ <size>0x4</size>\r
+ <input_file_ref idref="fl-1f"/>\r
+ </object_component>\r
+ <object_component id="oc-3f">\r
+ <name>.stack</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x4000</run_address>\r
+ <size>0x0</size>\r
+ <input_file_ref idref="fl-d"/>\r
+ </object_component>\r
+ <object_component id="oc-168">\r
+ <name>.stack</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x4000</run_address>\r
+ <size>0x0</size>\r
+ </object_component>\r
+ <object_component id="oc-12f">\r
+ <name>.sysstack</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x4400</run_address>\r
+ <size>0x0</size>\r
+ <input_file_ref idref="fl-d"/>\r
+ </object_component>\r
+ <object_component id="oc-16a">\r
+ <name>.sysstack</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x4400</run_address>\r
+ <size>0x0</size>\r
+ </object_component>\r
+ <object_component id="oc-fe">\r
+ <name>.sysmem</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x235f0</run_address>\r
+ <size>0x0</size>\r
+ <input_file_ref idref="fl-38"/>\r
+ </object_component>\r
+ <object_component id="oc-169">\r
+ <name>.sysmem</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x235f0</run_address>\r
+ <size>0x0</size>\r
+ </object_component>\r
+ <object_component id="oc-d0">\r
+ <name>.cio</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x24b58</run_address>\r
+ <size>0x240</size>\r
+ <input_file_ref idref="fl-2e"/>\r
+ </object_component>\r
+ <object_component id="oc-26">\r
+ <name>.fir1Coefs</name>\r
+ <load_address>0x24fb8</load_address>\r
+ <run_address>0x24fb8</run_address>\r
+ <size>0x1e</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-29">\r
+ <name>.fir2Coefs</name>\r
+ <load_address>0x25200</load_address>\r
+ <run_address>0x25200</run_address>\r
+ <size>0x74</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-27">\r
+ <name>.fir1DlyBuf</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x48f4</run_address>\r
+ <size>0x48</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-2a">\r
+ <name>.fir2DlyBuf</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x4800</run_address>\r
+ <size>0xf4</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-23">\r
+ <name>.i2sDmaReadBufLeft</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x221f0</run_address>\r
+ <size>0xa00</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-24">\r
+ <name>.i2sDmaReadBufRight</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x22bf0</run_address>\r
+ <size>0xa00</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-25">\r
+ <name>.cicOutFrame</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x203f0</run_address>\r
+ <size>0x1400</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-28">\r
+ <name>.fir1OutFrame</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x217f0</run_address>\r
+ <size>0xa00</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-2b">\r
+ <name>.fir2OutFrame</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x243d4</run_address>\r
+ <size>0x500</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-2c">\r
+ <name>.digGainOutFrame</name>\r
+ <uninitialized>true</uninitialized>\r
+ <run_address>0x248d4</run_address>\r
+ <size>0x280</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-1d">\r
+ <name>.debug_info</name>\r
+ <load_address>0x0</load_address>\r
+ <run_address>0x0</run_address>\r
+ <size>0x1f8</size>\r
+ <input_file_ref idref="fl-2"/>\r
+ </object_component>\r
+ <object_component id="oc-21">\r
+ <name>.debug_info</name>\r
+ <load_address>0x1f8</load_address>\r
+ <run_address>0x1f8</run_address>\r
+ <size>0x3b14</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-33">\r
+ <name>.debug_info</name>\r
+ <load_address>0x3d0c</load_address>\r
+ <run_address>0x3d0c</run_address>\r
+ <size>0x1f0</size>\r
+ <input_file_ref idref="fl-4"/>\r
+ </object_component>\r
+ <object_component id="oc-37">\r
+ <name>.debug_info</name>\r
+ <load_address>0x3efc</load_address>\r
+ <run_address>0x3efc</run_address>\r
+ <size>0x1fb</size>\r
+ <input_file_ref idref="fl-5"/>\r
+ </object_component>\r
+ <object_component id="oc-3b">\r
+ <name>.debug_info</name>\r
+ <load_address>0x40f7</load_address>\r
+ <run_address>0x40f7</run_address>\r
+ <size>0x1325</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-40">\r
+ <name>.debug_info</name>\r
+ <load_address>0x541c</load_address>\r
+ <run_address>0x541c</run_address>\r
+ <size>0xe8</size>\r
+ <input_file_ref idref="fl-d"/>\r
+ </object_component>\r
+ <object_component id="oc-45">\r
+ <name>.debug_info</name>\r
+ <load_address>0x5504</load_address>\r
+ <run_address>0x5504</run_address>\r
+ <size>0x5fb</size>\r
+ <input_file_ref idref="fl-e"/>\r
+ </object_component>\r
+ <object_component id="oc-4b">\r
+ <name>.debug_info</name>\r
+ <load_address>0x5aff</load_address>\r
+ <run_address>0x5aff</run_address>\r
+ <size>0x76c</size>\r
+ <input_file_ref idref="fl-f"/>\r
+ </object_component>\r
+ <object_component id="oc-4f">\r
+ <name>.debug_info</name>\r
+ <load_address>0x626b</load_address>\r
+ <run_address>0x626b</run_address>\r
+ <size>0x4f2</size>\r
+ <input_file_ref idref="fl-10"/>\r
+ </object_component>\r
+ <object_component id="oc-53">\r
+ <name>.debug_info</name>\r
+ <load_address>0x675d</load_address>\r
+ <run_address>0x675d</run_address>\r
+ <size>0x534</size>\r
+ <input_file_ref idref="fl-11"/>\r
+ </object_component>\r
+ <object_component id="oc-58">\r
+ <name>.debug_info</name>\r
+ <load_address>0x6c91</load_address>\r
+ <run_address>0x6c91</run_address>\r
+ <size>0xbc</size>\r
+ <input_file_ref idref="fl-12"/>\r
+ </object_component>\r
+ <object_component id="oc-5d">\r
+ <name>.debug_info</name>\r
+ <load_address>0x6d4d</load_address>\r
+ <run_address>0x6d4d</run_address>\r
+ <size>0x5bc</size>\r
+ <input_file_ref idref="fl-13"/>\r
+ </object_component>\r
+ <object_component id="oc-62">\r
+ <name>.debug_info</name>\r
+ <load_address>0x7309</load_address>\r
+ <run_address>0x7309</run_address>\r
+ <size>0x27bd</size>\r
+ <input_file_ref idref="fl-14"/>\r
+ </object_component>\r
+ <object_component id="oc-68">\r
+ <name>.debug_info</name>\r
+ <load_address>0x9ac6</load_address>\r
+ <run_address>0x9ac6</run_address>\r
+ <size>0x586</size>\r
+ <input_file_ref idref="fl-15"/>\r
+ </object_component>\r
+ <object_component id="oc-6c">\r
+ <name>.debug_info</name>\r
+ <load_address>0xa04c</load_address>\r
+ <run_address>0xa04c</run_address>\r
+ <size>0x5a4</size>\r
+ <input_file_ref idref="fl-16"/>\r
+ </object_component>\r
+ <object_component id="oc-70">\r
+ <name>.debug_info</name>\r
+ <load_address>0xa5f0</load_address>\r
+ <run_address>0xa5f0</run_address>\r
+ <size>0xcd</size>\r
+ <input_file_ref idref="fl-17"/>\r
+ </object_component>\r
+ <object_component id="oc-74">\r
+ <name>.debug_info</name>\r
+ <load_address>0xa6bd</load_address>\r
+ <run_address>0xa6bd</run_address>\r
+ <size>0x81f</size>\r
+ <input_file_ref idref="fl-18"/>\r
+ </object_component>\r
+ <object_component id="oc-77">\r
+ <name>.debug_info</name>\r
+ <load_address>0xaedc</load_address>\r
+ <run_address>0xaedc</run_address>\r
+ <size>0x498</size>\r
+ <input_file_ref idref="fl-19"/>\r
+ </object_component>\r
+ <object_component id="oc-7a">\r
+ <name>.debug_info</name>\r
+ <load_address>0xb374</load_address>\r
+ <run_address>0xb374</run_address>\r
+ <size>0x57e</size>\r
+ <input_file_ref idref="fl-1a"/>\r
+ </object_component>\r
+ <object_component id="oc-7e">\r
+ <name>.debug_info</name>\r
+ <load_address>0xb8f2</load_address>\r
+ <run_address>0xb8f2</run_address>\r
+ <size>0x7e8</size>\r
+ <input_file_ref idref="fl-1b"/>\r
+ </object_component>\r
+ <object_component id="oc-82">\r
+ <name>.debug_info</name>\r
+ <load_address>0xc0da</load_address>\r
+ <run_address>0xc0da</run_address>\r
+ <size>0x534</size>\r
+ <input_file_ref idref="fl-1c"/>\r
+ </object_component>\r
+ <object_component id="oc-86">\r
+ <name>.debug_info</name>\r
+ <load_address>0xc60e</load_address>\r
+ <run_address>0xc60e</run_address>\r
+ <size>0x4cf</size>\r
+ <input_file_ref idref="fl-1d"/>\r
+ </object_component>\r
+ <object_component id="oc-8a">\r
+ <name>.debug_info</name>\r
+ <load_address>0xcadd</load_address>\r
+ <run_address>0xcadd</run_address>\r
+ <size>0x534</size>\r
+ <input_file_ref idref="fl-1e"/>\r
+ </object_component>\r
+ <object_component id="oc-8e">\r
+ <name>.debug_info</name>\r
+ <load_address>0xd011</load_address>\r
+ <run_address>0xd011</run_address>\r
+ <size>0x549</size>\r
+ <input_file_ref idref="fl-1f"/>\r
+ </object_component>\r
+ <object_component id="oc-93">\r
+ <name>.debug_info</name>\r
+ <load_address>0xd55a</load_address>\r
+ <run_address>0xd55a</run_address>\r
+ <size>0x6aa</size>\r
+ <input_file_ref idref="fl-20"/>\r
+ </object_component>\r
+ <object_component id="oc-97">\r
+ <name>.debug_info</name>\r
+ <load_address>0xdc04</load_address>\r
+ <run_address>0xdc04</run_address>\r
+ <size>0x942</size>\r
+ <input_file_ref idref="fl-21"/>\r
+ </object_component>\r
+ <object_component id="oc-9c">\r
+ <name>.debug_info</name>\r
+ <load_address>0xe546</load_address>\r
+ <run_address>0xe546</run_address>\r
+ <size>0x53e</size>\r
+ <input_file_ref idref="fl-22"/>\r
+ </object_component>\r
+ <object_component id="oc-a0">\r
+ <name>.debug_info</name>\r
+ <load_address>0xea84</load_address>\r
+ <run_address>0xea84</run_address>\r
+ <size>0x680</size>\r
+ <input_file_ref idref="fl-23"/>\r
+ </object_component>\r
+ <object_component id="oc-a4">\r
+ <name>.debug_info</name>\r
+ <load_address>0xf104</load_address>\r
+ <run_address>0xf104</run_address>\r
+ <size>0x7d4</size>\r
+ <input_file_ref idref="fl-24"/>\r
+ </object_component>\r
+ <object_component id="oc-a8">\r
+ <name>.debug_info</name>\r
+ <load_address>0xf8d8</load_address>\r
+ <run_address>0xf8d8</run_address>\r
+ <size>0xbd</size>\r
+ <input_file_ref idref="fl-25"/>\r
+ </object_component>\r
+ <object_component id="oc-ad">\r
+ <name>.debug_info</name>\r
+ <load_address>0xf995</load_address>\r
+ <run_address>0xf995</run_address>\r
+ <size>0x144b</size>\r
+ <input_file_ref idref="fl-26"/>\r
+ </object_component>\r
+ <object_component id="oc-b2">\r
+ <name>.debug_info</name>\r
+ <load_address>0x10de0</load_address>\r
+ <run_address>0x10de0</run_address>\r
+ <size>0x5ad</size>\r
+ <input_file_ref idref="fl-27"/>\r
+ </object_component>\r
+ <object_component id="oc-b6">\r
+ <name>.debug_info</name>\r
+ <load_address>0x1138d</load_address>\r
+ <run_address>0x1138d</run_address>\r
+ <size>0x574</size>\r
+ <input_file_ref idref="fl-28"/>\r
+ </object_component>\r
+ <object_component id="oc-ba">\r
+ <name>.debug_info</name>\r
+ <load_address>0x11901</load_address>\r
+ <run_address>0x11901</run_address>\r
+ <size>0xd1</size>\r
+ <input_file_ref idref="fl-29"/>\r
+ </object_component>\r
+ <object_component id="oc-be">\r
+ <name>.debug_info</name>\r
+ <load_address>0x119d2</load_address>\r
+ <run_address>0x119d2</run_address>\r
+ <size>0x55b</size>\r
+ <input_file_ref idref="fl-2a"/>\r
+ </object_component>\r
+ <object_component id="oc-c2">\r
+ <name>.debug_info</name>\r
+ <load_address>0x11f2d</load_address>\r
+ <run_address>0x11f2d</run_address>\r
+ <size>0x4b7</size>\r
+ <input_file_ref idref="fl-2b"/>\r
+ </object_component>\r
+ <object_component id="oc-c6">\r
+ <name>.debug_info</name>\r
+ <load_address>0x123e4</load_address>\r
+ <run_address>0x123e4</run_address>\r
+ <size>0x4de</size>\r
+ <input_file_ref idref="fl-2c"/>\r
+ </object_component>\r
+ <object_component id="oc-cb">\r
+ <name>.debug_info</name>\r
+ <load_address>0x128c2</load_address>\r
+ <run_address>0x128c2</run_address>\r
+ <size>0xed4</size>\r
+ <input_file_ref idref="fl-2d"/>\r
+ </object_component>\r
+ <object_component id="oc-cf">\r
+ <name>.debug_info</name>\r
+ <load_address>0x13796</load_address>\r
+ <run_address>0x13796</run_address>\r
+ <size>0x744</size>\r
+ <input_file_ref idref="fl-2e"/>\r
+ </object_component>\r
+ <object_component id="oc-d5">\r
+ <name>.debug_info</name>\r
+ <load_address>0x13eda</load_address>\r
+ <run_address>0x13eda</run_address>\r
+ <size>0xef</size>\r
+ <input_file_ref idref="fl-2f"/>\r
+ </object_component>\r
+ <object_component id="oc-d9">\r
+ <name>.debug_info</name>\r
+ <load_address>0x13fc9</load_address>\r
+ <run_address>0x13fc9</run_address>\r
+ <size>0x662</size>\r
+ <input_file_ref idref="fl-30"/>\r
+ </object_component>\r
+ <object_component id="oc-dd">\r
+ <name>.debug_info</name>\r
+ <load_address>0x1462b</load_address>\r
+ <run_address>0x1462b</run_address>\r
+ <size>0x5ab</size>\r
+ <input_file_ref idref="fl-31"/>\r
+ </object_component>\r
+ <object_component id="oc-e1">\r
+ <name>.debug_info</name>\r
+ <load_address>0x14bd6</load_address>\r
+ <run_address>0x14bd6</run_address>\r
+ <size>0x4f2</size>\r
+ <input_file_ref idref="fl-32"/>\r
+ </object_component>\r
+ <object_component id="oc-e5">\r
+ <name>.debug_info</name>\r
+ <load_address>0x150c8</load_address>\r
+ <run_address>0x150c8</run_address>\r
+ <size>0x706</size>\r
+ <input_file_ref idref="fl-33"/>\r
+ </object_component>\r
+ <object_component id="oc-e9">\r
+ <name>.debug_info</name>\r
+ <load_address>0x157ce</load_address>\r
+ <run_address>0x157ce</run_address>\r
+ <size>0x4d2</size>\r
+ <input_file_ref idref="fl-34"/>\r
+ </object_component>\r
+ <object_component id="oc-ed">\r
+ <name>.debug_info</name>\r
+ <load_address>0x15ca0</load_address>\r
+ <run_address>0x15ca0</run_address>\r
+ <size>0x5f7</size>\r
+ <input_file_ref idref="fl-35"/>\r
+ </object_component>\r
+ <object_component id="oc-f1">\r
+ <name>.debug_info</name>\r
+ <load_address>0x16297</load_address>\r
+ <run_address>0x16297</run_address>\r
+ <size>0x64a</size>\r
+ <input_file_ref idref="fl-36"/>\r
+ </object_component>\r
+ <object_component id="oc-f6">\r
+ <name>.debug_info</name>\r
+ <load_address>0x168e1</load_address>\r
+ <run_address>0x168e1</run_address>\r
+ <size>0xa1c</size>\r
+ <input_file_ref idref="fl-37"/>\r
+ </object_component>\r
+ <object_component id="oc-fc">\r
+ <name>.debug_info</name>\r
+ <load_address>0x172fd</load_address>\r
+ <run_address>0x172fd</run_address>\r
+ <size>0xb97</size>\r
+ <input_file_ref idref="fl-38"/>\r
+ </object_component>\r
+ <object_component id="oc-102">\r
+ <name>.debug_info</name>\r
+ <load_address>0x17e94</load_address>\r
+ <run_address>0x17e94</run_address>\r
+ <size>0x64f</size>\r
+ <input_file_ref idref="fl-39"/>\r
+ </object_component>\r
+ <object_component id="oc-106">\r
+ <name>.debug_info</name>\r
+ <load_address>0x184e3</load_address>\r
+ <run_address>0x184e3</run_address>\r
+ <size>0x510</size>\r
+ <input_file_ref idref="fl-3a"/>\r
+ </object_component>\r
+ <object_component id="oc-10a">\r
+ <name>.debug_info</name>\r
+ <load_address>0x189f3</load_address>\r
+ <run_address>0x189f3</run_address>\r
+ <size>0x2632</size>\r
+ <input_file_ref idref="fl-3b"/>\r
+ </object_component>\r
+ <object_component id="oc-110">\r
+ <name>.debug_info</name>\r
+ <load_address>0x1b025</load_address>\r
+ <run_address>0x1b025</run_address>\r
+ <size>0x2193</size>\r
+ <input_file_ref idref="fl-3c"/>\r
+ </object_component>\r
+ <object_component id="oc-117">\r
+ <name>.debug_info</name>\r
+ <load_address>0x1d1b8</load_address>\r
+ <run_address>0x1d1b8</run_address>\r
+ <size>0x18da</size>\r
+ <input_file_ref idref="fl-3d"/>\r
+ </object_component>\r
+ <object_component id="oc-11c">\r
+ <name>.debug_info</name>\r
+ <load_address>0x1ea92</load_address>\r
+ <run_address>0x1ea92</run_address>\r
+ <size>0x151</size>\r
+ <input_file_ref idref="fl-3e"/>\r
+ </object_component>\r
+ <object_component id="oc-120">\r
+ <name>.debug_info</name>\r
+ <load_address>0x1ebe3</load_address>\r
+ <run_address>0x1ebe3</run_address>\r
+ <size>0x1399</size>\r
+ <input_file_ref idref="fl-3f"/>\r
+ </object_component>\r
+ <object_component id="oc-126">\r
+ <name>.debug_info</name>\r
+ <load_address>0x1ff7c</load_address>\r
+ <run_address>0x1ff7c</run_address>\r
+ <size>0xfd7</size>\r
+ <input_file_ref idref="fl-40"/>\r
+ </object_component>\r
+ <object_component id="oc-12c">\r
+ <name>.debug_info</name>\r
+ <load_address>0x20f53</load_address>\r
+ <run_address>0x20f53</run_address>\r
+ <size>0x152</size>\r
+ <input_file_ref idref="fl-41"/>\r
+ </object_component>\r
+ <object_component id="oc-16c">\r
+ <name>.debug_info</name>\r
+ <load_address>0x210a5</load_address>\r
+ <run_address>0x210a5</run_address>\r
+ <size>0x6e</size>\r
+ </object_component>\r
+ <object_component id="oc-1e">\r
+ <name>.debug_line</name>\r
+ <load_address>0x0</load_address>\r
+ <run_address>0x0</run_address>\r
+ <size>0xd6</size>\r
+ <input_file_ref idref="fl-2"/>\r
+ </object_component>\r
+ <object_component id="oc-30">\r
+ <name>.debug_line</name>\r
+ <load_address>0xd6</load_address>\r
+ <run_address>0xd6</run_address>\r
+ <size>0x2e2</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-34">\r
+ <name>.debug_line</name>\r
+ <load_address>0x3b8</load_address>\r
+ <run_address>0x3b8</run_address>\r
+ <size>0xba</size>\r
+ <input_file_ref idref="fl-4"/>\r
+ </object_component>\r
+ <object_component id="oc-38">\r
+ <name>.debug_line</name>\r
+ <load_address>0x472</load_address>\r
+ <run_address>0x472</run_address>\r
+ <size>0x11d</size>\r
+ <input_file_ref idref="fl-5"/>\r
+ </object_component>\r
+ <object_component id="oc-3d">\r
+ <name>.debug_line</name>\r
+ <load_address>0x58f</load_address>\r
+ <run_address>0x58f</run_address>\r
+ <size>0x1a8</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-41">\r
+ <name>.debug_line</name>\r
+ <load_address>0x737</load_address>\r
+ <run_address>0x737</run_address>\r
+ <size>0x54</size>\r
+ <input_file_ref idref="fl-d"/>\r
+ </object_component>\r
+ <object_component id="oc-48">\r
+ <name>.debug_line</name>\r
+ <load_address>0x78b</load_address>\r
+ <run_address>0x78b</run_address>\r
+ <size>0x51</size>\r
+ <input_file_ref idref="fl-e"/>\r
+ </object_component>\r
+ <object_component id="oc-4c">\r
+ <name>.debug_line</name>\r
+ <load_address>0x7dc</load_address>\r
+ <run_address>0x7dc</run_address>\r
+ <size>0x69</size>\r
+ <input_file_ref idref="fl-f"/>\r
+ </object_component>\r
+ <object_component id="oc-50">\r
+ <name>.debug_line</name>\r
+ <load_address>0x845</load_address>\r
+ <run_address>0x845</run_address>\r
+ <size>0x3c</size>\r
+ <input_file_ref idref="fl-10"/>\r
+ </object_component>\r
+ <object_component id="oc-54">\r
+ <name>.debug_line</name>\r
+ <load_address>0x881</load_address>\r
+ <run_address>0x881</run_address>\r
+ <size>0x44</size>\r
+ <input_file_ref idref="fl-11"/>\r
+ </object_component>\r
+ <object_component id="oc-59">\r
+ <name>.debug_line</name>\r
+ <load_address>0x8c5</load_address>\r
+ <run_address>0x8c5</run_address>\r
+ <size>0x37</size>\r
+ <input_file_ref idref="fl-12"/>\r
+ </object_component>\r
+ <object_component id="oc-5f">\r
+ <name>.debug_line</name>\r
+ <load_address>0x8fc</load_address>\r
+ <run_address>0x8fc</run_address>\r
+ <size>0x57</size>\r
+ <input_file_ref idref="fl-13"/>\r
+ </object_component>\r
+ <object_component id="oc-65">\r
+ <name>.debug_line</name>\r
+ <load_address>0x953</load_address>\r
+ <run_address>0x953</run_address>\r
+ <size>0x328</size>\r
+ <input_file_ref idref="fl-14"/>\r
+ </object_component>\r
+ <object_component id="oc-69">\r
+ <name>.debug_line</name>\r
+ <load_address>0xc7b</load_address>\r
+ <run_address>0xc7b</run_address>\r
+ <size>0x41</size>\r
+ <input_file_ref idref="fl-15"/>\r
+ </object_component>\r
+ <object_component id="oc-6d">\r
+ <name>.debug_line</name>\r
+ <load_address>0xcbc</load_address>\r
+ <run_address>0xcbc</run_address>\r
+ <size>0x46</size>\r
+ <input_file_ref idref="fl-16"/>\r
+ </object_component>\r
+ <object_component id="oc-71">\r
+ <name>.debug_line</name>\r
+ <load_address>0xd02</load_address>\r
+ <run_address>0xd02</run_address>\r
+ <size>0x55</size>\r
+ <input_file_ref idref="fl-17"/>\r
+ </object_component>\r
+ <object_component id="oc-75">\r
+ <name>.debug_line</name>\r
+ <load_address>0xd57</load_address>\r
+ <run_address>0xd57</run_address>\r
+ <size>0xad</size>\r
+ <input_file_ref idref="fl-18"/>\r
+ </object_component>\r
+ <object_component id="oc-7f">\r
+ <name>.debug_line</name>\r
+ <load_address>0xe04</load_address>\r
+ <run_address>0xe04</run_address>\r
+ <size>0x5b</size>\r
+ <input_file_ref idref="fl-1b"/>\r
+ </object_component>\r
+ <object_component id="oc-83">\r
+ <name>.debug_line</name>\r
+ <load_address>0xe5f</load_address>\r
+ <run_address>0xe5f</run_address>\r
+ <size>0x44</size>\r
+ <input_file_ref idref="fl-1c"/>\r
+ </object_component>\r
+ <object_component id="oc-87">\r
+ <name>.debug_line</name>\r
+ <load_address>0xea3</load_address>\r
+ <run_address>0xea3</run_address>\r
+ <size>0x3d</size>\r
+ <input_file_ref idref="fl-1d"/>\r
+ </object_component>\r
+ <object_component id="oc-8b">\r
+ <name>.debug_line</name>\r
+ <load_address>0xee0</load_address>\r
+ <run_address>0xee0</run_address>\r
+ <size>0x3d</size>\r
+ <input_file_ref idref="fl-1e"/>\r
+ </object_component>\r
+ <object_component id="oc-90">\r
+ <name>.debug_line</name>\r
+ <load_address>0xf1d</load_address>\r
+ <run_address>0xf1d</run_address>\r
+ <size>0x44</size>\r
+ <input_file_ref idref="fl-1f"/>\r
+ </object_component>\r
+ <object_component id="oc-94">\r
+ <name>.debug_line</name>\r
+ <load_address>0xf61</load_address>\r
+ <run_address>0xf61</run_address>\r
+ <size>0x56</size>\r
+ <input_file_ref idref="fl-20"/>\r
+ </object_component>\r
+ <object_component id="oc-99">\r
+ <name>.debug_line</name>\r
+ <load_address>0xfb7</load_address>\r
+ <run_address>0xfb7</run_address>\r
+ <size>0xa8</size>\r
+ <input_file_ref idref="fl-21"/>\r
+ </object_component>\r
+ <object_component id="oc-9d">\r
+ <name>.debug_line</name>\r
+ <load_address>0x105f</load_address>\r
+ <run_address>0x105f</run_address>\r
+ <size>0x40</size>\r
+ <input_file_ref idref="fl-22"/>\r
+ </object_component>\r
+ <object_component id="oc-a1">\r
+ <name>.debug_line</name>\r
+ <load_address>0x109f</load_address>\r
+ <run_address>0x109f</run_address>\r
+ <size>0x38</size>\r
+ <input_file_ref idref="fl-23"/>\r
+ </object_component>\r
+ <object_component id="oc-a5">\r
+ <name>.debug_line</name>\r
+ <load_address>0x10d7</load_address>\r
+ <run_address>0x10d7</run_address>\r
+ <size>0xa8</size>\r
+ <input_file_ref idref="fl-24"/>\r
+ </object_component>\r
+ <object_component id="oc-a9">\r
+ <name>.debug_line</name>\r
+ <load_address>0x117f</load_address>\r
+ <run_address>0x117f</run_address>\r
+ <size>0x3c</size>\r
+ <input_file_ref idref="fl-25"/>\r
+ </object_component>\r
+ <object_component id="oc-af">\r
+ <name>.debug_line</name>\r
+ <load_address>0x11bb</load_address>\r
+ <run_address>0x11bb</run_address>\r
+ <size>0x1b0</size>\r
+ <input_file_ref idref="fl-26"/>\r
+ </object_component>\r
+ <object_component id="oc-b3">\r
+ <name>.debug_line</name>\r
+ <load_address>0x136b</load_address>\r
+ <run_address>0x136b</run_address>\r
+ <size>0x40</size>\r
+ <input_file_ref idref="fl-27"/>\r
+ </object_component>\r
+ <object_component id="oc-b7">\r
+ <name>.debug_line</name>\r
+ <load_address>0x13ab</load_address>\r
+ <run_address>0x13ab</run_address>\r
+ <size>0x3c</size>\r
+ <input_file_ref idref="fl-28"/>\r
+ </object_component>\r
+ <object_component id="oc-bb">\r
+ <name>.debug_line</name>\r
+ <load_address>0x13e7</load_address>\r
+ <run_address>0x13e7</run_address>\r
+ <size>0x4d</size>\r
+ <input_file_ref idref="fl-29"/>\r
+ </object_component>\r
+ <object_component id="oc-bf">\r
+ <name>.debug_line</name>\r
+ <load_address>0x1434</load_address>\r
+ <run_address>0x1434</run_address>\r
+ <size>0x3c</size>\r
+ <input_file_ref idref="fl-2a"/>\r
+ </object_component>\r
+ <object_component id="oc-c3">\r
+ <name>.debug_line</name>\r
+ <load_address>0x1470</load_address>\r
+ <run_address>0x1470</run_address>\r
+ <size>0x37</size>\r
+ <input_file_ref idref="fl-2b"/>\r
+ </object_component>\r
+ <object_component id="oc-c7">\r
+ <name>.debug_line</name>\r
+ <load_address>0x14a7</load_address>\r
+ <run_address>0x14a7</run_address>\r
+ <size>0x37</size>\r
+ <input_file_ref idref="fl-2c"/>\r
+ </object_component>\r
+ <object_component id="oc-cc">\r
+ <name>.debug_line</name>\r
+ <load_address>0x14de</load_address>\r
+ <run_address>0x14de</run_address>\r
+ <size>0x15d</size>\r
+ <input_file_ref idref="fl-2d"/>\r
+ </object_component>\r
+ <object_component id="oc-d2">\r
+ <name>.debug_line</name>\r
+ <load_address>0x163b</load_address>\r
+ <run_address>0x163b</run_address>\r
+ <size>0x6a</size>\r
+ <input_file_ref idref="fl-2e"/>\r
+ </object_component>\r
+ <object_component id="oc-d6">\r
+ <name>.debug_line</name>\r
+ <load_address>0x16a5</load_address>\r
+ <run_address>0x16a5</run_address>\r
+ <size>0x58</size>\r
+ <input_file_ref idref="fl-2f"/>\r
+ </object_component>\r
+ <object_component id="oc-da">\r
+ <name>.debug_line</name>\r
+ <load_address>0x16fd</load_address>\r
+ <run_address>0x16fd</run_address>\r
+ <size>0x57</size>\r
+ <input_file_ref idref="fl-30"/>\r
+ </object_component>\r
+ <object_component id="oc-de">\r
+ <name>.debug_line</name>\r
+ <load_address>0x1754</load_address>\r
+ <run_address>0x1754</run_address>\r
+ <size>0x5c</size>\r
+ <input_file_ref idref="fl-31"/>\r
+ </object_component>\r
+ <object_component id="oc-e2">\r
+ <name>.debug_line</name>\r
+ <load_address>0x17b0</load_address>\r
+ <run_address>0x17b0</run_address>\r
+ <size>0x3c</size>\r
+ <input_file_ref idref="fl-32"/>\r
+ </object_component>\r
+ <object_component id="oc-e6">\r
+ <name>.debug_line</name>\r
+ <load_address>0x17ec</load_address>\r
+ <run_address>0x17ec</run_address>\r
+ <size>0x5b</size>\r
+ <input_file_ref idref="fl-33"/>\r
+ </object_component>\r
+ <object_component id="oc-ea">\r
+ <name>.debug_line</name>\r
+ <load_address>0x1847</load_address>\r
+ <run_address>0x1847</run_address>\r
+ <size>0x3a</size>\r
+ <input_file_ref idref="fl-34"/>\r
+ </object_component>\r
+ <object_component id="oc-ee">\r
+ <name>.debug_line</name>\r
+ <load_address>0x1881</load_address>\r
+ <run_address>0x1881</run_address>\r
+ <size>0x3c</size>\r
+ <input_file_ref idref="fl-35"/>\r
+ </object_component>\r
+ <object_component id="oc-f2">\r
+ <name>.debug_line</name>\r
+ <load_address>0x18bd</load_address>\r
+ <run_address>0x18bd</run_address>\r
+ <size>0x3f</size>\r
+ <input_file_ref idref="fl-36"/>\r
+ </object_component>\r
+ <object_component id="oc-f8">\r
+ <name>.debug_line</name>\r
+ <load_address>0x18fc</load_address>\r
+ <run_address>0x18fc</run_address>\r
+ <size>0xd7</size>\r
+ <input_file_ref idref="fl-37"/>\r
+ </object_component>\r
+ <object_component id="oc-ff">\r
+ <name>.debug_line</name>\r
+ <load_address>0x19d3</load_address>\r
+ <run_address>0x19d3</run_address>\r
+ <size>0x112</size>\r
+ <input_file_ref idref="fl-38"/>\r
+ </object_component>\r
+ <object_component id="oc-103">\r
+ <name>.debug_line</name>\r
+ <load_address>0x1ae5</load_address>\r
+ <run_address>0x1ae5</run_address>\r
+ <size>0x3d</size>\r
+ <input_file_ref idref="fl-39"/>\r
+ </object_component>\r
+ <object_component id="oc-107">\r
+ <name>.debug_line</name>\r
+ <load_address>0x1b22</load_address>\r
+ <run_address>0x1b22</run_address>\r
+ <size>0x39</size>\r
+ <input_file_ref idref="fl-3a"/>\r
+ </object_component>\r
+ <object_component id="oc-10c">\r
+ <name>.debug_line</name>\r
+ <load_address>0x1b5b</load_address>\r
+ <run_address>0x1b5b</run_address>\r
+ <size>0xcfc</size>\r
+ <input_file_ref idref="fl-3b"/>\r
+ </object_component>\r
+ <object_component id="oc-113">\r
+ <name>.debug_line</name>\r
+ <load_address>0x2857</load_address>\r
+ <run_address>0x2857</run_address>\r
+ <size>0x44a</size>\r
+ <input_file_ref idref="fl-3c"/>\r
+ </object_component>\r
+ <object_component id="oc-119">\r
+ <name>.debug_line</name>\r
+ <load_address>0x2ca1</load_address>\r
+ <run_address>0x2ca1</run_address>\r
+ <size>0x2e9</size>\r
+ <input_file_ref idref="fl-3d"/>\r
+ </object_component>\r
+ <object_component id="oc-11d">\r
+ <name>.debug_line</name>\r
+ <load_address>0x2f8a</load_address>\r
+ <run_address>0x2f8a</run_address>\r
+ <size>0x97</size>\r
+ <input_file_ref idref="fl-3e"/>\r
+ </object_component>\r
+ <object_component id="oc-122">\r
+ <name>.debug_line</name>\r
+ <load_address>0x3021</load_address>\r
+ <run_address>0x3021</run_address>\r
+ <size>0x1ea</size>\r
+ <input_file_ref idref="fl-3f"/>\r
+ </object_component>\r
+ <object_component id="oc-128">\r
+ <name>.debug_line</name>\r
+ <load_address>0x320b</load_address>\r
+ <run_address>0x320b</run_address>\r
+ <size>0x1b0</size>\r
+ <input_file_ref idref="fl-40"/>\r
+ </object_component>\r
+ <object_component id="oc-12d">\r
+ <name>.debug_line</name>\r
+ <load_address>0x33bb</load_address>\r
+ <run_address>0x33bb</run_address>\r
+ <size>0x93</size>\r
+ <input_file_ref idref="fl-41"/>\r
+ </object_component>\r
+ <object_component id="oc-1f">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x0</load_address>\r
+ <run_address>0x0</run_address>\r
+ <size>0x2c</size>\r
+ <input_file_ref idref="fl-2"/>\r
+ </object_component>\r
+ <object_component id="oc-31">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x2c</load_address>\r
+ <run_address>0x2c</run_address>\r
+ <size>0x239</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-35">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x265</load_address>\r
+ <run_address>0x265</run_address>\r
+ <size>0x2c</size>\r
+ <input_file_ref idref="fl-4"/>\r
+ </object_component>\r
+ <object_component id="oc-39">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x291</load_address>\r
+ <run_address>0x291</run_address>\r
+ <size>0x2c</size>\r
+ <input_file_ref idref="fl-5"/>\r
+ </object_component>\r
+ <object_component id="oc-3e">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x2bd</load_address>\r
+ <run_address>0x2bd</run_address>\r
+ <size>0x174</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-42">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x431</load_address>\r
+ <run_address>0x431</run_address>\r
+ <size>0x3a</size>\r
+ <input_file_ref idref="fl-d"/>\r
+ </object_component>\r
+ <object_component id="oc-49">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x46b</load_address>\r
+ <run_address>0x46b</run_address>\r
+ <size>0xf7</size>\r
+ <input_file_ref idref="fl-e"/>\r
+ </object_component>\r
+ <object_component id="oc-4d">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x562</load_address>\r
+ <run_address>0x562</run_address>\r
+ <size>0x145</size>\r
+ <input_file_ref idref="fl-f"/>\r
+ </object_component>\r
+ <object_component id="oc-51">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x6a7</load_address>\r
+ <run_address>0x6a7</run_address>\r
+ <size>0xa6</size>\r
+ <input_file_ref idref="fl-10"/>\r
+ </object_component>\r
+ <object_component id="oc-55">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x74d</load_address>\r
+ <run_address>0x74d</run_address>\r
+ <size>0xb5</size>\r
+ <input_file_ref idref="fl-11"/>\r
+ </object_component>\r
+ <object_component id="oc-5a">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x802</load_address>\r
+ <run_address>0x802</run_address>\r
+ <size>0x26</size>\r
+ <input_file_ref idref="fl-12"/>\r
+ </object_component>\r
+ <object_component id="oc-60">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x828</load_address>\r
+ <run_address>0x828</run_address>\r
+ <size>0x9f</size>\r
+ <input_file_ref idref="fl-13"/>\r
+ </object_component>\r
+ <object_component id="oc-66">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x8c7</load_address>\r
+ <run_address>0x8c7</run_address>\r
+ <size>0x1f8</size>\r
+ <input_file_ref idref="fl-14"/>\r
+ </object_component>\r
+ <object_component id="oc-6a">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0xabf</load_address>\r
+ <run_address>0xabf</run_address>\r
+ <size>0xec</size>\r
+ <input_file_ref idref="fl-15"/>\r
+ </object_component>\r
+ <object_component id="oc-6e">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0xbab</load_address>\r
+ <run_address>0xbab</run_address>\r
+ <size>0xd5</size>\r
+ <input_file_ref idref="fl-16"/>\r
+ </object_component>\r
+ <object_component id="oc-72">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0xc80</load_address>\r
+ <run_address>0xc80</run_address>\r
+ <size>0x44</size>\r
+ <input_file_ref idref="fl-17"/>\r
+ </object_component>\r
+ <object_component id="oc-76">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0xcc4</load_address>\r
+ <run_address>0xcc4</run_address>\r
+ <size>0xb7</size>\r
+ <input_file_ref idref="fl-18"/>\r
+ </object_component>\r
+ <object_component id="oc-78">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0xd7b</load_address>\r
+ <run_address>0xd7b</run_address>\r
+ <size>0x68</size>\r
+ <input_file_ref idref="fl-19"/>\r
+ </object_component>\r
+ <object_component id="oc-7c">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0xde3</load_address>\r
+ <run_address>0xde3</run_address>\r
+ <size>0x83</size>\r
+ <input_file_ref idref="fl-1a"/>\r
+ </object_component>\r
+ <object_component id="oc-80">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0xe66</load_address>\r
+ <run_address>0xe66</run_address>\r
+ <size>0x112</size>\r
+ <input_file_ref idref="fl-1b"/>\r
+ </object_component>\r
+ <object_component id="oc-84">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0xf78</load_address>\r
+ <run_address>0xf78</run_address>\r
+ <size>0xb5</size>\r
+ <input_file_ref idref="fl-1c"/>\r
+ </object_component>\r
+ <object_component id="oc-88">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x102d</load_address>\r
+ <run_address>0x102d</run_address>\r
+ <size>0x8f</size>\r
+ <input_file_ref idref="fl-1d"/>\r
+ </object_component>\r
+ <object_component id="oc-8c">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x10bc</load_address>\r
+ <run_address>0x10bc</run_address>\r
+ <size>0xb7</size>\r
+ <input_file_ref idref="fl-1e"/>\r
+ </object_component>\r
+ <object_component id="oc-91">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1173</load_address>\r
+ <run_address>0x1173</run_address>\r
+ <size>0xc2</size>\r
+ <input_file_ref idref="fl-1f"/>\r
+ </object_component>\r
+ <object_component id="oc-95">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1235</load_address>\r
+ <run_address>0x1235</run_address>\r
+ <size>0x103</size>\r
+ <input_file_ref idref="fl-20"/>\r
+ </object_component>\r
+ <object_component id="oc-9a">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1338</load_address>\r
+ <run_address>0x1338</run_address>\r
+ <size>0x140</size>\r
+ <input_file_ref idref="fl-21"/>\r
+ </object_component>\r
+ <object_component id="oc-9e">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1478</load_address>\r
+ <run_address>0x1478</run_address>\r
+ <size>0x9a</size>\r
+ <input_file_ref idref="fl-22"/>\r
+ </object_component>\r
+ <object_component id="oc-a2">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1512</load_address>\r
+ <run_address>0x1512</run_address>\r
+ <size>0xd0</size>\r
+ <input_file_ref idref="fl-23"/>\r
+ </object_component>\r
+ <object_component id="oc-a6">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x15e2</load_address>\r
+ <run_address>0x15e2</run_address>\r
+ <size>0xb7</size>\r
+ <input_file_ref idref="fl-24"/>\r
+ </object_component>\r
+ <object_component id="oc-aa">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1699</load_address>\r
+ <run_address>0x1699</run_address>\r
+ <size>0x38</size>\r
+ <input_file_ref idref="fl-25"/>\r
+ </object_component>\r
+ <object_component id="oc-b0">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x16d1</load_address>\r
+ <run_address>0x16d1</run_address>\r
+ <size>0x225</size>\r
+ <input_file_ref idref="fl-26"/>\r
+ </object_component>\r
+ <object_component id="oc-b4">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x18f6</load_address>\r
+ <run_address>0x18f6</run_address>\r
+ <size>0xec</size>\r
+ <input_file_ref idref="fl-27"/>\r
+ </object_component>\r
+ <object_component id="oc-b8">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x19e2</load_address>\r
+ <run_address>0x19e2</run_address>\r
+ <size>0xb7</size>\r
+ <input_file_ref idref="fl-28"/>\r
+ </object_component>\r
+ <object_component id="oc-bc">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1a99</load_address>\r
+ <run_address>0x1a99</run_address>\r
+ <size>0x38</size>\r
+ <input_file_ref idref="fl-29"/>\r
+ </object_component>\r
+ <object_component id="oc-c0">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1ad1</load_address>\r
+ <run_address>0x1ad1</run_address>\r
+ <size>0xdc</size>\r
+ <input_file_ref idref="fl-2a"/>\r
+ </object_component>\r
+ <object_component id="oc-c4">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1bad</load_address>\r
+ <run_address>0x1bad</run_address>\r
+ <size>0x81</size>\r
+ <input_file_ref idref="fl-2b"/>\r
+ </object_component>\r
+ <object_component id="oc-c8">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1c2e</load_address>\r
+ <run_address>0x1c2e</run_address>\r
+ <size>0x8f</size>\r
+ <input_file_ref idref="fl-2c"/>\r
+ </object_component>\r
+ <object_component id="oc-cd">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1cbd</load_address>\r
+ <run_address>0x1cbd</run_address>\r
+ <size>0x15a</size>\r
+ <input_file_ref idref="fl-2d"/>\r
+ </object_component>\r
+ <object_component id="oc-d3">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1e17</load_address>\r
+ <run_address>0x1e17</run_address>\r
+ <size>0xde</size>\r
+ <input_file_ref idref="fl-2e"/>\r
+ </object_component>\r
+ <object_component id="oc-d7">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1ef5</load_address>\r
+ <run_address>0x1ef5</run_address>\r
+ <size>0x38</size>\r
+ <input_file_ref idref="fl-2f"/>\r
+ </object_component>\r
+ <object_component id="oc-db">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1f2d</load_address>\r
+ <run_address>0x1f2d</run_address>\r
+ <size>0xd1</size>\r
+ <input_file_ref idref="fl-30"/>\r
+ </object_component>\r
+ <object_component id="oc-df">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x1ffe</load_address>\r
+ <run_address>0x1ffe</run_address>\r
+ <size>0xd4</size>\r
+ <input_file_ref idref="fl-31"/>\r
+ </object_component>\r
+ <object_component id="oc-e3">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x20d2</load_address>\r
+ <run_address>0x20d2</run_address>\r
+ <size>0xa6</size>\r
+ <input_file_ref idref="fl-32"/>\r
+ </object_component>\r
+ <object_component id="oc-e7">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x2178</load_address>\r
+ <run_address>0x2178</run_address>\r
+ <size>0x136</size>\r
+ <input_file_ref idref="fl-33"/>\r
+ </object_component>\r
+ <object_component id="oc-eb">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x22ae</load_address>\r
+ <run_address>0x22ae</run_address>\r
+ <size>0x81</size>\r
+ <input_file_ref idref="fl-34"/>\r
+ </object_component>\r
+ <object_component id="oc-ef">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x232f</load_address>\r
+ <run_address>0x232f</run_address>\r
+ <size>0xd1</size>\r
+ <input_file_ref idref="fl-35"/>\r
+ </object_component>\r
+ <object_component id="oc-f3">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x2400</load_address>\r
+ <run_address>0x2400</run_address>\r
+ <size>0x10b</size>\r
+ <input_file_ref idref="fl-36"/>\r
+ </object_component>\r
+ <object_component id="oc-f9">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x250b</load_address>\r
+ <run_address>0x250b</run_address>\r
+ <size>0x1a2</size>\r
+ <input_file_ref idref="fl-37"/>\r
+ </object_component>\r
+ <object_component id="oc-100">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x26ad</load_address>\r
+ <run_address>0x26ad</run_address>\r
+ <size>0x1de</size>\r
+ <input_file_ref idref="fl-38"/>\r
+ </object_component>\r
+ <object_component id="oc-104">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x288b</load_address>\r
+ <run_address>0x288b</run_address>\r
+ <size>0x118</size>\r
+ <input_file_ref idref="fl-39"/>\r
+ </object_component>\r
+ <object_component id="oc-108">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x29a3</load_address>\r
+ <run_address>0x29a3</run_address>\r
+ <size>0xbf</size>\r
+ <input_file_ref idref="fl-3a"/>\r
+ </object_component>\r
+ <object_component id="oc-10d">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x2a62</load_address>\r
+ <run_address>0x2a62</run_address>\r
+ <size>0x131</size>\r
+ <input_file_ref idref="fl-3b"/>\r
+ </object_component>\r
+ <object_component id="oc-114">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x2b93</load_address>\r
+ <run_address>0x2b93</run_address>\r
+ <size>0x18d</size>\r
+ <input_file_ref idref="fl-3c"/>\r
+ </object_component>\r
+ <object_component id="oc-11a">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x2d20</load_address>\r
+ <run_address>0x2d20</run_address>\r
+ <size>0x177</size>\r
+ <input_file_ref idref="fl-3d"/>\r
+ </object_component>\r
+ <object_component id="oc-11e">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x2e97</load_address>\r
+ <run_address>0x2e97</run_address>\r
+ <size>0x3a</size>\r
+ <input_file_ref idref="fl-3e"/>\r
+ </object_component>\r
+ <object_component id="oc-123">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x2ed1</load_address>\r
+ <run_address>0x2ed1</run_address>\r
+ <size>0x16f</size>\r
+ <input_file_ref idref="fl-3f"/>\r
+ </object_component>\r
+ <object_component id="oc-129">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x3040</load_address>\r
+ <run_address>0x3040</run_address>\r
+ <size>0x122</size>\r
+ <input_file_ref idref="fl-40"/>\r
+ </object_component>\r
+ <object_component id="oc-12e">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x3162</load_address>\r
+ <run_address>0x3162</run_address>\r
+ <size>0x20</size>\r
+ <input_file_ref idref="fl-41"/>\r
+ </object_component>\r
+ <object_component id="oc-16d">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x3182</load_address>\r
+ <run_address>0x3182</run_address>\r
+ <size>0xd</size>\r
+ </object_component>\r
+ <object_component id="oc-2f">\r
+ <name>.debug_frame</name>\r
+ <load_address>0x0</load_address>\r
+ <run_address>0x0</run_address>\r
+ <size>0x1c7</size>\r
+ <input_file_ref idref="fl-3"/>\r
+ </object_component>\r
+ <object_component id="oc-3c">\r
+ <name>.debug_frame</name>\r
+ <load_address>0x1c7</load_address>\r
+ <run_address>0x1c7</run_address>\r
+ <size>0x103</size>\r
+ <input_file_ref idref="fl-6"/>\r
+ </object_component>\r
+ <object_component id="oc-10b">\r
+ <name>.debug_frame</name>\r
+ <load_address>0x2ca</load_address>\r
+ <run_address>0x2ca</run_address>\r
+ <size>0x1e6</size>\r
+ <input_file_ref idref="fl-3b"/>\r
+ </object_component>\r
+ <object_component id="oc-112">\r
+ <name>.debug_frame</name>\r
+ <load_address>0x4b0</load_address>\r
+ <run_address>0x4b0</run_address>\r
+ <size>0x196</size>\r
+ <input_file_ref idref="fl-3c"/>\r
+ </object_component>\r
+ <object_component id="oc-118">\r
+ <name>.debug_frame</name>\r
+ <load_address>0x646</load_address>\r
+ <run_address>0x646</run_address>\r
+ <size>0x2a1</size>\r
+ <input_file_ref idref="fl-3d"/>\r
+ </object_component>\r
+ <object_component id="oc-121">\r
+ <name>.debug_frame</name>\r
+ <load_address>0x8e7</load_address>\r
+ <run_address>0x8e7</run_address>\r
+ <size>0x192</size>\r
+ <input_file_ref idref="fl-3f"/>\r
+ </object_component>\r
+ <object_component id="oc-127">\r
+ <name>.debug_frame</name>\r
+ <load_address>0xa79</load_address>\r
+ <run_address>0xa79</run_address>\r
+ <size>0x11f</size>\r
+ <input_file_ref idref="fl-40"/>\r
+ </object_component>\r
+ </object_component_list>\r
+ <logical_group_list>\r
+ <logical_group id="lg-2">\r
+ <name>.vectors_rts</name>\r
+ <load_address>0x25100</load_address>\r
+ <run_address>0x25100</run_address>\r
+ <size>0x100</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-57"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-4">\r
+ <name>.vectors_csl</name>\r
+ <load_address>0x25000</load_address>\r
+ <run_address>0x25000</run_address>\r
+ <size>0x100</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-12b"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-6">\r
+ <name>.text</name>\r
+ <load_address>0x18496</load_address>\r
+ <run_address>0x18496</run_address>\r
+ <size>0x7f57</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-109"/>\r
+ <object_component_ref idref="oc-61"/>\r
+ <object_component_ref idref="oc-10e"/>\r
+ <object_component_ref idref="oc-ab"/>\r
+ <object_component_ref idref="oc-c9"/>\r
+ <object_component_ref idref="oc-115"/>\r
+ <object_component_ref idref="oc-fa"/>\r
+ <object_component_ref idref="oc-7d"/>\r
+ <object_component_ref idref="oc-11f"/>\r
+ <object_component_ref idref="oc-13b"/>\r
+ <object_component_ref idref="oc-f4"/>\r
+ <object_component_ref idref="oc-124"/>\r
+ <object_component_ref idref="oc-a3"/>\r
+ <object_component_ref idref="oc-dc"/>\r
+ <object_component_ref idref="oc-73"/>\r
+ <object_component_ref idref="oc-36"/>\r
+ <object_component_ref idref="oc-96"/>\r
+ <object_component_ref idref="oc-139"/>\r
+ <object_component_ref idref="oc-bd"/>\r
+ <object_component_ref idref="oc-13c"/>\r
+ <object_component_ref idref="oc-f0"/>\r
+ <object_component_ref idref="oc-d8"/>\r
+ <object_component_ref idref="oc-130"/>\r
+ <object_component_ref idref="oc-e4"/>\r
+ <object_component_ref idref="oc-d1"/>\r
+ <object_component_ref idref="oc-92"/>\r
+ <object_component_ref idref="oc-81"/>\r
+ <object_component_ref idref="oc-1c"/>\r
+ <object_component_ref idref="oc-11b"/>\r
+ <object_component_ref idref="oc-b1"/>\r
+ <object_component_ref idref="oc-147"/>\r
+ <object_component_ref idref="oc-101"/>\r
+ <object_component_ref idref="oc-e8"/>\r
+ <object_component_ref idref="oc-9b"/>\r
+ <object_component_ref idref="oc-52"/>\r
+ <object_component_ref idref="oc-137"/>\r
+ <object_component_ref idref="oc-89"/>\r
+ <object_component_ref idref="oc-12a"/>\r
+ <object_component_ref idref="oc-ce"/>\r
+ <object_component_ref idref="oc-2d"/>\r
+ <object_component_ref idref="oc-ec"/>\r
+ <object_component_ref idref="oc-8d"/>\r
+ <object_component_ref idref="oc-6b"/>\r
+ <object_component_ref idref="oc-4a"/>\r
+ <object_component_ref idref="oc-6f"/>\r
+ <object_component_ref idref="oc-67"/>\r
+ <object_component_ref idref="oc-4e"/>\r
+ <object_component_ref idref="oc-e0"/>\r
+ <object_component_ref idref="oc-b9"/>\r
+ <object_component_ref idref="oc-43"/>\r
+ <object_component_ref idref="oc-32"/>\r
+ <object_component_ref idref="oc-138"/>\r
+ <object_component_ref idref="oc-13a"/>\r
+ <object_component_ref idref="oc-1b"/>\r
+ <object_component_ref idref="oc-85"/>\r
+ <object_component_ref idref="oc-d4"/>\r
+ <object_component_ref idref="oc-b5"/>\r
+ <object_component_ref idref="oc-9f"/>\r
+ <object_component_ref idref="oc-c5"/>\r
+ <object_component_ref idref="oc-a7"/>\r
+ <object_component_ref idref="oc-5b"/>\r
+ <object_component_ref idref="oc-c1"/>\r
+ <object_component_ref idref="oc-105"/>\r
+ <object_component_ref idref="oc-47"/>\r
+ <object_component_ref idref="oc-13d"/>\r
+ <object_component_ref idref="oc-56"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-7">\r
+ <name>.switch</name>\r
+ <load_address>0x24eb4</load_address>\r
+ <run_address>0x24eb4</run_address>\r
+ <size>0x104</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-133"/>\r
+ <object_component_ref idref="oc-134"/>\r
+ <object_component_ref idref="oc-135"/>\r
+ <object_component_ref idref="oc-136"/>\r
+ <object_component_ref idref="oc-146"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-8">\r
+ <name>.cinit</name>\r
+ <load_address>0x24d98</load_address>\r
+ <run_address>0x24d98</run_address>\r
+ <size>0x11c</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-ae"/>\r
+ <object_component_ref idref="oc-7b"/>\r
+ <object_component_ref idref="oc-22"/>\r
+ <object_component_ref idref="oc-5e"/>\r
+ <object_component_ref idref="oc-46"/>\r
+ <object_component_ref idref="oc-111"/>\r
+ <object_component_ref idref="oc-f7"/>\r
+ <object_component_ref idref="oc-fd"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-9">\r
+ <name>.pinit</name>\r
+ <run_address>0x0</run_address>\r
+ <size>0x0</size>\r
+ <contents>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-a">\r
+ <name>.data</name>\r
+ <run_address>0x10000</run_address>\r
+ <size>0x0</size>\r
+ <contents>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-b">\r
+ <name>.bss</name>\r
+ <run_address>0x10000</run_address>\r
+ <size>0x8496</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-20"/>\r
+ <object_component_ref idref="oc-3a"/>\r
+ <object_component_ref idref="oc-44"/>\r
+ <object_component_ref idref="oc-5c"/>\r
+ <object_component_ref idref="oc-79"/>\r
+ <object_component_ref idref="oc-ac"/>\r
+ <object_component_ref idref="oc-ca"/>\r
+ <object_component_ref idref="oc-f5"/>\r
+ <object_component_ref idref="oc-fb"/>\r
+ <object_component_ref idref="oc-10f"/>\r
+ <object_component_ref idref="oc-116"/>\r
+ <object_component_ref idref="oc-125"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-c">\r
+ <name>.const</name>\r
+ <load_address>0x23df0</load_address>\r
+ <run_address>0x23df0</run_address>\r
+ <size>0x5e4</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-2e"/>\r
+ <object_component_ref idref="oc-131"/>\r
+ <object_component_ref idref="oc-64"/>\r
+ <object_component_ref idref="oc-63"/>\r
+ <object_component_ref idref="oc-132"/>\r
+ <object_component_ref idref="oc-144"/>\r
+ <object_component_ref idref="oc-145"/>\r
+ <object_component_ref idref="oc-13e"/>\r
+ <object_component_ref idref="oc-13f"/>\r
+ <object_component_ref idref="oc-140"/>\r
+ <object_component_ref idref="oc-141"/>\r
+ <object_component_ref idref="oc-142"/>\r
+ <object_component_ref idref="oc-143"/>\r
+ <object_component_ref idref="oc-98"/>\r
+ <object_component_ref idref="oc-8f"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-d">\r
+ <name>.stack</name>\r
+ <run_address>0x4000</run_address>\r
+ <size>0x400</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-3f"/>\r
+ <object_component_ref idref="oc-168"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-e">\r
+ <name>.sysstack</name>\r
+ <run_address>0x4400</run_address>\r
+ <size>0x400</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-12f"/>\r
+ <object_component_ref idref="oc-16a"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-f">\r
+ <name>.sysmem</name>\r
+ <run_address>0x235f0</run_address>\r
+ <size>0x800</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-fe"/>\r
+ <object_component_ref idref="oc-169"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-10">\r
+ <name>.cio</name>\r
+ <run_address>0x24b58</run_address>\r
+ <size>0x240</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-d0"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-11">\r
+ <name>.fir1Coefs</name>\r
+ <load_address>0x24fb8</load_address>\r
+ <run_address>0x24fb8</run_address>\r
+ <size>0x1e</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-26"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-12">\r
+ <name>.fir2Coefs</name>\r
+ <load_address>0x25200</load_address>\r
+ <run_address>0x25200</run_address>\r
+ <size>0x74</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-29"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-13">\r
+ <name>.fir1DlyBuf</name>\r
+ <run_address>0x48f4</run_address>\r
+ <size>0x48</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-27"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-14">\r
+ <name>.fir2DlyBuf</name>\r
+ <run_address>0x4800</run_address>\r
+ <size>0xf4</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-2a"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-15">\r
+ <name>.i2sDmaReadBufLeft</name>\r
+ <run_address>0x221f0</run_address>\r
+ <size>0xa00</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-23"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-16">\r
+ <name>.i2sDmaReadBufRight</name>\r
+ <run_address>0x22bf0</run_address>\r
+ <size>0xa00</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-24"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-17">\r
+ <name>.cicOutFrame</name>\r
+ <run_address>0x203f0</run_address>\r
+ <size>0x1400</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-25"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-18">\r
+ <name>.fir1OutFrame</name>\r
+ <run_address>0x217f0</run_address>\r
+ <size>0xa00</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-28"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-19">\r
+ <name>.fir2OutFrame</name>\r
+ <run_address>0x243d4</run_address>\r
+ <size>0x500</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-2b"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-1a">\r
+ <name>.digGainOutFrame</name>\r
+ <run_address>0x248d4</run_address>\r
+ <size>0x280</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-2c"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-15f">\r
+ <name>.debug_info</name>\r
+ <load_address>0x0</load_address>\r
+ <run_address>0x0</run_address>\r
+ <size>0x21113</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-1d"/>\r
+ <object_component_ref idref="oc-21"/>\r
+ <object_component_ref idref="oc-33"/>\r
+ <object_component_ref idref="oc-37"/>\r
+ <object_component_ref idref="oc-3b"/>\r
+ <object_component_ref idref="oc-40"/>\r
+ <object_component_ref idref="oc-45"/>\r
+ <object_component_ref idref="oc-4b"/>\r
+ <object_component_ref idref="oc-4f"/>\r
+ <object_component_ref idref="oc-53"/>\r
+ <object_component_ref idref="oc-58"/>\r
+ <object_component_ref idref="oc-5d"/>\r
+ <object_component_ref idref="oc-62"/>\r
+ <object_component_ref idref="oc-68"/>\r
+ <object_component_ref idref="oc-6c"/>\r
+ <object_component_ref idref="oc-70"/>\r
+ <object_component_ref idref="oc-74"/>\r
+ <object_component_ref idref="oc-77"/>\r
+ <object_component_ref idref="oc-7a"/>\r
+ <object_component_ref idref="oc-7e"/>\r
+ <object_component_ref idref="oc-82"/>\r
+ <object_component_ref idref="oc-86"/>\r
+ <object_component_ref idref="oc-8a"/>\r
+ <object_component_ref idref="oc-8e"/>\r
+ <object_component_ref idref="oc-93"/>\r
+ <object_component_ref idref="oc-97"/>\r
+ <object_component_ref idref="oc-9c"/>\r
+ <object_component_ref idref="oc-a0"/>\r
+ <object_component_ref idref="oc-a4"/>\r
+ <object_component_ref idref="oc-a8"/>\r
+ <object_component_ref idref="oc-ad"/>\r
+ <object_component_ref idref="oc-b2"/>\r
+ <object_component_ref idref="oc-b6"/>\r
+ <object_component_ref idref="oc-ba"/>\r
+ <object_component_ref idref="oc-be"/>\r
+ <object_component_ref idref="oc-c2"/>\r
+ <object_component_ref idref="oc-c6"/>\r
+ <object_component_ref idref="oc-cb"/>\r
+ <object_component_ref idref="oc-cf"/>\r
+ <object_component_ref idref="oc-d5"/>\r
+ <object_component_ref idref="oc-d9"/>\r
+ <object_component_ref idref="oc-dd"/>\r
+ <object_component_ref idref="oc-e1"/>\r
+ <object_component_ref idref="oc-e5"/>\r
+ <object_component_ref idref="oc-e9"/>\r
+ <object_component_ref idref="oc-ed"/>\r
+ <object_component_ref idref="oc-f1"/>\r
+ <object_component_ref idref="oc-f6"/>\r
+ <object_component_ref idref="oc-fc"/>\r
+ <object_component_ref idref="oc-102"/>\r
+ <object_component_ref idref="oc-106"/>\r
+ <object_component_ref idref="oc-10a"/>\r
+ <object_component_ref idref="oc-110"/>\r
+ <object_component_ref idref="oc-117"/>\r
+ <object_component_ref idref="oc-11c"/>\r
+ <object_component_ref idref="oc-120"/>\r
+ <object_component_ref idref="oc-126"/>\r
+ <object_component_ref idref="oc-12c"/>\r
+ <object_component_ref idref="oc-16c"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-161">\r
+ <name>.debug_line</name>\r
+ <load_address>0x0</load_address>\r
+ <run_address>0x0</run_address>\r
+ <size>0x344e</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-1e"/>\r
+ <object_component_ref idref="oc-30"/>\r
+ <object_component_ref idref="oc-34"/>\r
+ <object_component_ref idref="oc-38"/>\r
+ <object_component_ref idref="oc-3d"/>\r
+ <object_component_ref idref="oc-41"/>\r
+ <object_component_ref idref="oc-48"/>\r
+ <object_component_ref idref="oc-4c"/>\r
+ <object_component_ref idref="oc-50"/>\r
+ <object_component_ref idref="oc-54"/>\r
+ <object_component_ref idref="oc-59"/>\r
+ <object_component_ref idref="oc-5f"/>\r
+ <object_component_ref idref="oc-65"/>\r
+ <object_component_ref idref="oc-69"/>\r
+ <object_component_ref idref="oc-6d"/>\r
+ <object_component_ref idref="oc-71"/>\r
+ <object_component_ref idref="oc-75"/>\r
+ <object_component_ref idref="oc-7f"/>\r
+ <object_component_ref idref="oc-83"/>\r
+ <object_component_ref idref="oc-87"/>\r
+ <object_component_ref idref="oc-8b"/>\r
+ <object_component_ref idref="oc-90"/>\r
+ <object_component_ref idref="oc-94"/>\r
+ <object_component_ref idref="oc-99"/>\r
+ <object_component_ref idref="oc-9d"/>\r
+ <object_component_ref idref="oc-a1"/>\r
+ <object_component_ref idref="oc-a5"/>\r
+ <object_component_ref idref="oc-a9"/>\r
+ <object_component_ref idref="oc-af"/>\r
+ <object_component_ref idref="oc-b3"/>\r
+ <object_component_ref idref="oc-b7"/>\r
+ <object_component_ref idref="oc-bb"/>\r
+ <object_component_ref idref="oc-bf"/>\r
+ <object_component_ref idref="oc-c3"/>\r
+ <object_component_ref idref="oc-c7"/>\r
+ <object_component_ref idref="oc-cc"/>\r
+ <object_component_ref idref="oc-d2"/>\r
+ <object_component_ref idref="oc-d6"/>\r
+ <object_component_ref idref="oc-da"/>\r
+ <object_component_ref idref="oc-de"/>\r
+ <object_component_ref idref="oc-e2"/>\r
+ <object_component_ref idref="oc-e6"/>\r
+ <object_component_ref idref="oc-ea"/>\r
+ <object_component_ref idref="oc-ee"/>\r
+ <object_component_ref idref="oc-f2"/>\r
+ <object_component_ref idref="oc-f8"/>\r
+ <object_component_ref idref="oc-ff"/>\r
+ <object_component_ref idref="oc-103"/>\r
+ <object_component_ref idref="oc-107"/>\r
+ <object_component_ref idref="oc-10c"/>\r
+ <object_component_ref idref="oc-113"/>\r
+ <object_component_ref idref="oc-119"/>\r
+ <object_component_ref idref="oc-11d"/>\r
+ <object_component_ref idref="oc-122"/>\r
+ <object_component_ref idref="oc-128"/>\r
+ <object_component_ref idref="oc-12d"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-163">\r
+ <name>.debug_abbrev</name>\r
+ <load_address>0x0</load_address>\r
+ <run_address>0x0</run_address>\r
+ <size>0x318f</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-1f"/>\r
+ <object_component_ref idref="oc-31"/>\r
+ <object_component_ref idref="oc-35"/>\r
+ <object_component_ref idref="oc-39"/>\r
+ <object_component_ref idref="oc-3e"/>\r
+ <object_component_ref idref="oc-42"/>\r
+ <object_component_ref idref="oc-49"/>\r
+ <object_component_ref idref="oc-4d"/>\r
+ <object_component_ref idref="oc-51"/>\r
+ <object_component_ref idref="oc-55"/>\r
+ <object_component_ref idref="oc-5a"/>\r
+ <object_component_ref idref="oc-60"/>\r
+ <object_component_ref idref="oc-66"/>\r
+ <object_component_ref idref="oc-6a"/>\r
+ <object_component_ref idref="oc-6e"/>\r
+ <object_component_ref idref="oc-72"/>\r
+ <object_component_ref idref="oc-76"/>\r
+ <object_component_ref idref="oc-78"/>\r
+ <object_component_ref idref="oc-7c"/>\r
+ <object_component_ref idref="oc-80"/>\r
+ <object_component_ref idref="oc-84"/>\r
+ <object_component_ref idref="oc-88"/>\r
+ <object_component_ref idref="oc-8c"/>\r
+ <object_component_ref idref="oc-91"/>\r
+ <object_component_ref idref="oc-95"/>\r
+ <object_component_ref idref="oc-9a"/>\r
+ <object_component_ref idref="oc-9e"/>\r
+ <object_component_ref idref="oc-a2"/>\r
+ <object_component_ref idref="oc-a6"/>\r
+ <object_component_ref idref="oc-aa"/>\r
+ <object_component_ref idref="oc-b0"/>\r
+ <object_component_ref idref="oc-b4"/>\r
+ <object_component_ref idref="oc-b8"/>\r
+ <object_component_ref idref="oc-bc"/>\r
+ <object_component_ref idref="oc-c0"/>\r
+ <object_component_ref idref="oc-c4"/>\r
+ <object_component_ref idref="oc-c8"/>\r
+ <object_component_ref idref="oc-cd"/>\r
+ <object_component_ref idref="oc-d3"/>\r
+ <object_component_ref idref="oc-d7"/>\r
+ <object_component_ref idref="oc-db"/>\r
+ <object_component_ref idref="oc-df"/>\r
+ <object_component_ref idref="oc-e3"/>\r
+ <object_component_ref idref="oc-e7"/>\r
+ <object_component_ref idref="oc-eb"/>\r
+ <object_component_ref idref="oc-ef"/>\r
+ <object_component_ref idref="oc-f3"/>\r
+ <object_component_ref idref="oc-f9"/>\r
+ <object_component_ref idref="oc-100"/>\r
+ <object_component_ref idref="oc-104"/>\r
+ <object_component_ref idref="oc-108"/>\r
+ <object_component_ref idref="oc-10d"/>\r
+ <object_component_ref idref="oc-114"/>\r
+ <object_component_ref idref="oc-11a"/>\r
+ <object_component_ref idref="oc-11e"/>\r
+ <object_component_ref idref="oc-123"/>\r
+ <object_component_ref idref="oc-129"/>\r
+ <object_component_ref idref="oc-12e"/>\r
+ <object_component_ref idref="oc-16d"/>\r
+ </contents>\r
+ </logical_group>\r
+ <logical_group id="lg-165">\r
+ <name>.debug_frame</name>\r
+ <load_address>0x0</load_address>\r
+ <run_address>0x0</run_address>\r
+ <size>0xb98</size>\r
+ <contents>\r
+ <object_component_ref idref="oc-2f"/>\r
+ <object_component_ref idref="oc-3c"/>\r
+ <object_component_ref idref="oc-10b"/>\r
+ <object_component_ref idref="oc-112"/>\r
+ <object_component_ref idref="oc-118"/>\r
+ <object_component_ref idref="oc-121"/>\r
+ <object_component_ref idref="oc-127"/>\r
+ </contents>\r
+ </logical_group>\r
+ </logical_group_list>\r
+ <placement_map>\r
+ <memory_area>\r
+ <name>MMR</name>\r
+ <page_id>0x0</page_id>\r
+ <origin>0x0</origin>\r
+ <length>0xc0</length>\r
+ <used_space>0x0</used_space>\r
+ <unused_space>0xc0</unused_space>\r
+ <attributes>RW</attributes>\r
+ <usage_details>\r
+ </usage_details>\r
+ </memory_area>\r
+ <memory_area>\r
+ <name>DARAM_0</name>\r
+ <page_id>0x0</page_id>\r
+ <origin>0xc0</origin>\r
+ <length>0x1f40</length>\r
+ <used_space>0x0</used_space>\r
+ <unused_space>0x1f40</unused_space>\r
+ <attributes>RW</attributes>\r
+ <usage_details>\r
+ </usage_details>\r
+ </memory_area>\r
+ <memory_area>\r
+ <name>DARAM_1</name>\r
+ <page_id>0x0</page_id>\r
+ <origin>0x2000</origin>\r
+ <length>0x2000</length>\r
+ <used_space>0x0</used_space>\r
+ <unused_space>0x2000</unused_space>\r
+ <attributes>RW</attributes>\r
+ <usage_details>\r
+ </usage_details>\r
+ </memory_area>\r
+ <memory_area>\r
+ <name>DARAM_2</name>\r
+ <page_id>0x0</page_id>\r
+ <origin>0x4000</origin>\r
+ <length>0x2000</length>\r
+ <used_space>0x93c</used_space>\r
+ <unused_space>0x16c4</unused_space>\r
+ <attributes>RW</attributes>\r
+ <usage_details>\r
+ <allocated_space>\r
+ <start_address>0x4000</start_address>\r
+ <size>0x400</size>\r
+ <logical_group_ref idref="lg-d"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x4400</start_address>\r
+ <size>0x400</size>\r
+ <logical_group_ref idref="lg-e"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x4800</start_address>\r
+ <size>0xf4</size>\r
+ <logical_group_ref idref="lg-14"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x48f4</start_address>\r
+ <size>0x48</size>\r
+ <logical_group_ref idref="lg-13"/>\r
+ </allocated_space>\r
+ <available_space>\r
+ <start_address>0x493c</start_address>\r
+ <size>0x16c4</size>\r
+ </available_space>\r
+ </usage_details>\r
+ </memory_area>\r
+ <memory_area>\r
+ <name>DARAM_3</name>\r
+ <page_id>0x0</page_id>\r
+ <origin>0x6000</origin>\r
+ <length>0x2000</length>\r
+ <used_space>0x0</used_space>\r
+ <unused_space>0x2000</unused_space>\r
+ <attributes>RW</attributes>\r
+ <usage_details>\r
+ </usage_details>\r
+ </memory_area>\r
+ <memory_area>\r
+ <name>DARAM_4</name>\r
+ <page_id>0x0</page_id>\r
+ <origin>0x8000</origin>\r
+ <length>0x2000</length>\r
+ <used_space>0x0</used_space>\r
+ <unused_space>0x2000</unused_space>\r
+ <attributes>RW</attributes>\r
+ <usage_details>\r
+ </usage_details>\r
+ </memory_area>\r
+ <memory_area>\r
+ <name>DARAM_5</name>\r
+ <page_id>0x0</page_id>\r
+ <origin>0xa000</origin>\r
+ <length>0x2000</length>\r
+ <used_space>0x0</used_space>\r
+ <unused_space>0x2000</unused_space>\r
+ <attributes>RW</attributes>\r
+ <usage_details>\r
+ </usage_details>\r
+ </memory_area>\r
+ <memory_area>\r
+ <name>DARAM_6</name>\r
+ <page_id>0x0</page_id>\r
+ <origin>0xc000</origin>\r
+ <length>0x2000</length>\r
+ <used_space>0x0</used_space>\r
+ <unused_space>0x2000</unused_space>\r
+ <attributes>RW</attributes>\r
+ <usage_details>\r
+ </usage_details>\r
+ </memory_area>\r
+ <memory_area>\r
+ <name>DARAM_7</name>\r
+ <page_id>0x0</page_id>\r
+ <origin>0xe000</origin>\r
+ <length>0x2000</length>\r
+ <used_space>0x0</used_space>\r
+ <unused_space>0x2000</unused_space>\r
+ <attributes>RW</attributes>\r
+ <usage_details>\r
+ </usage_details>\r
+ </memory_area>\r
+ <memory_area>\r
+ <name>SARAM</name>\r
+ <page_id>0x0</page_id>\r
+ <origin>0x10000</origin>\r
+ <length>0x40000</length>\r
+ <used_space>0x15243</used_space>\r
+ <unused_space>0x2adbd</unused_space>\r
+ <attributes>RW</attributes>\r
+ <usage_details>\r
+ <allocated_space>\r
+ <start_address>0x10000</start_address>\r
+ <size>0x0</size>\r
+ <logical_group_ref idref="lg-a"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x10000</start_address>\r
+ <size>0x8496</size>\r
+ <logical_group_ref idref="lg-b"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x18496</start_address>\r
+ <size>0x7f57</size>\r
+ <logical_group_ref idref="lg-6"/>\r
+ </allocated_space>\r
+ <available_space>\r
+ <start_address>0x203ed</start_address>\r
+ <size>0x3</size>\r
+ </available_space>\r
+ <allocated_space>\r
+ <start_address>0x203f0</start_address>\r
+ <size>0x1400</size>\r
+ <logical_group_ref idref="lg-17"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x217f0</start_address>\r
+ <size>0xa00</size>\r
+ <logical_group_ref idref="lg-18"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x221f0</start_address>\r
+ <size>0xa00</size>\r
+ <logical_group_ref idref="lg-15"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x22bf0</start_address>\r
+ <size>0xa00</size>\r
+ <logical_group_ref idref="lg-16"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x235f0</start_address>\r
+ <size>0x800</size>\r
+ <logical_group_ref idref="lg-f"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x23df0</start_address>\r
+ <size>0x5e4</size>\r
+ <logical_group_ref idref="lg-c"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x243d4</start_address>\r
+ <size>0x500</size>\r
+ <logical_group_ref idref="lg-19"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x248d4</start_address>\r
+ <size>0x280</size>\r
+ <logical_group_ref idref="lg-1a"/>\r
+ </allocated_space>\r
+ <available_space>\r
+ <start_address>0x24b54</start_address>\r
+ <size>0x4</size>\r
+ </available_space>\r
+ <allocated_space>\r
+ <start_address>0x24b58</start_address>\r
+ <size>0x240</size>\r
+ <logical_group_ref idref="lg-10"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x24d98</start_address>\r
+ <size>0x11c</size>\r
+ <logical_group_ref idref="lg-8"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x24eb4</start_address>\r
+ <size>0x104</size>\r
+ <logical_group_ref idref="lg-7"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x24fb8</start_address>\r
+ <size>0x1e</size>\r
+ <logical_group_ref idref="lg-11"/>\r
+ </allocated_space>\r
+ <available_space>\r
+ <start_address>0x24fd6</start_address>\r
+ <size>0x2a</size>\r
+ </available_space>\r
+ <allocated_space>\r
+ <start_address>0x25000</start_address>\r
+ <size>0x100</size>\r
+ <logical_group_ref idref="lg-4"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x25100</start_address>\r
+ <size>0x100</size>\r
+ <logical_group_ref idref="lg-2"/>\r
+ </allocated_space>\r
+ <allocated_space>\r
+ <start_address>0x25200</start_address>\r
+ <size>0x74</size>\r
+ <logical_group_ref idref="lg-12"/>\r
+ </allocated_space>\r
+ <available_space>\r
+ <start_address>0x25274</start_address>\r
+ <size>0x2ad8c</size>\r
+ </available_space>\r
+ </usage_details>\r
+ </memory_area>\r
+ <memory_area>\r
+ <name>SAROM_0</name>\r
+ <page_id>0x0</page_id>\r
+ <origin>0xff0000</origin>\r
+ <length>0x8000</length>\r
+ <used_space>0x0</used_space>\r
+ <unused_space>0x8000</unused_space>\r
+ <attributes>RX</attributes>\r
+ <usage_details>\r
+ </usage_details>\r
+ </memory_area>\r
+ <memory_area>\r
+ <name>SAROM_1</name>\r
+ <page_id>0x0</page_id>\r
+ <origin>0xff8000</origin>\r
+ <length>0x7f00</length>\r
+ <used_space>0x0</used_space>\r
+ <unused_space>0x7f00</unused_space>\r
+ <attributes>RX</attributes>\r
+ <usage_details>\r
+ </usage_details>\r
+ </memory_area>\r
+ <memory_area>\r
+ <name>VECS</name>\r
+ <page_id>0x0</page_id>\r
+ <origin>0xffff00</origin>\r
+ <length>0x100</length>\r
+ <used_space>0x0</used_space>\r
+ <unused_space>0x100</unused_space>\r
+ <attributes>RX</attributes>\r
+ <usage_details>\r
+ </usage_details>\r
+ </memory_area>\r
+ </placement_map>\r
+ <symbol_table>\r
+ <symbol id="sm-0">\r
+ <name>$TI_capability$C5500$CallingConvention</name>\r
+ <value>0x2</value>\r
+ </symbol>\r
+ <symbol id="sm-1">\r
+ <name>$TI_capability$C5500$MemoryModel</name>\r
+ <value>0x2</value>\r
+ </symbol>\r
+ <symbol id="sm-2">\r
+ <name>$TI_capability_requires_rev3</name>\r
+ <value>0x1</value>\r
+ </symbol>\r
+ <symbol id="sm-3">\r
+ <name>cinit</name>\r
+ <value>0x24d98</value>\r
+ </symbol>\r
+ <symbol id="sm-4">\r
+ <name>___cinit__</name>\r
+ <value>0x24d98</value>\r
+ </symbol>\r
+ <symbol id="sm-5">\r
+ <name>pinit</name>\r
+ <value>0xffffffff</value>\r
+ </symbol>\r
+ <symbol id="sm-6">\r
+ <name>___pinit__</name>\r
+ <value>0xffffffff</value>\r
+ </symbol>\r
+ <symbol id="sm-7">\r
+ <name>binit</name>\r
+ <value>0xffffffff</value>\r
+ </symbol>\r
+ <symbol id="sm-8">\r
+ <name>___binit__</name>\r
+ <value>0xffffffff</value>\r
+ </symbol>\r
+ <symbol id="sm-9">\r
+ <name>__STACK_SIZE</name>\r
+ <value>0x400</value>\r
+ </symbol>\r
+ <symbol id="sm-a">\r
+ <name>__STACK_END</name>\r
+ <value>0x4400</value>\r
+ </symbol>\r
+ <symbol id="sm-b">\r
+ <name>__SYSMEM_SIZE</name>\r
+ <value>0x800</value>\r
+ </symbol>\r
+ <symbol id="sm-c">\r
+ <name>___c_args__</name>\r
+ <value>0xffffffff</value>\r
+ </symbol>\r
+ <symbol id="sm-d">\r
+ <name>__SYSSTACK_SIZE</name>\r
+ <value>0x400</value>\r
+ </symbol>\r
+ <symbol id="sm-e">\r
+ <name>.text</name>\r
+ <value>0x18496</value>\r
+ </symbol>\r
+ <symbol id="sm-f">\r
+ <name>___text__</name>\r
+ <value>0x18496</value>\r
+ </symbol>\r
+ <symbol id="sm-10">\r
+ <name>etext</name>\r
+ <value>0x203ed</value>\r
+ </symbol>\r
+ <symbol id="sm-11">\r
+ <name>___etext__</name>\r
+ <value>0x203ed</value>\r
+ </symbol>\r
+ <symbol id="sm-12">\r
+ <name>.data</name>\r
+ <value>0x10000</value>\r
+ </symbol>\r
+ <symbol id="sm-13">\r
+ <name>___data__</name>\r
+ <value>0x10000</value>\r
+ </symbol>\r
+ <symbol id="sm-14">\r
+ <name>edata</name>\r
+ <value>0x10000</value>\r
+ </symbol>\r
+ <symbol id="sm-15">\r
+ <name>___edata__</name>\r
+ <value>0x10000</value>\r
+ </symbol>\r
+ <symbol id="sm-16">\r
+ <name>.bss</name>\r
+ <value>0x10000</value>\r
+ </symbol>\r
+ <symbol id="sm-17">\r
+ <name>___bss__</name>\r
+ <value>0x10000</value>\r
+ </symbol>\r
+ <symbol id="sm-18">\r
+ <name>end</name>\r
+ <value>0x18496</value>\r
+ </symbol>\r
+ <symbol id="sm-19">\r
+ <name>___end__</name>\r
+ <value>0x18496</value>\r
+ </symbol>\r
+ <symbol id="sm-5d">\r
+ <name>_blkFirDecim2</name>\r
+ <value>0x1f8df</value>\r
+ <object_component_ref idref="oc-1c"/>\r
+ </symbol>\r
+ <symbol id="sm-b9">\r
+ <name>_dmaRightRxHandle</name>\r
+ <value>0x17dc4</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-ba">\r
+ <name>_main</name>\r
+ <value>0x1f556</value>\r
+ <object_component_ref idref="oc-130"/>\r
+ </symbol>\r
+ <symbol id="sm-bb">\r
+ <name>_DmaIsr</name>\r
+ <value>0x1fe87</value>\r
+ <object_component_ref idref="oc-2d"/>\r
+ </symbol>\r
+ <symbol id="sm-bc">\r
+ <name>_fir1Coefs</name>\r
+ <value>0x24fb8</value>\r
+ <object_component_ref idref="oc-26"/>\r
+ </symbol>\r
+ <symbol id="sm-bd">\r
+ <name>_fir2Coefs</name>\r
+ <value>0x25200</value>\r
+ <object_component_ref idref="oc-29"/>\r
+ </symbol>\r
+ <symbol id="sm-be">\r
+ <name>_UserIdle</name>\r
+ <value>0x203e4</value>\r
+ <object_component_ref idref="oc-13d"/>\r
+ </symbol>\r
+ <symbol id="sm-bf">\r
+ <name>_fir1DlyBuf</name>\r
+ <value>0x48f4</value>\r
+ <object_component_ref idref="oc-27"/>\r
+ </symbol>\r
+ <symbol id="sm-c0">\r
+ <name>_hwConfig</name>\r
+ <value>0x17da4</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-c1">\r
+ <name>_pingPongFlag</name>\r
+ <value>0x17e0a</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-c2">\r
+ <name>_fir1OutFrame</name>\r
+ <value>0x217f0</value>\r
+ <object_component_ref idref="oc-28"/>\r
+ </symbol>\r
+ <symbol id="sm-c3">\r
+ <name>_fir2DlyBuf</name>\r
+ <value>0x4800</value>\r
+ <object_component_ref idref="oc-2a"/>\r
+ </symbol>\r
+ <symbol id="sm-c4">\r
+ <name>_dmaFrameCount</name>\r
+ <value>0x17e08</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-c5">\r
+ <name>_inCircBufRight</name>\r
+ <value>0x132a0</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-c6">\r
+ <name>_ClockGatingAll</name>\r
+ <value>0x1fcce</value>\r
+ <object_component_ref idref="oc-137"/>\r
+ </symbol>\r
+ <symbol id="sm-c7">\r
+ <name>_i2sDmaReadBufRight</name>\r
+ <value>0x22bf0</value>\r
+ <object_component_ref idref="oc-24"/>\r
+ </symbol>\r
+ <symbol id="sm-c8">\r
+ <name>_dmaObj1</name>\r
+ <value>0x17df6</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-c9">\r
+ <name>_dmaObj0</name>\r
+ <value>0x17de4</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-ca">\r
+ <name>_i2sDmaReadBufLeft</name>\r
+ <value>0x221f0</value>\r
+ <object_component_ref idref="oc-23"/>\r
+ </symbol>\r
+ <symbol id="sm-cb">\r
+ <name>_dispatchTable</name>\r
+ <value>0x17e2c</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-cc">\r
+ <name>_UserAlgorithm</name>\r
+ <value>0x1f274</value>\r
+ <object_component_ref idref="oc-13c"/>\r
+ </symbol>\r
+ <symbol id="sm-cd">\r
+ <name>_buffer</name>\r
+ <value>0x10000</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-ce">\r
+ <name>_cicOutFrame</name>\r
+ <value>0x203f0</value>\r
+ <object_component_ref idref="oc-25"/>\r
+ </symbol>\r
+ <symbol id="sm-cf">\r
+ <name>_dmaIntCount</name>\r
+ <value>0x17e40</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-d0">\r
+ <name>_DspLdoSwitch</name>\r
+ <value>0x20253</value>\r
+ <object_component_ref idref="oc-138"/>\r
+ </symbol>\r
+ <symbol id="sm-d1">\r
+ <name>_I2sDmaInit</name>\r
+ <value>0x1de69</value>\r
+ <object_component_ref idref="oc-13b"/>\r
+ </symbol>\r
+ <symbol id="sm-d2">\r
+ <name>_digGainOutFrame</name>\r
+ <value>0x248d4</value>\r
+ <object_component_ref idref="oc-2c"/>\r
+ </symbol>\r
+ <symbol id="sm-d3">\r
+ <name>_cicState</name>\r
+ <value>0x17e0c</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-d4">\r
+ <name>_dmaConfig</name>\r
+ <value>0x17dc8</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-d5">\r
+ <name>_LoopCount</name>\r
+ <value>0x17e3c</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-d6">\r
+ <name>_digGainOutCircBuf</name>\r
+ <value>0x164a0</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-d7">\r
+ <name>_fir2OutFrame</name>\r
+ <value>0x243d4</value>\r
+ <object_component_ref idref="oc-2b"/>\r
+ </symbol>\r
+ <symbol id="sm-d8">\r
+ <name>_inCircBufLeft</name>\r
+ <value>0x100a0</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-d9">\r
+ <name>_dmaLeftRxHandle</name>\r
+ <value>0x17dc0</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-da">\r
+ <name>_UsbLdoSwitch</name>\r
+ <value>0x2028d</value>\r
+ <object_component_ref idref="oc-13a"/>\r
+ </symbol>\r
+ <symbol id="sm-db">\r
+ <name>_hI2s</name>\r
+ <value>0x17da0</value>\r
+ <object_component_ref idref="oc-20"/>\r
+ </symbol>\r
+ <symbol id="sm-e6">\r
+ <name>_appDiggain</name>\r
+ <value>0x20218</value>\r
+ <object_component_ref idref="oc-32"/>\r
+ </symbol>\r
+ <symbol id="sm-fd">\r
+ <name>_pickBitsCic</name>\r
+ <value>0x1ecf6</value>\r
+ <object_component_ref idref="oc-36"/>\r
+ </symbol>\r
+ <symbol id="sm-132">\r
+ <name>_pllObj</name>\r
+ <value>0x18458</value>\r
+ <object_component_ref idref="oc-3a"/>\r
+ </symbol>\r
+ <symbol id="sm-133">\r
+ <name>_pConfigInfo</name>\r
+ <value>0x18470</value>\r
+ <object_component_ref idref="oc-3a"/>\r
+ </symbol>\r
+ <symbol id="sm-134">\r
+ <name>_pllCfg_32p768MHz</name>\r
+ <value>0x243a4</value>\r
+ <object_component_ref idref="oc-13f"/>\r
+ </symbol>\r
+ <symbol id="sm-135">\r
+ <name>_pllCfg_75MHz</name>\r
+ <value>0x243c4</value>\r
+ <object_component_ref idref="oc-143"/>\r
+ </symbol>\r
+ <symbol id="sm-136">\r
+ <name>_hPll</name>\r
+ <value>0x1846c</value>\r
+ <object_component_ref idref="oc-3a"/>\r
+ </symbol>\r
+ <symbol id="sm-137">\r
+ <name>_pllCfg_100MHz</name>\r
+ <value>0x2438c</value>\r
+ <object_component_ref idref="oc-144"/>\r
+ </symbol>\r
+ <symbol id="sm-138">\r
+ <name>_pllCfg_40MHz</name>\r
+ <value>0x243ac</value>\r
+ <object_component_ref idref="oc-140"/>\r
+ </symbol>\r
+ <symbol id="sm-139">\r
+ <name>_pllCfg1</name>\r
+ <value>0x18464</value>\r
+ <object_component_ref idref="oc-3a"/>\r
+ </symbol>\r
+ <symbol id="sm-13a">\r
+ <name>_pllCfg_50MHz</name>\r
+ <value>0x243b4</value>\r
+ <object_component_ref idref="oc-141"/>\r
+ </symbol>\r
+ <symbol id="sm-13b">\r
+ <name>_pllCfg_120MHz</name>\r
+ <value>0x24394</value>\r
+ <object_component_ref idref="oc-145"/>\r
+ </symbol>\r
+ <symbol id="sm-13c">\r
+ <name>_pll_sample</name>\r
+ <value>0x1efdc</value>\r
+ <object_component_ref idref="oc-139"/>\r
+ </symbol>\r
+ <symbol id="sm-13d">\r
+ <name>_pllCfg_60MHz</name>\r
+ <value>0x243bc</value>\r
+ <object_component_ref idref="oc-142"/>\r
+ </symbol>\r
+ <symbol id="sm-13e">\r
+ <name>_pllCfg_16p384MHz</name>\r
+ <value>0x2439c</value>\r
+ <object_component_ref idref="oc-13e"/>\r
+ </symbol>\r
+ <symbol id="sm-14a">\r
+ <name>__sysstack</name>\r
+ <value>0x4400</value>\r
+ <object_component_ref idref="oc-12f"/>\r
+ </symbol>\r
+ <symbol id="sm-14b">\r
+ <name>_c_int00</name>\r
+ <value>0x202c5</value>\r
+ <object_component_ref idref="oc-1b"/>\r
+ </symbol>\r
+ <symbol id="sm-14c">\r
+ <name>__stack</name>\r
+ <value>0x4000</value>\r
+ <object_component_ref idref="oc-3f"/>\r
+ </symbol>\r
+ <symbol id="sm-15c">\r
+ <name>C$$EXIT</name>\r
+ <value>0x203de</value>\r
+ <object_component_ref idref="oc-47"/>\r
+ </symbol>\r
+ <symbol id="sm-15d">\r
+ <name>_exit</name>\r
+ <value>0x201da</value>\r
+ <object_component_ref idref="oc-43"/>\r
+ </symbol>\r
+ <symbol id="sm-15e">\r
+ <name>_abort</name>\r
+ <value>0x203dd</value>\r
+ <object_component_ref idref="oc-47"/>\r
+ </symbol>\r
+ <symbol id="sm-15f">\r
+ <name>__cleanup_ptr</name>\r
+ <value>0x18488</value>\r
+ <object_component_ref idref="oc-44"/>\r
+ </symbol>\r
+ <symbol id="sm-160">\r
+ <name>__dtors_ptr</name>\r
+ <value>0x1848c</value>\r
+ <object_component_ref idref="oc-44"/>\r
+ </symbol>\r
+ <symbol id="sm-16a">\r
+ <name>_printf</name>\r
+ <value>0x20020</value>\r
+ <object_component_ref idref="oc-4a"/>\r
+ </symbol>\r
+ <symbol id="sm-174">\r
+ <name>__remli</name>\r
+ <value>0x20108</value>\r
+ <object_component_ref idref="oc-4e"/>\r
+ </symbol>\r
+ <symbol id="sm-17f">\r
+ <name>__remul</name>\r
+ <value>0x1fc5c</value>\r
+ <object_component_ref idref="oc-52"/>\r
+ </symbol>\r
+ <symbol id="sm-189">\r
+ <name>_Reset</name>\r
+ <value>0x25100</value>\r
+ <object_component_ref idref="oc-57"/>\r
+ </symbol>\r
+ <symbol id="sm-197">\r
+ <name>__unlock</name>\r
+ <value>0x18484</value>\r
+ <object_component_ref idref="oc-5c"/>\r
+ </symbol>\r
+ <symbol id="sm-198">\r
+ <name>__lock</name>\r
+ <value>0x18480</value>\r
+ <object_component_ref idref="oc-5c"/>\r
+ </symbol>\r
+ <symbol id="sm-199">\r
+ <name>__register_lock</name>\r
+ <value>0x203b9</value>\r
+ <object_component_ref idref="oc-5b"/>\r
+ </symbol>\r
+ <symbol id="sm-19a">\r
+ <name>__nop</name>\r
+ <value>0x203c1</value>\r
+ <object_component_ref idref="oc-5b"/>\r
+ </symbol>\r
+ <symbol id="sm-19b">\r
+ <name>__register_unlock</name>\r
+ <value>0x203b1</value>\r
+ <object_component_ref idref="oc-5b"/>\r
+ </symbol>\r
+ <symbol id="sm-1ad">\r
+ <name>__printfi</name>\r
+ <value>0x1b748</value>\r
+ <object_component_ref idref="oc-61"/>\r
+ </symbol>\r
+ <symbol id="sm-1b7">\r
+ <name>__args_main</name>\r
+ <value>0x200bd</value>\r
+ <object_component_ref idref="oc-67"/>\r
+ </symbol>\r
+ <symbol id="sm-1b8">\r
+ <name>__TI_args_main</name>\r
+ <value>0x1</value>\r
+ </symbol>\r
+ <symbol id="sm-1c2">\r
+ <name>_atoi</name>\r
+ <value>0x1ffc4</value>\r
+ <object_component_ref idref="oc-6b"/>\r
+ </symbol>\r
+ <symbol id="sm-1ca">\r
+ <name>_auto_init</name>\r
+ <value>0x20070</value>\r
+ <object_component_ref idref="oc-6f"/>\r
+ </symbol>\r
+ <symbol id="sm-1d4">\r
+ <name>__eqld</name>\r
+ <value>0x1ec6a</value>\r
+ <object_component_ref idref="oc-73"/>\r
+ </symbol>\r
+ <symbol id="sm-1d5">\r
+ <name>__cmpd</name>\r
+ <value>0x1ec9e</value>\r
+ <object_component_ref idref="oc-73"/>\r
+ </symbol>\r
+ <symbol id="sm-1d6">\r
+ <name>__neqd</name>\r
+ <value>0x1eb0c</value>\r
+ <object_component_ref idref="oc-73"/>\r
+ </symbol>\r
+ <symbol id="sm-1d7">\r
+ <name>__gtrd</name>\r
+ <value>0x1ebd5</value>\r
+ <object_component_ref idref="oc-73"/>\r
+ </symbol>\r
+ <symbol id="sm-1d8">\r
+ <name>__geqd</name>\r
+ <value>0x1ec20</value>\r
+ <object_component_ref idref="oc-73"/>\r
+ </symbol>\r
+ <symbol id="sm-1d9">\r
+ <name>__leqd</name>\r
+ <value>0x1eb88</value>\r
+ <object_component_ref idref="oc-73"/>\r
+ </symbol>\r
+ <symbol id="sm-1da">\r
+ <name>__lssd</name>\r
+ <value>0x1eb40</value>\r
+ <object_component_ref idref="oc-73"/>\r
+ </symbol>\r
+ <symbol id="sm-1e2">\r
+ <name>__ctypes_</name>\r
+ <value>0x24118</value>\r
+ <object_component_ref idref="oc-131"/>\r
+ </symbol>\r
+ <symbol id="sm-1ec">\r
+ <name>__tmpnams</name>\r
+ <value>0x17f34</value>\r
+ <object_component_ref idref="oc-79"/>\r
+ </symbol>\r
+ <symbol id="sm-1ed">\r
+ <name>__ft_end</name>\r
+ <value>0x18074</value>\r
+ <object_component_ref idref="oc-79"/>\r
+ </symbol>\r
+ <symbol id="sm-1ee">\r
+ <name>__ftable</name>\r
+ <value>0x17e44</value>\r
+ <object_component_ref idref="oc-79"/>\r
+ </symbol>\r
+ <symbol id="sm-1fa">\r
+ <name>__divd</name>\r
+ <value>0x1d749</value>\r
+ <object_component_ref idref="oc-7d"/>\r
+ </symbol>\r
+ <symbol id="sm-205">\r
+ <name>__divul</name>\r
+ <value>0x1f83e</value>\r
+ <object_component_ref idref="oc-81"/>\r
+ </symbol>\r
+ <symbol id="sm-20f">\r
+ <name>__fixdi</name>\r
+ <value>0x202f9</value>\r
+ <object_component_ref idref="oc-85"/>\r
+ </symbol>\r
+ <symbol id="sm-219">\r
+ <name>__fixdli</name>\r
+ <value>0x1fd3e</value>\r
+ <object_component_ref idref="oc-89"/>\r
+ </symbol>\r
+ <symbol id="sm-225">\r
+ <name>__fltlid</name>\r
+ <value>0x1ff5d</value>\r
+ <object_component_ref idref="oc-8d"/>\r
+ </symbol>\r
+ <symbol id="sm-22f">\r
+ <name>_putchar</name>\r
+ <value>0x1f82f</value>\r
+ <object_component_ref idref="oc-92"/>\r
+ </symbol>\r
+ <symbol id="sm-230">\r
+ <name>_putc</name>\r
+ <value>0x1f798</value>\r
+ <object_component_ref idref="oc-92"/>\r
+ </symbol>\r
+ <symbol id="sm-231">\r
+ <name>_fputc</name>\r
+ <value>0x1f798</value>\r
+ <object_component_ref idref="oc-92"/>\r
+ </symbol>\r
+ <symbol id="sm-23f">\r
+ <name>_puts</name>\r
+ <value>0x1efae</value>\r
+ <object_component_ref idref="oc-96"/>\r
+ </symbol>\r
+ <symbol id="sm-240">\r
+ <name>_fputs</name>\r
+ <value>0x1ee79</value>\r
+ <object_component_ref idref="oc-96"/>\r
+ </symbol>\r
+ <symbol id="sm-24a">\r
+ <name>__frcmpyd_div</name>\r
+ <value>0x1fbe9</value>\r
+ <object_component_ref idref="oc-9b"/>\r
+ </symbol>\r
+ <symbol id="sm-254">\r
+ <name>___isinf</name>\r
+ <value>0x20370</value>\r
+ <object_component_ref idref="oc-9f"/>\r
+ </symbol>\r
+ <symbol id="sm-25e">\r
+ <name>__divull</name>\r
+ <value>0x1e789</value>\r
+ <object_component_ref idref="oc-a3"/>\r
+ </symbol>\r
+ <symbol id="sm-25f">\r
+ <name>__mpylli</name>\r
+ <value>0x1e6d1</value>\r
+ <object_component_ref idref="oc-a3"/>\r
+ </symbol>\r
+ <symbol id="sm-260">\r
+ <name>__remlli</name>\r
+ <value>0x1e6a2</value>\r
+ <object_component_ref idref="oc-a3"/>\r
+ </symbol>\r
+ <symbol id="sm-261">\r
+ <name>__divlli</name>\r
+ <value>0x1e87d</value>\r
+ <object_component_ref idref="oc-a3"/>\r
+ </symbol>\r
+ <symbol id="sm-262">\r
+ <name>__remull</name>\r
+ <value>0x1e654</value>\r
+ <object_component_ref idref="oc-a3"/>\r
+ </symbol>\r
+ <symbol id="sm-26a">\r
+ <name>__mpyli</name>\r
+ <value>0x2039e</value>\r
+ <object_component_ref idref="oc-a7"/>\r
+ </symbol>\r
+ <symbol id="sm-26b">\r
+ <name>I$$LMPY</name>\r
+ <value>0x2039e</value>\r
+ <object_component_ref idref="oc-a7"/>\r
+ </symbol>\r
+ <symbol id="sm-27d">\r
+ <name>_add_device</name>\r
+ <value>0x1c774</value>\r
+ <object_component_ref idref="oc-ab"/>\r
+ </symbol>\r
+ <symbol id="sm-27e">\r
+ <name>_rename</name>\r
+ <value>0x1c496</value>\r
+ <object_component_ref idref="oc-ab"/>\r
+ </symbol>\r
+ <symbol id="sm-27f">\r
+ <name>_read</name>\r
+ <value>0x1c525</value>\r
+ <object_component_ref idref="oc-ab"/>\r
+ </symbol>\r
+ <symbol id="sm-280">\r
+ <name>_unlink</name>\r
+ <value>0x1c463</value>\r
+ <object_component_ref idref="oc-ab"/>\r
+ </symbol>\r
+ <symbol id="sm-281">\r
+ <name>_remove_device</name>\r
+ <value>0x1c4ef</value>\r
+ <object_component_ref idref="oc-ab"/>\r
+ </symbol>\r
+ <symbol id="sm-282">\r
+ <name>_open</name>\r
+ <value>0x1c5d3</value>\r
+ <object_component_ref idref="oc-ab"/>\r
+ </symbol>\r
+ <symbol id="sm-283">\r
+ <name>_find_registered_device</name>\r
+ <value>0x1c6f8</value>\r
+ <object_component_ref idref="oc-ab"/>\r
+ </symbol>\r
+ <symbol id="sm-284">\r
+ <name>_lseek</name>\r
+ <value>0x1c692</value>\r
+ <object_component_ref idref="oc-ab"/>\r
+ </symbol>\r
+ <symbol id="sm-285">\r
+ <name>_close</name>\r
+ <value>0x1c701</value>\r
+ <object_component_ref idref="oc-ab"/>\r
+ </symbol>\r
+ <symbol id="sm-286">\r
+ <name>_write</name>\r
+ <value>0x1c321</value>\r
+ <object_component_ref idref="oc-ab"/>\r
+ </symbol>\r
+ <symbol id="sm-290">\r
+ <name>_ltoa</name>\r
+ <value>0x1fa00</value>\r
+ <object_component_ref idref="oc-b1"/>\r
+ </symbol>\r
+ <symbol id="sm-29b">\r
+ <name>_memccpy</name>\r
+ <value>0x2034d</value>\r
+ <object_component_ref idref="oc-b5"/>\r
+ </symbol>\r
+ <symbol id="sm-2a3">\r
+ <name>_memcpy</name>\r
+ <value>0x2019b</value>\r
+ <object_component_ref idref="oc-b9"/>\r
+ </symbol>\r
+ <symbol id="sm-2ad">\r
+ <name>__mpyd</name>\r
+ <value>0x1f128</value>\r
+ <object_component_ref idref="oc-bd"/>\r
+ </symbol>\r
+ <symbol id="sm-2b7">\r
+ <name>__negd</name>\r
+ <value>0x203c3</value>\r
+ <object_component_ref idref="oc-c1"/>\r
+ </symbol>\r
+ <symbol id="sm-2c1">\r
+ <name>__subd</name>\r
+ <value>0x2038a</value>\r
+ <object_component_ref idref="oc-c5"/>\r
+ </symbol>\r
+ <symbol id="sm-2cd">\r
+ <name>_HOSTopen</name>\r
+ <value>0x1cb6f</value>\r
+ <object_component_ref idref="oc-c9"/>\r
+ </symbol>\r
+ <symbol id="sm-2ce">\r
+ <name>_HOSTread</name>\r
+ <value>0x1cae2</value>\r
+ <object_component_ref idref="oc-c9"/>\r
+ </symbol>\r
+ <symbol id="sm-2cf">\r
+ <name>_HOSTtime</name>\r
+ <value>0x1c9d6</value>\r
+ <object_component_ref idref="oc-c9"/>\r
+ </symbol>\r
+ <symbol id="sm-2d0">\r
+ <name>_getenv</name>\r
+ <value>0x1c864</value>\r
+ <object_component_ref idref="oc-c9"/>\r
+ </symbol>\r
+ <symbol id="sm-2d1">\r
+ <name>_HOSTrename</name>\r
+ <value>0x1ca34</value>\r
+ <object_component_ref idref="oc-c9"/>\r
+ </symbol>\r
+ <symbol id="sm-2d2">\r
+ <name>_HOSTclock</name>\r
+ <value>0x1cd2e</value>\r
+ <object_component_ref idref="oc-c9"/>\r
+ </symbol>\r
+ <symbol id="sm-2d3">\r
+ <name>_HOSTwrite</name>\r
+ <value>0x1c8df</value>\r
+ <object_component_ref idref="oc-c9"/>\r
+ </symbol>\r
+ <symbol id="sm-2d4">\r
+ <name>_HOSTlseek</name>\r
+ <value>0x1cc0e</value>\r
+ <object_component_ref idref="oc-c9"/>\r
+ </symbol>\r
+ <symbol id="sm-2d5">\r
+ <name>_HOSTunlink</name>\r
+ <value>0x1c96c</value>\r
+ <object_component_ref idref="oc-c9"/>\r
+ </symbol>\r
+ <symbol id="sm-2d6">\r
+ <name>_HOSTclose</name>\r
+ <value>0x1ccc3</value>\r
+ <object_component_ref idref="oc-c9"/>\r
+ </symbol>\r
+ <symbol id="sm-2e8">\r
+ <name>C$$IO$$</name>\r
+ <value>0x1f793</value>\r
+ <object_component_ref idref="oc-d1"/>\r
+ </symbol>\r
+ <symbol id="sm-2e9">\r
+ <name>__CIOBUF_</name>\r
+ <value>0x24b58</value>\r
+ <object_component_ref idref="oc-d0"/>\r
+ </symbol>\r
+ <symbol id="sm-2ea">\r
+ <name>_readmsg</name>\r
+ <value>0x1fe1a</value>\r
+ <object_component_ref idref="oc-ce"/>\r
+ </symbol>\r
+ <symbol id="sm-2eb">\r
+ <name>_writemsg</name>\r
+ <value>0x1f6de</value>\r
+ <object_component_ref idref="oc-d1"/>\r
+ </symbol>\r
+ <symbol id="sm-2f3">\r
+ <name>__remu</name>\r
+ <value>0x20338</value>\r
+ <object_component_ref idref="oc-d4"/>\r
+ </symbol>\r
+ <symbol id="sm-2f4">\r
+ <name>__divu</name>\r
+ <value>0x20323</value>\r
+ <object_component_ref idref="oc-d4"/>\r
+ </symbol>\r
+ <symbol id="sm-2f5">\r
+ <name>I$$UMOD</name>\r
+ <value>0x20338</value>\r
+ <object_component_ref idref="oc-d4"/>\r
+ </symbol>\r
+ <symbol id="sm-2f6">\r
+ <name>I$$UDIV</name>\r
+ <value>0x20323</value>\r
+ <object_component_ref idref="oc-d4"/>\r
+ </symbol>\r
+ <symbol id="sm-300">\r
+ <name>__rd_ok</name>\r
+ <value>0x1f4f9</value>\r
+ <object_component_ref idref="oc-d8"/>\r
+ </symbol>\r
+ <symbol id="sm-301">\r
+ <name>__wrt_ok</name>\r
+ <value>0x1f479</value>\r
+ <object_component_ref idref="oc-d8"/>\r
+ </symbol>\r
+ <symbol id="sm-30b">\r
+ <name>__addd</name>\r
+ <value>0x1e8b2</value>\r
+ <object_component_ref idref="oc-dc"/>\r
+ </symbol>\r
+ <symbol id="sm-315">\r
+ <name>__divli</name>\r
+ <value>0x20153</value>\r
+ <object_component_ref idref="oc-e0"/>\r
+ </symbol>\r
+ <symbol id="sm-31f">\r
+ <name>__doflush</name>\r
+ <value>0x1f61c</value>\r
+ <object_component_ref idref="oc-e4"/>\r
+ </symbol>\r
+ <symbol id="sm-320">\r
+ <name>_fflush</name>\r
+ <value>0x1f685</value>\r
+ <object_component_ref idref="oc-e4"/>\r
+ </symbol>\r
+ <symbol id="sm-32a">\r
+ <name>__frcmpyd</name>\r
+ <value>0x1fb73</value>\r
+ <object_component_ref idref="oc-e8"/>\r
+ </symbol>\r
+ <symbol id="sm-334">\r
+ <name>_fseek</name>\r
+ <value>0x1fef2</value>\r
+ <object_component_ref idref="oc-ec"/>\r
+ </symbol>\r
+ <symbol id="sm-33e">\r
+ <name>_setvbuf</name>\r
+ <value>0x1f393</value>\r
+ <object_component_ref idref="oc-f0"/>\r
+ </symbol>\r
+ <symbol id="sm-34d">\r
+ <name>__cleanup</name>\r
+ <value>0x1e298</value>\r
+ <object_component_ref idref="oc-f4"/>\r
+ </symbol>\r
+ <symbol id="sm-34e">\r
+ <name>_fopen</name>\r
+ <value>0x1e3bb</value>\r
+ <object_component_ref idref="oc-f4"/>\r
+ </symbol>\r
+ <symbol id="sm-34f">\r
+ <name>_freopen</name>\r
+ <value>0x1e2f2</value>\r
+ <object_component_ref idref="oc-f4"/>\r
+ </symbol>\r
+ <symbol id="sm-35f">\r
+ <name>__sys_memory</name>\r
+ <value>0x235f0</value>\r
+ <object_component_ref idref="oc-fe"/>\r
+ </symbol>\r
+ <symbol id="sm-360">\r
+ <name>_chkheap</name>\r
+ <value>0x1d71b</value>\r
+ <object_component_ref idref="oc-fa"/>\r
+ </symbol>\r
+ <symbol id="sm-361">\r
+ <name>_realloc</name>\r
+ <value>0x1d4ba</value>\r
+ <object_component_ref idref="oc-fa"/>\r
+ </symbol>\r
+ <symbol id="sm-362">\r
+ <name>_free_memory</name>\r
+ <value>0x1d6c5</value>\r
+ <object_component_ref idref="oc-fa"/>\r
+ </symbol>\r
+ <symbol id="sm-363">\r
+ <name>_max_free</name>\r
+ <value>0x1d66b</value>\r
+ <object_component_ref idref="oc-fa"/>\r
+ </symbol>\r
+ <symbol id="sm-364">\r
+ <name>_free</name>\r
+ <value>0x1d294</value>\r
+ <object_component_ref idref="oc-fa"/>\r
+ </symbol>\r
+ <symbol id="sm-365">\r
+ <name>_calloc</name>\r
+ <value>0x1d723</value>\r
+ <object_component_ref idref="oc-fa"/>\r
+ </symbol>\r
+ <symbol id="sm-366">\r
+ <name>_malloc</name>\r
+ <value>0x1d3c5</value>\r
+ <object_component_ref idref="oc-fa"/>\r
+ </symbol>\r
+ <symbol id="sm-367">\r
+ <name>_minit</name>\r
+ <value>0x1d360</value>\r
+ <object_component_ref idref="oc-fa"/>\r
+ </symbol>\r
+ <symbol id="sm-371">\r
+ <name>_fclose</name>\r
+ <value>0x1faf8</value>\r
+ <object_component_ref idref="oc-101"/>\r
+ </symbol>\r
+ <symbol id="sm-37b">\r
+ <name>_remove</name>\r
+ <value>0x203d3</value>\r
+ <object_component_ref idref="oc-105"/>\r
+ </symbol>\r
+ <symbol id="sm-461">\r
+ <name>_DMA_init</name>\r
+ <value>0x18496</value>\r
+ <object_component_ref idref="oc-109"/>\r
+ </symbol>\r
+ <symbol id="sm-462">\r
+ <name>_DMA_getConfig</name>\r
+ <value>0x196ac</value>\r
+ <object_component_ref idref="oc-109"/>\r
+ </symbol>\r
+ <symbol id="sm-463">\r
+ <name>_DMA_config</name>\r
+ <value>0x185d8</value>\r
+ <object_component_ref idref="oc-109"/>\r
+ </symbol>\r
+ <symbol id="sm-464">\r
+ <name>_DMA_swapWords</name>\r
+ <value>0x1a2c5</value>\r
+ <object_component_ref idref="oc-109"/>\r
+ </symbol>\r
+ <symbol id="sm-465">\r
+ <name>_DMA_stop</name>\r
+ <value>0x19ed8</value>\r
+ <object_component_ref idref="oc-109"/>\r
+ </symbol>\r
+ <symbol id="sm-466">\r
+ <name>_DMA_open</name>\r
+ <value>0x184cd</value>\r
+ <object_component_ref idref="oc-109"/>\r
+ </symbol>\r
+ <symbol id="sm-467">\r
+ <name>_DMA_start</name>\r
+ <value>0x19dcb</value>\r
+ <object_component_ref idref="oc-109"/>\r
+ </symbol>\r
+ <symbol id="sm-468">\r
+ <name>_DMA_getLastTransferType</name>\r
+ <value>0x1a33a</value>\r
+ <object_component_ref idref="oc-109"/>\r
+ </symbol>\r
+ <symbol id="sm-469">\r
+ <name>_DMA_close</name>\r
+ <value>0x185b9</value>\r
+ <object_component_ref idref="oc-109"/>\r
+ </symbol>\r
+ <symbol id="sm-46a">\r
+ <name>_DMA_reset</name>\r
+ <value>0x19fd9</value>\r
+ <object_component_ref idref="oc-109"/>\r
+ </symbol>\r
+ <symbol id="sm-50f">\r
+ <name>_fsError</name>\r
+ <value>0x18452</value>\r
+ <object_component_ref idref="oc-10f"/>\r
+ </symbol>\r
+ <symbol id="sm-510">\r
+ <name>_I2S_read</name>\r
+ <value>0x1be1b</value>\r
+ <object_component_ref idref="oc-10e"/>\r
+ </symbol>\r
+ <symbol id="sm-511">\r
+ <name>_I2S_setup</name>\r
+ <value>0x1ba89</value>\r
+ <object_component_ref idref="oc-10e"/>\r
+ </symbol>\r
+ <symbol id="sm-512">\r
+ <name>_I2S_reset</name>\r
+ <value>0x1c22b</value>\r
+ <object_component_ref idref="oc-10e"/>\r
+ </symbol>\r
+ <symbol id="sm-513">\r
+ <name>_I2S_write</name>\r
+ <value>0x1c0d5</value>\r
+ <object_component_ref idref="oc-10e"/>\r
+ </symbol>\r
+ <symbol id="sm-514">\r
+ <name>_I2S_close</name>\r
+ <value>0x1bd70</value>\r
+ <object_component_ref idref="oc-10e"/>\r
+ </symbol>\r
+ <symbol id="sm-515">\r
+ <name>_ouError</name>\r
+ <value>0x18454</value>\r
+ <object_component_ref idref="oc-10f"/>\r
+ </symbol>\r
+ <symbol id="sm-516">\r
+ <name>_I2S_open</name>\r
+ <value>0x1b98a</value>\r
+ <object_component_ref idref="oc-10e"/>\r
+ </symbol>\r
+ <symbol id="sm-517">\r
+ <name>_I2S_transEnable</name>\r
+ <value>0x1c2d6</value>\r
+ <object_component_ref idref="oc-10e"/>\r
+ </symbol>\r
+ <symbol id="sm-552">\r
+ <name>_IRQ_restore</name>\r
+ <value>0x1d09a</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-553">\r
+ <name>_IRQ_getArg</name>\r
+ <value>0x1d10a</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-554">\r
+ <name>_IRQ_setArg</name>\r
+ <value>0x1d14e</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-555">\r
+ <name>_IRQ_getConfig</name>\r
+ <value>0x1cefc</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-556">\r
+ <name>_IRQ_test</name>\r
+ <value>0x1d1dc</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-557">\r
+ <name>_IRQ_clear</name>\r
+ <value>0x1ce14</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-558">\r
+ <name>_IRQ_disable</name>\r
+ <value>0x1cf84</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-559">\r
+ <name>_IRQ_globalRestore</name>\r
+ <value>0x1d280</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-55a">\r
+ <name>_IRQ_map</name>\r
+ <value>0x1d17f</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-55b">\r
+ <name>_IRQ_clearAll</name>\r
+ <value>0x1ce67</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-55c">\r
+ <name>_IRQ_globalDisable</name>\r
+ <value>0x1d24e</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-55d">\r
+ <name>_IRQ_globalEnable</name>\r
+ <value>0x1d267</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-55e">\r
+ <name>_IRQ_disableAll</name>\r
+ <value>0x1d002</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-55f">\r
+ <name>_IRQ_config</name>\r
+ <value>0x1ce77</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-560">\r
+ <name>_IRQ_init</name>\r
+ <value>0x1cd8c</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-561">\r
+ <name>_IRQ_enable</name>\r
+ <value>0x1d010</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-562">\r
+ <name>_IRQ_setVecs</name>\r
+ <value>0x1d1ab</value>\r
+ <object_component_ref idref="oc-115"/>\r
+ </symbol>\r
+ <symbol id="sm-56d">\r
+ <name>_IRQ_plug</name>\r
+ <value>0x1f974</value>\r
+ <object_component_ref idref="oc-11b"/>\r
+ </symbol>\r
+ <symbol id="sm-592">\r
+ <name>_PLL_enable</name>\r
+ <value>0x1dcae</value>\r
+ <object_component_ref idref="oc-11f"/>\r
+ </symbol>\r
+ <symbol id="sm-593">\r
+ <name>_PLL_bypass</name>\r
+ <value>0x1dd15</value>\r
+ <object_component_ref idref="oc-11f"/>\r
+ </symbol>\r
+ <symbol id="sm-594">\r
+ <name>_PLL_reset</name>\r
+ <value>0x1dd64</value>\r
+ <object_component_ref idref="oc-11f"/>\r
+ </symbol>\r
+ <symbol id="sm-595">\r
+ <name>_PLL_init</name>\r
+ <value>0x1db3f</value>\r
+ <object_component_ref idref="oc-11f"/>\r
+ </symbol>\r
+ <symbol id="sm-596">\r
+ <name>_PLL_config</name>\r
+ <value>0x1db77</value>\r
+ <object_component_ref idref="oc-11f"/>\r
+ </symbol>\r
+ <symbol id="sm-597">\r
+ <name>_getSysClk</name>\r
+ <value>0x1ddd0</value>\r
+ <object_component_ref idref="oc-11f"/>\r
+ </symbol>\r
+ <symbol id="sm-5bd">\r
+ <name>_SYS_peripheralReset</name>\r
+ <value>0x1e3f6</value>\r
+ <object_component_ref idref="oc-124"/>\r
+ </symbol>\r
+ <symbol id="sm-5be">\r
+ <name>_PG3_flag</name>\r
+ <value>0x18492</value>\r
+ <object_component_ref idref="oc-125"/>\r
+ </symbol>\r
+ <symbol id="sm-5bf">\r
+ <name>_PG1_flag</name>\r
+ <value>0x18494</value>\r
+ <object_component_ref idref="oc-125"/>\r
+ </symbol>\r
+ <symbol id="sm-5c0">\r
+ <name>_PG4_flag</name>\r
+ <value>0x18490</value>\r
+ <object_component_ref idref="oc-125"/>\r
+ </symbol>\r
+ <symbol id="sm-5c1">\r
+ <name>_SYS_setEBSR</name>\r
+ <value>0x1e484</value>\r
+ <object_component_ref idref="oc-124"/>\r
+ </symbol>\r
+ <symbol id="sm-5c2">\r
+ <name>_SYS_set_DSP_LDO_voltage</name>\r
+ <value>0x1e62f</value>\r
+ <object_component_ref idref="oc-124"/>\r
+ </symbol>\r
+ <symbol id="sm-60c">\r
+ <name>_VECSTART</name>\r
+ <value>0x25000</value>\r
+ <object_component_ref idref="oc-12b"/>\r
+ </symbol>\r
+ <symbol id="sm-60d">\r
+ <name>RST</name>\r
+ <value>0x25000</value>\r
+ <object_component_ref idref="oc-12b"/>\r
+ </symbol>\r
+ </symbol_table>\r
+</link_info>\r
diff --git a/target_test/ccsv6/macros.ini_initial b/target_test/ccsv6/macros.ini_initial
--- /dev/null
@@ -0,0 +1,2 @@
+
+TARGET_TEST_COMMON_ROOT = ../../
diff --git a/target_test/ccsv6/target_test.cmd b/target_test/ccsv6/target_test.cmd
--- /dev/null
@@ -0,0 +1,87 @@
+/* C55x5 Memory Map */
+MEMORY
+{
+ MMR (RW) : origin = 0000000h length = 0000c0h /* MMRs */
+
+ DARAM_0 (RW) : origin = 00000c0h length = 001f40h /* on-chip DARAM 0 */
+ DARAM_1 (RW) : origin = 0002000h length = 002000h /* on-chip DARAM 1 */
+ DARAM_2 (RW) : origin = 0004000h length = 002000h /* on-chip DARAM 2 */
+ /* DARAM_12 (RW) : origin = 0002000h length = 004000h */ /* on-chip DARAM 1 & 2 */
+ DARAM_3 (RW) : origin = 0006000h length = 002000h /* on-chip DARAM 3 */
+ DARAM_4 (RW) : origin = 0008000h length = 002000h /* on-chip DARAM 4 */
+ DARAM_5 (RW) : origin = 000a000h length = 002000h /* on-chip DARAM 5 */
+ DARAM_6 (RW) : origin = 000c000h length = 002000h /* on-chip DARAM 6 */
+ DARAM_7 (RW) : origin = 000e000h length = 002000h /* on-chip DARAM 7 */
+ /* DARAM (RW) : origin = 00000c0h length = 00ff40h */ /* on-chip DARAM */
+
+ /* SARAM_0 (RW) : origin = 0010000h length = 002000h */ /* on-chip SARAM 0 */
+ /* SARAM_1 (RW) : origin = 0012000h length = 002000h */ /* on-chip SARAM 1 */
+ /* SARAM_2 (RW) : origin = 0014000h length = 002000h */ /* on-chip SARAM 2 */
+ /* SARAM_3 (RW) : origin = 0016000h length = 002000h */ /* on-chip SARAM 3 */
+ /* SARAM_4 (RW) : origin = 0018000h length = 002000h */ /* on-chip SARAM 4 */
+ /* SARAM_5 (RW) : origin = 001a000h length = 002000h */ /* on-chip SARAM 5 */
+ /* SARAM_6 (RW) : origin = 001c000h length = 002000h */ /* on-chip SARAM 6 */
+ /* SARAM_7 (RW) : origin = 001e000h length = 002000h */ /* on-chip SARAM 7 */
+ /* SARAM_8 (RW) : origin = 0020000h length = 002000h */ /* on-chip SARAM 8 */
+ /* SARAM_9 (RW) : origin = 0022000h length = 002000h */ /* on-chip SARAM 9 */
+ /* SARAM_10 (RW) : origin = 0024000h length = 002000h */ /* on-chip SARAM 10 */
+ /* SARAM_11 (RW) : origin = 0026000h length = 002000h */ /* on-chip SARAM 11 */
+ /* SARAM_12 (RW) : origin = 0028000h length = 002000h */ /* on-chip SARAM 12 */
+ /* SARAM_13 (RW) : origin = 002a000h length = 002000h */ /* on-chip SARAM 13 */
+ /* SARAM_14 (RW) : origin = 002c000h length = 002000h */ /* on-chip SARAM 14 */
+ /* SARAM_15 (RW) : origin = 002e000h length = 002000h */ /* on-chip SARAM 15 */
+ /* SARAM_16 (RW) : origin = 0030000h length = 002000h */ /* on-chip SARAM 16 */
+ /* SARAM_17 (RW) : origin = 0032000h length = 002000h */ /* on-chip SARAM 17 */
+ /* SARAM_18 (RW) : origin = 0034000h length = 002000h */ /* on-chip SARAM 18 */
+ /* SARAM_19 (RW) : origin = 0036000h length = 002000h */ /* on-chip SARAM 19 */
+ /* SARAM_20 (RW) : origin = 0038000h length = 002000h */ /* on-chip SARAM 20 */
+ /* SARAM_21 (RW) : origin = 003a000h length = 002000h */ /* on-chip SARAM 21 */
+ /* SARAM_22 (RW) : origin = 003c000h length = 002000h */ /* on-chip SARAM 22 */
+ /* SARAM_23 (RW) : origin = 003e000h length = 002000h */ /* on-chip SARAM 23 */
+ /* SARAM_24 (RW) : origin = 0040000h length = 002000h */ /* on-chip SARAM 24 */
+ /* SARAM_25 (RW) : origin = 0042000h length = 002000h */ /* on-chip SARAM 25 */
+ /* SARAM_26 (RW) : origin = 0044000h length = 002000h */ /* on-chip SARAM 26 */
+ /* SARAM_27 (RW) : origin = 0046000h length = 002000h */ /* on-chip SARAM 27 */
+ /* SARAM_28 (RW) : origin = 0048000h length = 002000h */ /* on-chip SARAM 28 */
+ /* SARAM_29 (RW) : origin = 004a000h length = 002000h */ /* on-chip SARAM 29 */
+ /* SARAM_30 (RW) : origin = 004c000h length = 002000h */ /* on-chip SARAM 30 */
+ /* SARAM_31 (RW) : origin = 004e000h length = 002000h */ /* on-chip SARAM 31 */
+ SARAM (RW) : origin = 0010000h length = 040000h /* on-chip SARAM */
+
+ SAROM_0 (RX) : origin = 0ff0000h length = 008000h /* on-chip ROM 0 */
+ SAROM_1 (RX) : origin = 0ff8000h length = 007f00h /* on-chip ROM 1 */
+
+ VECS (RX) : origin = 0ffff00h length = 000100h /* on-chip ROM vectors */
+}
+SECTIONS
+{
+ .vectors_rts { rts55x.lib<vectors.obj> (vectors) } > SARAM, type = NOLOAD
+ .vectors_csl { C55XXCSL_LP.lib<vectors.obj> (vectors) } > SARAM
+ .text : > SARAM
+ .switch : > SARAM
+ .cinit : > SARAM
+ .pinit : > SARAM
+
+ .data : > SARAM
+ .bss : > SARAM
+ .const : > SARAM
+
+ .stack : > DARAM_2
+ .sysstack : > DARAM_2
+
+ .sysmem : > SARAM
+ .cio : > SARAM
+
+ .fir1Coefs : > SARAM
+ .fir2Coefs : > SARAM
+
+ .fir1DlyBuf : > DARAM_2
+ .fir2DlyBuf : > DARAM_2
+
+ .i2sDmaReadBufLeft : > SARAM
+ .i2sDmaReadBufRight : > SARAM
+ .cicOutFrame : > SARAM
+ .fir1OutFrame : > SARAM
+ .fir2OutFrame : > SARAM
+ .digGainOutFrame : > SARAM
+}
diff --git a/test_data/output/dig-mic-decimation_test_output.dat b/test_data/output/dig-mic-decimation_test_output.dat
--- /dev/null
@@ -0,0 +1,321 @@
+1651 9 1246a 1 140 2\r
+-11395\r
+-8740\r
+-7035\r
+-6550\r
+-7435\r
+-9470\r
+-12435\r
+-15725\r
+-19005\r
+-21680\r
+-23370\r
+-23825\r
+-23020\r
+-20955\r
+-17970\r
+-14625\r
+-11360\r
+-8685\r
+-7025\r
+-6540\r
+-7360\r
+-9375\r
+-12210\r
+-15555\r
+-18820\r
+-21445\r
+-23180\r
+-23700\r
+-22820\r
+-20750\r
+-17855\r
+-14600\r
+-11270\r
+-8580\r
+-6975\r
+-6495\r
+-7340\r
+-9355\r
+-12250\r
+-15550\r
+-18730\r
+-21435\r
+-23140\r
+-23600\r
+-22760\r
+-20670\r
+-17805\r
+-14450\r
+-11285\r
+-8630\r
+-6950\r
+-6555\r
+-7415\r
+-9455\r
+-12370\r
+-15710\r
+-18890\r
+-21625\r
+-23280\r
+-23725\r
+-22825\r
+-20800\r
+-17910\r
+-14575\r
+-11360\r
+-8620\r
+-6995\r
+-6610\r
+-7435\r
+-9470\r
+-12390\r
+-15690\r
+-18985\r
+-21690\r
+-23370\r
+-23845\r
+-22985\r
+-20905\r
+-17980\r
+-14705\r
+-11445\r
+-8835\r
+-7180\r
+-6740\r
+-7655\r
+-9600\r
+-12540\r
+-15910\r
+-19165\r
+-21890\r
+-23515\r
+-24020\r
+-23190\r
+-21185\r
+-18300\r
+-14990\r
+-11810\r
+-9175\r
+-7505\r
+-7060\r
+-7960\r
+-10005\r
+-12910\r
+-16225\r
+-19500\r
+-22190\r
+-23870\r
+-24305\r
+-23495\r
+-21455\r
+-18550\r
+-15260\r
+-11975\r
+-9320\r
+-7610\r
+-7170\r
+-7990\r
+-10025\r
+-12910\r
+-16220\r
+-19530\r
+-22145\r
+-23800\r
+-24230\r
+-23320\r
+-21255\r
+-18315\r
+-15020\r
+-11790\r
+-9055\r
+-7405\r
+-7000\r
+-7810\r
+-9850\r
+-12810\r
+-16085\r
+-19325\r
+-22015\r
+-23645\r
+-24060\r
+-23235\r
+-21170\r
+-18250\r
+-14930\r
+-11655\r
+-8965\r
+-7215\r
+-6800\r
+-7685\r
+-9730\r
+-12665\r
+-15990\r
+-19210\r
+-21940\r
+-23615\r
+-24060\r
+-23215\r
+-21120\r
+-18250\r
+-14950\r
+-11680\r
+-9045\r
+-7330\r
+-6860\r
+-7710\r
+-9725\r
+-12695\r
+-16035\r
+-19265\r
+-21915\r
+-23600\r
+-24025\r
+-23180\r
+-21110\r
+-18135\r
+-14820\r
+-11565\r
+-8850\r
+-7170\r
+-6630\r
+-7475\r
+-9530\r
+-12395\r
+-15745\r
+-18970\r
+-21635\r
+-23305\r
+-23735\r
+-22795\r
+-20755\r
+-17875\r
+-14520\r
+-11285\r
+-8640\r
+-6890\r
+-6455\r
+-7300\r
+-9320\r
+-12295\r
+-15560\r
+-18840\r
+-21510\r
+-23175\r
+-23680\r
+-22815\r
+-20780\r
+-17860\r
+-14500\r
+-11255\r
+-8570\r
+-6885\r
+-6470\r
+-7265\r
+-9330\r
+-12255\r
+-15535\r
+-18800\r
+-21440\r
+-23070\r
+-23500\r
+-22655\r
+-20560\r
+-17610\r
+-14305\r
+-11060\r
+-8365\r
+-6680\r
+-6250\r
+-7130\r
+-9165\r
+-12025\r
+-15405\r
+-18630\r
+-21370\r
+-23050\r
+-23480\r
+-22620\r
+-20565\r
+-17720\r
+-14375\r
+-11145\r
+-8490\r
+-6835\r
+-6430\r
+-7305\r
+-9355\r
+-12280\r
+-15620\r
+-18855\r
+-21520\r
+-23205\r
+-23635\r
+-22765\r
+-20730\r
+-17800\r
+-14550\r
+-11295\r
+-8630\r
+-6990\r
+-6495\r
+-7385\r
+-9425\r
+-12345\r
+-15690\r
+-18905\r
+-21600\r
+-23270\r
+-23750\r
+-22880\r
+-20820\r
+-17945\r
+-14660\r
+-11425\r
+-8780\r
+-7085\r
+-6600\r
+-7525\r
+-9590\r
+-12500\r
+-15830\r
+-19080\r
+-21740\r
+-23450\r
+-23870\r
+-22965\r
+-20900\r
+-17980\r
+-14620\r
+-11350\r
+-8655\r
+-6930\r
+-6505\r
+-7375\r
+-9465\r
+-12325\r
+-15650\r
+-18905\r
+-21535\r
+-23250\r
+-23670\r
+-22760\r
+-20730\r
+-17775\r
+-14445\r
+-11240\r
+-8510\r
+-6905\r
+-6435\r
+-7265\r
+-9365\r
+-12265\r
+-15625\r
+-18895\r
+-21560\r
+-23230\r
+-23650\r
+-22795\r
+-20780\r
+-17920\r
+-14635\r