<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Running a CMSIS-DSP-Library function from RAM in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/Running-a-CMSIS-DSP-Library-function-from-RAM/m-p/595079#M31241</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by g_mocken on Thu Jul 24 01:49:17 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks a lot, using the provided link_template.ld seems to work, and the performance boost is impressive, too.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 01:33:10 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T01:33:10Z</dc:date>
    <item>
      <title>Running a CMSIS-DSP-Library function from RAM</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Running-a-CMSIS-DSP-Library-function-from-RAM/m-p/595077#M31239</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by g_mocken on Wed Jul 16 05:55:33 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I know how to run individual functions of my own code from RAM (see &lt;/SPAN&gt;&lt;A href="http://http://www.lpcware.com/content/faq/lpcxpresso/placing-specific-functions-ram-blocks"&gt;here&lt;/A&gt;&lt;SPAN&gt;), but is there also a simple way to relocate an existing function in the CMSIS-DSP library to RAM without modifying the Library source code and recompiling it?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Guido&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:33:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Running-a-CMSIS-DSP-Library-function-from-RAM/m-p/595077#M31239</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:33:08Z</dc:date>
    </item>
    <item>
      <title>Re: Running a CMSIS-DSP-Library function from RAM</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Running-a-CMSIS-DSP-Library-function-from-RAM/m-p/595078#M31240</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Wed Jul 16 07:17:55 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;You will need to modify the linker script or linker script template to explicitly include/exclude the appropriate code sections in the appropriate memory. For more information, see:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcontent%2Ffaq%2Flpcxpresso%2Fown-linker-scripts" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.lpcware.com/content/faq/lpcxpresso/own-linker-scripts&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcontent%2Ffaq%2Flpcxpresso%2Flinker-script-templates" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.lpcware.com/content/faq/lpcxpresso/linker-script-templates&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But anyway, the attached project does exactly this using a linker script template. The key bits to note are that in the .text output section, the input section description:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca" style="border:1px solid black;background-color:#cacaca;"&gt; &lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.text*)
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;has been changed to:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca" style="border:1px solid black;background-color:#cacaca;"&gt; &lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(EXCLUDE_FILE(*libCMSIS_DSPLIB_CM4.a:) .text*)
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Then later in the script template, an extra .data output section has been added, to place the DSP functions into:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca" style="border:1px solid black;background-color:#cacaca;"&gt; &lt;PRE&gt;.data : ALIGN(4)
{
&amp;nbsp;&amp;nbsp; FILL(0xff)
&amp;nbsp;&amp;nbsp; . = ALIGN(4) ;
&amp;nbsp;&amp;nbsp; *libCMSIS_DSPLIB_CM4.a:(.text*)
&amp;nbsp;&amp;nbsp; . = ALIGN(4) ;
} &amp;gt;&amp;nbsp; ${DATA} AT&amp;gt;${CODE}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Check the map file after building to see where the code has been placed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The actual code in the project is the standard CMSIS_DSP "arm_class_marks_example_f32.c" example. See the CMSIS documentation for details.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The project has been created for the LPC4337. But you should be able to copy the source into a project of your own for a different MCU, and also copy the linkscripts folder (and its template) into your own project too.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;Note that in order to build this example, you will need to have imported the 'CMSIS_DSPLIB_CM4" project into your workspace too. For background information, see &lt;/SPAN&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcontent%2Ffaq%2Flpcxpresso%2Fcmsis-dsp-library" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.lpcware.com/content/faq/lpcxpresso/cmsis-dsp-library&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCXpresso Support&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:33:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Running-a-CMSIS-DSP-Library-function-from-RAM/m-p/595078#M31240</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:33:09Z</dc:date>
    </item>
    <item>
      <title>Re: Running a CMSIS-DSP-Library function from RAM</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Running-a-CMSIS-DSP-Library-function-from-RAM/m-p/595079#M31241</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by g_mocken on Thu Jul 24 01:49:17 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks a lot, using the provided link_template.ld seems to work, and the performance boost is impressive, too.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:33:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Running-a-CMSIS-DSP-Library-function-from-RAM/m-p/595079#M31241</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:33:10Z</dc:date>
    </item>
  </channel>
</rss>

