<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://e2e.ti.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>BIOS forum - Recent Threads</title><link>http://e2e.ti.com/support/embedded/bios/f/355.aspx</link><description>BIOS real time operating system, tools and software running on BIOS.  BIOS wiki.</description><dc:language>en-US</dc:language><generator>6.x Production</generator><item><title>How to open interrupt in the drivers of NDK2.21</title><link>http://e2e.ti.com/thread/265588.aspx</link><pubDate>Fri, 17 May 2013 07:31:07 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:7353b824-9e7e-490a-bdd5-2545118cdda8</guid><dc:creator>Junhao Zhuge</dc:creator><slash:comments>2</slash:comments><comments>http://e2e.ti.com/thread/265588.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265588/rss.aspx</wfw:commentRss><description>&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; I&amp;#39;m using CCS v5.3 develop C6748，I used SYS/BIOS.Now I want to add an interrupt nest in the EMAC interrupt,so I must open interrupt in the EMAC RXINT ISR,How to do?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>DSP/BIOS KNL_swi  Idle_busyObj variable task load</title><link>http://e2e.ti.com/thread/262470.aspx</link><pubDate>Thu, 02 May 2013 11:27:42 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:54a8b5fb-82f3-4896-8fff-ab1be523c5b7</guid><dc:creator>Diego de la Cruz</dc:creator><slash:comments>5</slash:comments><comments>http://e2e.ti.com/thread/262470.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/262470/rss.aspx</wfw:commentRss><description>&lt;div&gt;Hello,&lt;/div&gt;
&lt;div&gt;I have created a &lt;strong&gt;DSP/BIOS 5.42.0.7&lt;/strong&gt; application in &lt;strong&gt;CCSv5.3&lt;/strong&gt; project for &lt;strong&gt;ezDSP5535&lt;/strong&gt; USB kit. I have basically 2 tasks, apart from the main initialization task that is finalized at the beginning of execution:&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;1. An &lt;strong&gt;Audio task&lt;/strong&gt; based on the C55 Audio Framework that synchronizes using semaphores with the audio codec I2S Tx interrupt (HWI8) and Rx DMA (based on ddc i2s bios driver)&lt;/div&gt;
&lt;div&gt;The Audio task reads audio samples at 16kHz&amp;nbsp;&amp;nbsp;using a 2x64 ping-pong buffer, adds a long delay effect and then, writes the resulting samples in another 2x64 &amp;nbsp;ping-pong buffer.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;2. An &lt;strong&gt;MMCSD task&lt;/strong&gt; that writes and reads buffers of 256 samples from SD card. To store the delayed samples, since large buffers are not supported by memory provided on ezDSP5535, I am trying to use the SD card.&lt;/div&gt;
&lt;div&gt;I have adapted CSL_MMCSD_dmaExample to write and read chunks of 256 samples (since SD card buffer size is 512bytes)&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;The MMCSD task executes once for every 4 loops of Audio task. After four Audio task loops, 4x64=256 samples just read from audio codec are written into SD card. At the same time 4x64 = 256 delayed samples are read from SD card and stored into a DelayBuffer in memory.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Semaphores are used to synchronize Audio task and MMCSD task.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;The first disappointment is that it seems that SD card does not seem to offer enough bandwidth to &lt;strong&gt;work at 48kHz&lt;/strong&gt;, so I had to switch to &lt;strong&gt;16kHz&lt;/strong&gt;, though CPU load is around 20. Even though sometimes I observe TX FIFO &lt;strong&gt;UNDERFLOWS&lt;/strong&gt;: the Tx interrupt arrives but their corresponding samples have not been prepared yet.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;But the most serious issue I am facing is that during the first minute of execution there are many UNDERFLOWS, CPU load is 85 or more, KNL_swi average load is 2,700 and Idle_busyObj is 14,000. But after a minute of execution, when CPU time is around 70, the CPU load diminishes drastically to around 20, and the load of the previous tasks is inverted, KNL_swi is around 13,000 and Idle_busyObj is around 2,700.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Why is this? What I am doing wrong? How can identify what tasks are running? Is there a way to list task code execution order? I find the debugging options quite limited for C5535. I have not been able to make Thread Log to work.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;I have added LOG_printf traces, STS functions, and even added THRLOAD to be able to obtain task loads, but it doesn&amp;#39;t help.&amp;nbsp;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Load module: two method to show CpuLoad,HWILoad,TaskLoad</title><link>http://e2e.ti.com/thread/265840.aspx</link><pubDate>Sun, 19 May 2013 06:11:43 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:65c5b05f-006b-4f1b-8bf6-6cf22e3b91ac</guid><dc:creator>decai wang</dc:creator><slash:comments>0</slash:comments><comments>http://e2e.ti.com/thread/265840.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265840/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hi,Sir!&lt;/p&gt;
&lt;p&gt;Can you send me two demo projects (based on CCS5.x and F28X)how to use these two methods? the online help is just some&amp;nbsp;definition&amp;nbsp;related, no any demo code.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>HeapMem and GateMutex</title><link>http://e2e.ti.com/thread/265793.aspx</link><pubDate>Sat, 18 May 2013 08:17:56 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:c8519428-fb23-41d8-adce-c47947e2be02</guid><dc:creator>decai wang</dc:creator><slash:comments>4</slash:comments><comments>http://e2e.ti.com/thread/265793.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265793/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;I statically create one HeapMem Instant by GUI tools, and this HeapMem shall be shared by several tasks, some tasks use Memory_alloc() ,fill message and call MailBox_post(), other tasks &amp;nbsp;may call MailBox_pend() ,get the message and then call Memory_ free().&lt;/p&gt;
&lt;p&gt;This is a traditional intertask communication, so I want to know&lt;/p&gt;
&lt;p&gt;1.if Memory_alloc() and Memory_free() API is task-safe API?&lt;/p&gt;
&lt;p&gt;2.I read BIOS USER Guide V6.34. it seems you have to use gatemutex to protect this shared HeapMem Instant, is it right?&lt;/p&gt;
&lt;p&gt;3.but I can&amp;#39;t config this gatemutex &amp;nbsp;in HeapMem Instant Page, gateMutex config has to be done by editing .cfg file, no GUI tools , is it right?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/355/0763.HeapMem.jpg"&gt;&lt;img src="http://e2e.ti.com/resized-image.ashx/__size/550x0/__key/communityserver-discussions-components-files/355/0763.HeapMem.jpg" border="0" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/355/3835.HeapMem1.jpg"&gt;&lt;img src="http://e2e.ti.com/resized-image.ashx/__size/550x0/__key/communityserver-discussions-components-files/355/3835.HeapMem1.jpg" border="0" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>cross check of jumbo frame enable</title><link>http://e2e.ti.com/thread/264713.aspx</link><pubDate>Tue, 14 May 2013 07:14:48 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:1fa46137-9995-474b-bec0-44db06e835cc</guid><dc:creator>Uma Yakkanti</dc:creator><slash:comments>3</slash:comments><comments>http://e2e.ti.com/thread/264713.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/264713/rss.aspx</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Hello,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;I am working on NDK. I enabled jumbo frames and measured UDP&amp;nbsp;throughput but just to cross check I disabled jumbo frames and measured again, I&amp;#39;m getting the same results.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;The following are the environments settings:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Board: EVMDM8148 , NDK 2.21.01.38&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;strong&gt;Jumbo enable:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Added jumbo support in predefined processors.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Added &amp;nbsp;&amp;ldquo;_INCLUDE_JUMBOFRAME_SUPPORT&amp;rdquo; in the package.bld&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C:\&amp;lt;Ndk-Install-Dir&amp;gt;\packages\ti\ndk\stack\package.bld&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C:\&amp;lt;Ndk-Install-Dir&amp;gt;\packages\ti\ndk\netctrl\package.bld&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;strong&gt;Client:&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Added this snippet to ping beyond 3012:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;uint to = 65500;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:x-small;"&gt;// configure NDK&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:x-small;"&gt;CfgAddEntry(hCfg, CFGTAG_IP, CFGITEM_IP_IPREASMMAXSIZE,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:x-small;"&gt;CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8*) &amp;amp;to, 0);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:x-small;"&gt;CfgAddEntry(hCfg, CFGTAG_IP, CFGITEM_IP_SOCKUDPRXLIMIT,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:x-small;"&gt;CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8*) &amp;amp;to, 0);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;strong&gt;winapps: &amp;nbsp;&lt;/strong&gt;UDP BuffSize: 64000&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;strong&gt;Results:&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UDP Average&amp;nbsp;throughput on cortex-a8 &amp;nbsp;600 Mhz,&amp;nbsp;Supports ping beyond 3012&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;strong&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Jumbo Enabled: Send - &amp;gt; 21 MB/s &amp;nbsp; &amp;nbsp;Receive - &amp;gt; 11 MB/s&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;strong&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Jumbo Disabled: Send - &amp;gt; 21 MB/s Receive - &amp;gt; 11 MB/s&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;So it looks like jumbo frames are not enabled or there is no impact of Jumbo frames on UDP &amp;nbsp;for pings beyond 3012?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Why do I get such a low throughput on receive side?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Thank you so much for response in advance!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Uma.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Proper Way to Benchmark Timing within OpenMP on SYSBIOS on the C6678</title><link>http://e2e.ti.com/thread/265779.aspx</link><pubDate>Sat, 18 May 2013 00:06:40 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:3ac294ee-88a4-496c-b188-2dacb9c0fae0</guid><dc:creator>Ryan Radjabi</dc:creator><slash:comments>0</slash:comments><comments>http://e2e.ti.com/thread/265779.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265779/rss.aspx</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;What is the proper way to calculate execution times within a single core for a multi-core application using OpenMP?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In a single-core application, I use the Timestamp_get32() function to count cycles between lines of code, although this doesn&amp;#39;t seem to return the correct value for code inside the&lt;span&gt;&amp;nbsp;#pragma omp parallel private(nthreads, tid)&lt;/span&gt;block in my code.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I ran the multiplication for a Hanning window both inside and outside the OMP pragma and roughly got the results I was seeing on my single-core application.&amp;nbsp;&lt;b&gt;Time benchmarks within the pragma are around 6-8 times what they are outside the pragma.&amp;nbsp;&lt;/b&gt;Check out the simple C code below. There isn&amp;rsquo;t anything fancy going on, this is built around the HelloWorld template for OpenMP. This time difference is irrelevant if I set this application for 1 core, 4 cores, or 8 cores.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Can Timestamp_get32() be trusted within the pragma statement?&lt;/p&gt;
&lt;div&gt;&lt;span&gt;/******************************************************************************&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;* FILE: omp_hello.c&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;* DESCRIPTION:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;*&amp;nbsp;&amp;nbsp; OpenMP Example - Hello World - C/C++ Version&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;*&amp;nbsp;&amp;nbsp; In this simple example, the master thread forks a parallel region.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;*&amp;nbsp;&amp;nbsp; All threads in the team obtain their unique thread number and print it.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;*&amp;nbsp;&amp;nbsp; The master thread only prints the total number of threads.&amp;nbsp; Two OpenMP&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;*&amp;nbsp;&amp;nbsp; library routines are used to obtain the number of threads and each&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;*&amp;nbsp;&amp;nbsp; thread&amp;#39;s number.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;* AUTHOR:&amp;nbsp;&lt;span&gt;Blaise&lt;/span&gt;&amp;nbsp;&lt;span&gt;Barney&lt;/span&gt;&amp;nbsp; 5/99&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;* LAST REVISED: 04/06/05&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;******************************************************************************/&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#include&lt;/b&gt;&amp;nbsp;&amp;lt;ti/omp/omp.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#include&lt;/b&gt;&amp;nbsp;&amp;lt;string.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#include&lt;/b&gt;&amp;nbsp;&amp;lt;assert.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#include&lt;/b&gt;&amp;nbsp;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#include&lt;/b&gt;&amp;nbsp;&amp;lt;time.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#include&lt;/b&gt;&amp;nbsp;&amp;lt;stdint.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#include&lt;/b&gt;&amp;nbsp;&amp;lt;xdc/std.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#include&lt;/b&gt;&amp;nbsp;&amp;lt;xdc/runtime/System.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#include&lt;/b&gt;&amp;nbsp;&amp;lt;ti/&lt;a href="http://www.ti.com/tool/sysbios" title="Link to Tool Folder" target="_blank"&gt;sysbios&lt;/a&gt;/BIOS.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#include&lt;/b&gt;&amp;nbsp;&amp;lt;xdc/runtime/Log.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#include&lt;/b&gt;&amp;nbsp;&amp;lt;xdc/runtime/Timestamp.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#include&lt;/b&gt;&amp;nbsp;&amp;lt;math.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#define&lt;/b&gt;&amp;nbsp;NTHREADS&amp;nbsp; 1&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#define&lt;/b&gt;&amp;nbsp;FFT_MAX_L 2048&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#define&lt;/b&gt;&amp;nbsp;PI 3.14159265358979323846&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;float&lt;/b&gt;&amp;nbsp; multiplier[ 2048 ];&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;void&lt;/b&gt;&amp;nbsp;&lt;b&gt;generateHanningLookup&lt;/b&gt;(&amp;nbsp;&lt;b&gt;void&lt;/b&gt;&amp;nbsp;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int32_t i;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;for&lt;/b&gt;&amp;nbsp;(i = 0; i &amp;lt; 2048; i++)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // equation from stackoverflow.com&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; multiplier[ i ] = 0.5 * ( 1 -&amp;nbsp;&lt;b&gt;cos&lt;/b&gt;( 2 * PI * i / ( FFT_MAX_L - 1 ) ) );&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;void&lt;/b&gt;&amp;nbsp;&lt;b&gt;main&lt;/b&gt;()&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;int&lt;/b&gt;&amp;nbsp;nthreads, tid;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nthreads = NTHREADS;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;omp_set_num_threads&lt;/b&gt;(NTHREADS);&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;int16_t&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; windowOutputData[ FFT_MAX_L ];&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint16_t j;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t start, totalTime;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; generateHanningLookup();&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; start = Timestamp_get32();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;for&lt;/b&gt;( j = 0; j &amp;lt; FFT_MAX_L; j++ )&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; windowOutputData[ j ] = j * multiplier[ j ];&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;printf&lt;/b&gt;( &amp;quot;HANNING#1 = [ %u ] cycles \n&amp;quot;, ( Timestamp_get32() - start ) );&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; totalTime = Timestamp_get32();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Fork a team of threads giving them their own copies of variables */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;b&gt;#pragma&lt;/b&gt;&amp;nbsp;omp parallel private(nthreads, tid)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Obtain thread number */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tid =&amp;nbsp;&lt;b&gt;omp_get_thread_num&lt;/b&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;printf&lt;/b&gt;(&amp;quot;Hello World from thread = %d\n&amp;quot;, tid);&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Only master thread does this */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt;&amp;nbsp;(tid == 0)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nthreads =&amp;nbsp;&lt;b&gt;omp_get_num_threads&lt;/b&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;printf&lt;/b&gt;(&amp;quot;Number of threads = %d\n&amp;quot;, nthreads);&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;span&gt;Hanning&lt;/span&gt;&amp;nbsp;Window&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; start = Timestamp_get32();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;for&lt;/b&gt;( j = 0; j &amp;lt; FFT_MAX_L; j++ )&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; windowOutputData[ j ] = j * multiplier[ j ];&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;printf&lt;/b&gt;( &amp;quot;HANNING#OMP = [ %u ] cycles \n&amp;quot;, ( Timestamp_get32() - start ) );&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;else&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tid =&amp;nbsp;&lt;b&gt;omp_get_thread_num&lt;/b&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t startMp = Timestamp_get32();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;for&lt;/b&gt;( j = 0; j &amp;lt; FFT_MAX_L; j++ )&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; windowOutputData[ j ] = j * multiplier[ j ];&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;printf&lt;/b&gt;( &amp;quot;HANNING#%u = [ %u ] cycles \n&amp;quot;, tid, ( Timestamp_get32() - startMp ) );&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; /* All threads join master thread and disband */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;printf&lt;/b&gt;( &amp;quot;OMP TIME = [ %u ] cycles \n&amp;quot;, ( Timestamp_get32() - totalTime ) );&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; start = Timestamp_get32();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;for&lt;/b&gt;( j = 0; j &amp;lt; FFT_MAX_L; j++ )&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; windowOutputData[ j ] = j * multiplier[ j ];&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;printf&lt;/b&gt;( &amp;quot;HANNING#2 = [ %u ] cycles \n&amp;quot;, ( Timestamp_get32() - start ) );&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>SysBios Support for ARM Cortex A8?</title><link>http://e2e.ti.com/thread/265601.aspx</link><pubDate>Fri, 17 May 2013 08:45:30 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:259442e3-5e8c-4f27-8d98-fbc87e901d9b</guid><dc:creator>Alphan Karacaer</dc:creator><slash:comments>1</slash:comments><comments>http://e2e.ti.com/thread/265601.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265601/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Does SysBios support ARM Cortex A8, particularly in TCI6614?&lt;/p&gt;
&lt;p&gt;I can&amp;#39;t find any example projects to run on evm6614&amp;#39;s ARM Processor.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Seeking SYSBIOS example of a UART ISR communicating with a task?</title><link>http://e2e.ti.com/thread/265745.aspx</link><pubDate>Fri, 17 May 2013 18:47:06 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:a7ad283d-3627-43f4-bf6e-31ae85642d6c</guid><dc:creator>Ed Sutton</dc:creator><slash:comments>1</slash:comments><comments>http://e2e.ti.com/thread/265745.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265745/rss.aspx</wfw:commentRss><description>&lt;p&gt;Can anyone refer me to a UART ISR example implementation?&lt;/p&gt;
&lt;p&gt;I am using:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;DM6466&lt;/li&gt;
&lt;li&gt;SYSBIOS 6.32.02.18&lt;/li&gt;
&lt;li&gt;CCS5.3&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I inherited prototype software that &lt;span style="text-decoration:underline;"&gt;&lt;strong&gt;polls&lt;/strong&gt;&lt;/span&gt; UART0 in a task. &amp;nbsp; Despite a polling implementation it is capable of handling reception of 40 byte messages reliably at a baud rate of 115200. &amp;nbsp;However, when debugging under CCS5.3 using a Blackhawk USB510L I must&lt;span style="text-decoration:underline;"&gt;&lt;strong&gt; add a 200ms delay after sending each byte&lt;/strong&gt;&lt;/span&gt; to prevent UART overruns. &amp;nbsp;While this may indicate a problem with my USB510L, I think it also demonstrates that the serial handler should be a real interrupt handler. &amp;nbsp;For example, an ISR with a large circular buffer that signals a message processing task when buffer has data waiting.&lt;/p&gt;
&lt;p&gt;Thanks in advance,&lt;/p&gt;
&lt;p&gt;-Ed&lt;/p&gt;
&lt;p&gt;SYSBIOS newbie&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>SYSBIOS 6.33.6.50 - vsprintf use - prints garbage</title><link>http://e2e.ti.com/thread/265768.aspx</link><pubDate>Fri, 17 May 2013 21:13:57 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:c25e8028-f487-480a-b845-bc29c0295b6e</guid><dc:creator>Harikrishna Vuppaladhadiam</dc:creator><slash:comments>0</slash:comments><comments>http://e2e.ti.com/thread/265768.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265768/rss.aspx</wfw:commentRss><description>&lt;p&gt;Processor: c6657 using PDK 2.1.1.4&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I am trying to use my own print function to send character string to destination Host processor from DSP.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For now my function is very simple:&lt;/p&gt;
&lt;p&gt;main()&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;st_dpf(&amp;quot;testp_sub(%d, %d, %d, %d, %s, %d)\n&amp;quot;, nMsgs, nBytes, nb, quiet, diag, wrsel);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;void st_dpf(const char *fmt, ... )&lt;br /&gt;{&lt;br /&gt; va_list arg_ptr;&lt;br /&gt; uint32_t i, length;&lt;/p&gt;
&lt;p&gt;/* Initial platform_write to temporary buffer.. at least try some sort of sanity check so we don&amp;#39;t write all over&lt;br /&gt; * memory if the print is too large.&lt;br /&gt; */&lt;br /&gt; if (strlen(fmt) &amp;gt; MAX_WRITE_LEN) {/* platform_errno = PLATFORM_ERRNO_INVALID_ARGUMENT;*/ return;}&lt;/p&gt;
&lt;p&gt;va_start( arg_ptr, fmt );&lt;br /&gt; length = vsprintf( (char *)write_buffer, fmt, arg_ptr );&lt;br /&gt; va_end( arg_ptr );&lt;/p&gt;
&lt;p&gt;for (i=0; i &amp;lt; length; i++)&lt;br /&gt; {&lt;br /&gt; (void) platform_uart_write((uint8_t)write_buffer[i]);&lt;br /&gt; }&lt;br /&gt; return;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;{ &amp;agrave;|Ixw&amp;euml;@&amp;yacute;&amp;Egrave;&amp;yen;4&amp;ETH;JHh.y&amp;gt; ..&amp;lt;]&amp;iuml;&amp;cent;&amp;icirc;&lt;br /&gt;{ w&amp;euml;@&amp;yacute;&amp;Egrave;&amp;yen;4&amp;ETH;JHh.y&amp;gt; ..&amp;lt;]&amp;iuml;&amp;cent;&amp;icirc;|Ix&amp;iexcl;P&amp;reg;5&amp;curren;F#$iGk&amp;Ecirc;B&amp;acirc;^?qZ&lt;br /&gt;{ w&amp;euml;@&amp;yacute;&amp;Egrave;&amp;yen;4&amp;ETH;JHh.y&amp;gt; ..&amp;lt;]&amp;iuml;&amp;cent;&amp;icirc;|Ix&amp;iexcl;P&amp;reg;5&amp;curren;F#$iGk&amp;Ecirc;B&amp;acirc;^?qZ&lt;br /&gt;{ w&amp;euml;@&amp;yacute;&amp;Egrave;&amp;yen;4&amp;ETH;JHh.y&amp;gt; .. &amp;agrave;|Ix&amp;iexcl;P&amp;reg;5&amp;curren;F#$iGk&amp;Ecirc;B&amp;acirc;^?qZ&lt;br /&gt;retval=0 (0x00)&lt;/p&gt;
&lt;p&gt;This prints on UART console all Garbage.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When I set a breakpoint at the entry of the st_dpf(), the fmt does not contain the arguments I am sending.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Added a power point presentation on this problem we analyzed. The crash comes because of invalid pointer access 0x00000001.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://e2e.ti.com/support/embedded/bios/f/355/t/265768.aspx"&gt;(Please visit the site to view this file)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Not sure exactly which group this problem belongs. We start with sysbios.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Timer jitters with SYS/BIOS</title><link>http://e2e.ti.com/thread/264545.aspx</link><pubDate>Mon, 13 May 2013 15:01:10 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:12bc2402-b062-4052-a888-36fd5ac0ac92</guid><dc:creator>Erik Dinh</dc:creator><slash:comments>6</slash:comments><comments>http://e2e.ti.com/thread/264545.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/264545/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am working on a project using the Concerto and I need to use a timer to trigger ADC SOCs on the C28 side, which I use SYSBIOS (6.34.2.18). Everything went as expected, except when I looked more carefully on a scope at the toggled test point inside the ADC ISR, I could see that it occasionally jittered up to 5us on each side (10us total). I tried to disable all the SYSBIOS modules (task, sem, log, clock, etc.) but it didn&amp;#39;t help.&lt;/p&gt;
&lt;p&gt;Then I did a little experiment and modified a non-SYSBIOS ADC example to have it trigger on a timer, and the toggled TP looked solid (jitter was about 100ns, which was not bad). So it could be the SYSBIOS that causes the jitter for some reason.&lt;/p&gt;
&lt;p&gt;My questions are: Has anyone seen this? And what is the work around, if any?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Erik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Can I check if firmware is already loaded on the DSP?</title><link>http://e2e.ti.com/thread/265428.aspx</link><pubDate>Thu, 16 May 2013 14:04:54 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:cd9d1427-6bfe-4ba8-8f2f-919f5c26c966</guid><dc:creator>Markus Grunwald</dc:creator><slash:comments>1</slash:comments><comments>http://e2e.ti.com/thread/265428.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265428/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;when I use firmware_loader twice to load my firmware to the DSP, it crashes:&lt;/p&gt;
&lt;p&gt;# firmware_loader 0 App_debug.xe674 start&lt;br /&gt;FIRMWARE: I2cInit will be done by M3&lt;br /&gt;FIRMWARE: Memory map bin file not passed&lt;br /&gt;Usage : firmware_loader &amp;lt;Processor Id&amp;gt; &amp;lt;Location of Firmware&amp;gt; &amp;lt;start|stop&amp;gt; [-mmap &amp;lt;memory_map_file&amp;gt;] [-i2c &amp;lt;0|1&amp;gt;]&lt;br /&gt;===Mandatory arguments=== &lt;br /&gt;&amp;lt;Processor Id&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0: DSP, 1: Video-M3, 2: Vpss-M3 &lt;br /&gt;&amp;lt;Location of Firmware&amp;gt; firmware binary file &lt;br /&gt;&amp;lt;start|stop&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; to start/stop the firmware &lt;br /&gt;===Optional arguments=== &lt;br /&gt;-mmap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input memory map bin file name &lt;br /&gt;-i2c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0: i2c init not done by M3, 1(default): i2c init done by M3 &lt;br /&gt;FIRMWARE: isI2cInitRequiredOnM3: 1&lt;br /&gt;FIRMWARE: Default memory configuration is used&lt;br /&gt;Firmware Loader debugging not configured&lt;br /&gt;Default FL_DEBUG: warning&lt;br /&gt;Allowed FL_DEBUG levels: error, warning, info, debug, log&lt;br /&gt;MemCfg: DCMM (Dynamically Configurable Memory Map) Version :&amp;nbsp; 2.1.2.1&lt;br /&gt;FIRMWARE: 0 start Successful&lt;br /&gt;# firmware_loader 0 App_debug.xe674 start&lt;br /&gt;FIRMWARE: I2cInit will be done by M3&lt;br /&gt;FIRMWARE: Memory map bin file not passed&lt;br /&gt;Usage : firmware_loader &amp;lt;Processor Id&amp;gt; &amp;lt;Location of Firmware&amp;gt; &amp;lt;start|stop&amp;gt; [-mmap &amp;lt;memory_map_file&amp;gt;] [-i2c &amp;lt;0|1&amp;gt;]&lt;br /&gt;===Mandatory arguments=== &lt;br /&gt;&amp;lt;Processor Id&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0: DSP, 1: Video-M3, 2: Vpss-M3 &lt;br /&gt;&amp;lt;Location of Firmware&amp;gt; firmware binary file &lt;br /&gt;&amp;lt;start|stop&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; to start/stop the firmware &lt;br /&gt;===Optional arguments=== &lt;br /&gt;-mmap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input memory map bin file name &lt;br /&gt;-i2c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0: i2c init not done by M3, 1(default): i2c init done by M3 &lt;br /&gt;FIRMWARE: isI2cInitRequiredOnM3: 1&lt;br /&gt;FIRMWARE: Default memory configuration is used&lt;br /&gt;Firmware Loader debugging not configured&lt;br /&gt;Default FL_DEBUG: warning&lt;br /&gt;Allowed FL_DEBUG levels: error, warning, info, debug, log&lt;br /&gt;MemCfg: DCMM (Dynamically Configurable Memory Map) Version :&amp;nbsp; 2.1.2.1&lt;br /&gt;FIRMWARE: Ipc_CONTROLCMD_STARTCALLBACK Error: ProcMgr status 0xffffffff&lt;br /&gt;FIRMWARE: Could not start: -1&lt;br /&gt;#&lt;/p&gt;
&lt;p&gt;It&amp;#39;s similar when calling # firmware_loader 0 App_debug.xe674 stop when no firmware is loaded: firmware_loader never returns in this case&amp;gt;&lt;/p&gt;
&lt;p&gt;Is there a way to prevent this? Can I check if the firmware is already loaded, from the commandline?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>SYS/BIOS MCSDK and Linux MCSDK</title><link>http://e2e.ti.com/thread/264769.aspx</link><pubDate>Tue, 14 May 2013 09:48:43 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:1979a8c0-0745-42ce-b84c-75306ddc515f</guid><dc:creator>Lopet azer</dc:creator><slash:comments>1</slash:comments><comments>http://e2e.ti.com/thread/264769.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/264769/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hi Guys ,&lt;/p&gt;
&lt;p&gt;I have a question : What is the difference between the SYS/Bios MCSDK and the Linux MCSDK ?&lt;/p&gt;
&lt;p&gt;is the Linux MCSDK already installed in the EVM Board ?&lt;/p&gt;
&lt;p&gt;Best Regard&lt;/p&gt;
&lt;p&gt;Lopez &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>returning from exception (B NRP) in BIOS as part of silicon errata workaround</title><link>http://e2e.ti.com/thread/264037.aspx</link><pubDate>Thu, 09 May 2013 23:54:24 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:2368dc5a-15d7-4b41-8021-d2d247b3a633</guid><dc:creator>Brad Caldwell</dc:creator><slash:comments>24</slash:comments><comments>http://e2e.ti.com/thread/264037.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/264037/rss.aspx</wfw:commentRss><description>&lt;p&gt;Dear BIOS champs,&lt;/p&gt;
&lt;p&gt;I have a somewhat complicated question about BIOS and exception handling. It&amp;#39;s in reference to the below forum post which has other non BIOS related questions in it. I&amp;#39;m looking for help with the BIOS specific aspect.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/112/p/263970/923261.aspx#923261"&gt;http://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/112/p/263970/923261.aspx#923261&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>TSK_sleep is not returning - evm 5515</title><link>http://e2e.ti.com/thread/262909.aspx</link><pubDate>Sat, 04 May 2013 22:02:47 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:26bcdba1-033d-418a-8b91-c818b16ca52f</guid><dc:creator>RUBBI</dc:creator><slash:comments>5</slash:comments><comments>http://e2e.ti.com/thread/262909.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/262909/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hi all,&lt;/p&gt;
&lt;p&gt;I am debugging very simple application&amp;nbsp; with evm 5515 - two tasks - the same priority in the same form:&lt;/p&gt;
&lt;p&gt;while (1)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;printf (&amp;quot;something&amp;quot;);&lt;/p&gt;
&lt;p&gt;TSK_sleep (1000);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;Unfortunately, I see that each task is running only once - I suppose that TSK_sleep is not returning.&lt;/p&gt;
&lt;p&gt;Possible reason - timer is not running - where can I check this?&lt;/p&gt;
&lt;p&gt;Thanks in advance&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>firmware_loader error when attempting to stop DSP on DM814x</title><link>http://e2e.ti.com/thread/263741.aspx</link><pubDate>Wed, 08 May 2013 19:17:27 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:42031cd0-2ef8-4447-b221-a5f0a035cde3</guid><dc:creator>Daniel70334</dc:creator><slash:comments>7</slash:comments><comments>http://e2e.ti.com/thread/263741.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/263741/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am trying to stop the DSP on the DM814x, as part of implementing a low power mode. &amp;nbsp;I find that the &lt;strong&gt;firmware_loader stop&lt;/strong&gt; operation fails - if both video or audio have been played simultaneously. &amp;nbsp;I was able to reproduce this issue with normal EZSDK examples, using the &lt;strong&gt;ti-ezsdk_dm814x-evm_5_05_02_00,&lt;/strong&gt;&amp;nbsp;without modification&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Procedure:&lt;/p&gt;
&lt;p&gt;1. Start EVM as you would normally.&lt;/p&gt;
&lt;p&gt;2. Wait for TI&amp;#39;s Qt matrix app to start.&lt;/p&gt;
&lt;p&gt;3. Load DSP code using the following lines:&lt;/p&gt;
&lt;p style="margin-left:30px;"&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;strong&gt;# cd /usr/share/ti/rpe&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;strong&gt;# firmware_loader 0 ./dm81xx_c6xdsp_debug.xe674 start&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;4.&amp;nbsp;Start video decode+display as background process:&lt;/p&gt;
&lt;p style="margin-left:30px;"&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;strong&gt;# /usr/bin/runDecodeDisplayHDMI &amp;amp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;5.&amp;nbsp;Start audio decode&amp;nbsp;&lt;em&gt;while&lt;/em&gt;&amp;nbsp;video is still being decoded:&lt;/p&gt;
&lt;p style="margin-left:30px;"&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;strong&gt;# ./aacdec_a8host_debug.xv5T -i aacdectest.cfg&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;6.&amp;nbsp;&lt;strong&gt;Wait&lt;/strong&gt;&amp;nbsp;for video display to finish.&lt;/p&gt;
&lt;p&gt;7. Attempt to stop DSP firmware:&lt;/p&gt;
&lt;p style="margin-left:30px;"&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;strong&gt;# firmware_loader 0 /usr/share/ti/rpe/dm81xx_c6xdsp_debug.xe674 stop&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;FIRMWARE: I2cInit will be done by M3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;FIRMWARE: Memory map bin file not passed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Usage : firmware_loader &amp;lt;Processor Id&amp;gt; &amp;lt;Location of Firmware&amp;gt; &amp;lt;start|stop&amp;gt; [-mmap &amp;lt;memory_map_file&amp;gt;] [-i2c &amp;lt;0|1&amp;gt;]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;===Mandatory arguments===&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;lt;Processor Id&amp;gt; 0: DSP, 1: Video-M3, 2: Vpss-M3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;lt;Location of Firmware&amp;gt; firmware binary file&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;lt;start|stop&amp;gt; to start/stop the firmware&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;===Optional arguments===&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;-mmap input memory map bin file name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;-i2c 0: i2c init not done by M3, 1(default): i2c init done by M3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;FIRMWARE: isI2cInitRequiredOnM3: 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;FIRMWARE: Default memory configuration is used&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Firmware Loader debugging not configured&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Default FL_DEBUG: warning&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Allow&lt;span style="background-color:#ffff00;"&gt;&lt;strong&gt;Assertion at Line no: 1799 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/MessageQ.c: (MessageQ_module-&amp;gt;heaps [heapId] != NULL) : failed&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;ed FL_DEBUG levels: error, warning, info, debug, log&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;MemCfg: DCMM (Dynamically Configurable Memory Map) Version : 2.1.2.1&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Hopefully, you can see the same error. &amp;nbsp;Do I need to do something specially to successfully stop the DSP?&lt;/p&gt;
&lt;p&gt;FYI, I initially submitted this issue to the &lt;strong&gt;DM814x&lt;/strong&gt; forum, but they could not solve it due to &amp;quot;&lt;span&gt;lack of resources&amp;quot;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Dan -&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Clock interrupt problem when core 0 and core1 is executed simultaneously</title><link>http://e2e.ti.com/thread/263554.aspx</link><pubDate>Wed, 08 May 2013 07:08:52 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:7ca0a65c-3695-47e7-ac4c-8bbb69c9c34b</guid><dc:creator>Watanabe Katsuhiko</dc:creator><slash:comments>5</slash:comments><comments>http://e2e.ti.com/thread/263554.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/263554/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hi, all.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am using as follows.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SYS/BIOS: 6.34.4.22&lt;/p&gt;
&lt;p&gt;　　　　　　　 NDK:　2.21.1.38&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCSDK: 2.1.2.6&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDK: c6657 1.1.2.6&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Target cpu is c6657.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I executed clock interrupt with attached sample core_0_project, it worked propelry.&lt;/p&gt;
&lt;p&gt;core_0_project executes clock interrupt for every 20us, and it works on cpu core 0.&lt;/p&gt;
&lt;p&gt;But when I executed core_0_project on cpu core0 and core_1_project on cpu core 1 simultaneously,&lt;/p&gt;
&lt;p&gt;the interval of clock interrupt of core_0_project is incorrect.&lt;/p&gt;
&lt;p&gt;I can&amp;#39;t understand why this happens.&lt;/p&gt;
&lt;p&gt;Please give me advise.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://e2e.ti.com/support/embedded/bios/f/355/t/263554.aspx"&gt;(Please visit the site to view this file)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Katsuhiko Watanabe&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>System Analyzer no "Task load" and "CPU load"</title><link>http://e2e.ti.com/thread/265612.aspx</link><pubDate>Fri, 17 May 2013 09:17:58 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:4cdc2f8e-a067-457c-afde-78c0d8f43c91</guid><dc:creator>Youssef Lyoussfi</dc:creator><slash:comments>0</slash:comments><comments>http://e2e.ti.com/thread/265612.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265612/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m using the system analyzer under sys/bios,&lt;/p&gt;
&lt;p&gt;when i do a live execution i get just the execution graph, the task load and cpu load still empty.&lt;/p&gt;
&lt;p&gt;This is a part of .cfg file where i configure system analyzer :&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#339966;"&gt;var LoggingSetup = xdc.useModule(&amp;#39;ti.uia.sysbios.LoggingSetup&amp;#39;);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#339966;"&gt;LoggingSetup.loadLogging = true;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#339966;"&gt;LoggingSetup.mainLogging = true;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#339966;"&gt;LoggingSetup.sysbiosTaskLogging = true;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;And this is what i got after execution :&lt;/p&gt;
&lt;p&gt;&lt;a href="http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/355/7840.graphexec.jpg"&gt;&lt;img src="http://e2e.ti.com/resized-image.ashx/__size/550x0/__key/communityserver-discussions-components-files/355/7840.graphexec.jpg" border="0" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/355/7840.graphexec.jpg"&gt;&lt;/a&gt;&lt;a href="http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/355/3247.ff.jpg"&gt;&lt;img src="http://e2e.ti.com/resized-image.ashx/__size/550x0/__key/communityserver-discussions-components-files/355/3247.ff.jpg" border="0" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/355/3247.ff.jpg"&gt;&lt;/a&gt;&lt;a href="http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/355/7127.fff.jpg"&gt;&lt;img src="http://e2e.ti.com/resized-image.ashx/__size/550x0/__key/communityserver-discussions-components-files/355/7127.fff.jpg" border="0" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/355/7127.fff.jpg"&gt;&lt;/a&gt;I use :&lt;/p&gt;
&lt;p&gt;- CCS version&amp;nbsp;&amp;nbsp;5.3.0.00090&lt;/p&gt;
&lt;p&gt;- Sys/Bios version 6.34.2.18&lt;/p&gt;
&lt;p&gt;- System analyzer version 1.1.1.14&lt;/p&gt;
&lt;p&gt;- XDC tools version 3.24.5.48&lt;/p&gt;
&lt;p&gt;- Target used TMS320C6678&lt;/p&gt;
&lt;p&gt;I founded a patch in this page :&lt;/p&gt;
&lt;p&gt;&lt;a href="http://processors.wiki.ti.com/index.php/Multicore_System_Analyzer#DVT_patch_for_CCS_5.1.2F5.1.1"&gt;http://processors.wiki.ti.com/index.php/Multicore_System_Analyzer#DVT_patch_for_CCS_5.1.2F5.1.1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I intall it but it doesn&amp;#39;t work because i have newer version of CCS and it must be corrected implicitly.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>64bit Timestamp on C28</title><link>http://e2e.ti.com/thread/265610.aspx</link><pubDate>Fri, 17 May 2013 09:09:40 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:b6d415f5-ebb8-4b7f-8d7b-5d862259643a</guid><dc:creator>Michael Furxer1</dc:creator><slash:comments>0</slash:comments><comments>http://e2e.ti.com/thread/265610.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265610/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am using SYS/BIOS 6.35 on a F2812 Processor and encountered a Problem using the C28 TimestampProvider Module:When i call TimestampProvider_get64(...) get a structure with&amp;nbsp;.hi&amp;nbsp; and a .lo field. I can see the&amp;nbsp;.lo field increasing while the&amp;nbsp;.hi field remains zero as expected. When the&amp;nbsp;.lo field rolls over, the&amp;nbsp;&amp;nbsp;.hi field turns to 1, also as expected. But when the&amp;nbsp;.lo field rolls over for the second time, the.hi field stays at value 1 and doesnt increase further. The documentation says that the full 64bit value can be used if the Timstamp module is configured to use its own Timer. Please Help!&lt;/p&gt;
&lt;p&gt;Conf:&lt;/p&gt;
&lt;p&gt;TimestampProvider.timerId = 1; &lt;br /&gt;TimestampProvider.useClockTimer = false; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>No logs with DSP/BIOS and CCS 5.4</title><link>http://e2e.ti.com/thread/265609.aspx</link><pubDate>Fri, 17 May 2013 09:09:18 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:e81dbaf5-37ae-4f90-8867-8594a39280f5</guid><dc:creator>Reinier Coetzer</dc:creator><slash:comments>0</slash:comments><comments>http://e2e.ti.com/thread/265609.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265609/rss.aspx</wfw:commentRss><description>&lt;p&gt;Good day experts,&lt;/p&gt;
&lt;p&gt;My setup is as follows:&lt;/p&gt;
&lt;p&gt;- C6748 DSP&lt;/p&gt;
&lt;p&gt;- DSP/BIOS 5.42.1.09&lt;/p&gt;
&lt;p&gt;- CCS&amp;nbsp;5.4.0.00091&lt;/p&gt;
&lt;p&gt;I have recently upgraded to the latest CCS, but now I do not seem to get any logs or CPU load &amp;nbsp;anymore. Has something changed in how to activate logs in the TCF script file or am I missing something else?&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Reinier&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>E_spOutOfBounds Task stack error</title><link>http://e2e.ti.com/thread/265369.aspx</link><pubDate>Thu, 16 May 2013 10:51:31 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:ef4160c3-032b-459f-90ca-92865d6518a3</guid><dc:creator>Youssef Lyoussfi</dc:creator><slash:comments>2</slash:comments><comments>http://e2e.ti.com/thread/265369.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265369/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m trying to do a task slicing uning a clock module.&lt;/p&gt;
&lt;p&gt;But when i execute the code i get this error :&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#ff0000;"&gt;Taskti.sysbios.knl.Task: line 365: E_spOutOfBounds: Task 0xc008920 stack error, SP = 0xc0059d0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;I verified the task stack and it&amp;#39;s above stackPeak as shown in the scrrenshot&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;&lt;a href="http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/355/8233.Untitled.jpg"&gt;&lt;img src="http://e2e.ti.com/resized-image.ashx/__size/550x0/__key/communityserver-discussions-components-files/355/8233.Untitled.jpg" border="0" alt=" " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;The .c and .cfg are attached below :&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;&lt;a href="http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/355/8233.Untitled.jpg"&gt;&lt;/a&gt;&lt;a href="http://e2e.ti.com/support/embedded/bios/f/355/t/265369.aspx"&gt;(Please visit the site to view this file)&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Can anybody provide some demo project(based on F28335) about how to use HWI_plug?</title><link>http://e2e.ti.com/thread/265595.aspx</link><pubDate>Fri, 17 May 2013 08:21:25 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:c0928320-d6a1-4dac-bba7-53033f3da41f</guid><dc:creator>decai wang</dc:creator><slash:comments>0</slash:comments><comments>http://e2e.ti.com/thread/265595.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265595/rss.aspx</wfw:commentRss><description>&lt;p&gt;This demo project is better to create one HWI instant and one HWI_plug and demo how to write Raw ISR.&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>GateMP_Remote Protect_System  as default by gateMP_init</title><link>http://e2e.ti.com/thread/265593.aspx</link><pubDate>Fri, 17 May 2013 08:08:26 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:0ecad8e2-934e-4d3e-8d99-65bccb43a48d</guid><dc:creator>Anshul Maheshwari</dc:creator><slash:comments>0</slash:comments><comments>http://e2e.ti.com/thread/265593.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/265593/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;I wanted to know when there would be such condition when we&lt;/p&gt;
&lt;p&gt;will call CUSTOM or NONE&lt;/p&gt;
&lt;p&gt;any reference document would be praised.&lt;/p&gt;
&lt;p&gt;i have already gone through doxygen document of ipc&lt;/p&gt;
&lt;p&gt;and sysbios&amp;nbsp; user guide&lt;/p&gt;
&lt;p&gt;thanks&lt;/p&gt;
&lt;p&gt;anshul&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Where to get TMS470_4.11</title><link>http://e2e.ti.com/thread/264528.aspx</link><pubDate>Mon, 13 May 2013 14:10:53 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:d8a9d6f7-ff8a-4fbe-bab8-4e4f061d12e1</guid><dc:creator>Simon Wang</dc:creator><slash:comments>3</slash:comments><comments>http://e2e.ti.com/thread/264528.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/264528/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;According to&amp;nbsp;&lt;a href="http://processors.wiki.ti.com/index.php/AM335x_SYSBIOS_Industrial_SDK_01.00.00.04_User_Guide"&gt;http://processors.wiki.ti.com/index.php/AM335x_SYSBIOS_Industrial_SDK_01.00.00.04_User_Guide&lt;/a&gt;&amp;nbsp;, TMS470.11 is required to compile Powerlink_slave demo application. Where could I get the compiler? &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>NDK race condition/improper locking</title><link>http://e2e.ti.com/thread/262725.aspx</link><pubDate>Fri, 03 May 2013 12:05:37 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:c1540e7e-c65b-4484-adc2-f6df72852324</guid><dc:creator>Denes Balatoni</dc:creator><slash:comments>5</slash:comments><comments>http://e2e.ti.com/thread/262725.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/262725/rss.aspx</wfw:commentRss><description>&lt;p&gt;We are using ndk 2_22_00_06.&lt;br /&gt;&lt;br /&gt;When the dhcp client cannot renew the IP address until the end of the leasetime, it will try to close all open sockets before requesting a new IP address (in netsrv.c:291). When this is done llEnter is never called, so when llExit gets called in fdint_waitevent (file.c:194) we get an error (&amp;quot;Illegal call to llExit()&amp;quot;).&lt;/p&gt;
&lt;p&gt;If we add llEnter and llExit calls around the SockCleanPcb calls in netsrv.c:291, it still does not fix every problem.&lt;/p&gt;
&lt;p&gt;In this case while the dhcp client is trying to close all open sockets, the application may preempt the dhcp client and close one of the sockets (due to an fdClose call application)- in this case when the dhcp client gets to actually closing the same tcp socket we get double free errors. The application can preempt the dhcp client for example - there may be other places - after the llExit call in fdint_waitevent (file.c:194, it gets called when closing a socket) - in the end what we observe is that TcpPrDetach (in tcpprot.c:94) is called twice on the same socket, first from the application, then from the dhcp client, leading to double free errors.&lt;br /&gt;&lt;br /&gt;Here is what we see in the debugger when the error happens:&lt;br /&gt;[ARM9_0] 01115.103 Illegal call to llExit() &lt;br /&gt;[ARM9_0] 01135.105 mmFree: Double Free &lt;br /&gt;[ARM9_0] 01135.107 mmFree: Double Free &lt;br /&gt;[ARM9_0] 01135.109 mmBulkFree: Corrupted mem or bad ptr (c04e6520) &lt;br /&gt;[ARM9_0] 01135.111 mmFree: Double Free &lt;br /&gt;[ARM9_0] 01135.113 mmFree: Double Free&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Cache.setMarMeta() not working for MSMC SRAM</title><link>http://e2e.ti.com/thread/264773.aspx</link><pubDate>Tue, 14 May 2013 09:55:06 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:2e2238a5-9d1a-41ac-ba1b-6069c2184897</guid><dc:creator>Ralf Goebel</dc:creator><slash:comments>6</slash:comments><comments>http://e2e.ti.com/thread/264773.aspx</comments><wfw:commentRss>http://e2e.ti.com/support/embedded/bios/f/355/t/264773/rss.aspx</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m trying to implement Silicon Errata Advisory 28 for the C6678 DSP, by turning of the PFX bit within the MAR12 register. But the following code in the configuration script doesn&amp;#39;t change the MAR register:&lt;/p&gt;
&lt;pre&gt;// Turn off prefetch buffer for MSMC SRAM (silicon bug)&lt;br /&gt;var Cache = xdc.useModule(&amp;#39;ti.sysbios.family.c66.Cache&amp;#39;);&lt;br /&gt;Cache.setMarMeta(0x0C000000, 0x00400000, Cache.PC);&lt;/pre&gt;
&lt;p&gt;Any ideas?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br /&gt;Ralf&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>