<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Content in EngineerZone</title>
    <link>/place-content.jspa?containerType=14&amp;userID=-1&amp;filterID=content~objecttype~objecttype[document]&amp;containerID=2004</link>
    <description>Recent content in EngineerZone</description>
    <language>en</language>
    <pubDate>Thu, 17 Jan 2013 09:02:38 GMT</pubDate>
    <generator>Jive SBS 5.0.1.1  (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2013-01-17T09:02:38Z</dc:date>
    <dc:language>en</dc:language>
    <item>
      <title>BfSdcCalculation_Release.xlsx</title>
      <link>http://ez.analog.com/docs/DOC-1441</link>
      <description>&lt;!-- [DocumentBodyStart:ad351464-2dce-44ef-a24e-4d2f50d122bc] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:ad351464-2dce-44ef-a24e-4d2f50d122bc] --&gt;</description>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">blackfin</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">ddr</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">sdram</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">ebiu</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">ddr2</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">timings</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">ddr1</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">dmc</category>
      <pubDate>Thu, 17 Jan 2013 09:02:38 GMT</pubDate>
      <author>analogvm-admin@analog-vm.hosted.jivesoftware.com</author>
      <guid>http://ez.analog.com/docs/DOC-1441</guid>
      <dc:date>2013-01-17T09:02:38Z</dc:date>
      <clearspace:dateToText>4 months, 3 days ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>How Can I Boot A Blackfin Processor from an Atmel DataFlash SPI Memory Device?</title>
      <link>http://ez.analog.com/docs/DOC-2581</link>
      <description>&lt;!-- [DocumentBodyStart:cec2c05f-4a64-4a4d-9cda-23c6288c8c24] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: 'Arial','sans-serif';"&gt;Atmel DataFlash memory devices require a slightly different command sequence to load data for booting. The boot kernel of some Blackfin processors (ADSP-BF531/BF532/BF533/BF538/BF539) has a special built-in mode to accommodate these needs. If the SPI master mode is selected, the boot kernel performs a device detection sequence by issuing a 0x03 command followed by a zero address to the SPI bus. The SPI then counts cycles until data other than 0xFF (due to the pull-up on MISO) is returned. If no data is returned after three address bytes are issued, the boot kernel assumes that an Atmel DataFlash device might be out there and activates the required reading mode.&lt;br/&gt;&lt;br/&gt;The above method works fine with the AT45DBxxxB parts from Atmel. However, with Atmel&amp;rsquo;s later AT45DBxxxD family of parts, the behavior changes slightly. The AT45DBxxxD DataFlash devices respond to the 0x03 command. However, they do not meet standard SPI addressing modes because of the DataFlash&amp;rsquo;s default page size of 264, 528, or 1056 bytes (depending on the device density). As a result, the boot kernel will properly read the first page of the memory and fail in reading all other pages.&lt;br/&gt;&lt;br/&gt;All newer AT45DBxxxD DataFlash devices support the "power-of-2" (Binary) addressing mode. In this mode, the page size is limited to standard sizes (256, 512, ... bytes). The part responds to 0x03 (and also to 0x0B) commands and, therefore, behaves like a standard 3-byte addressable SPI memory.&lt;br/&gt;&lt;strong&gt;&lt;br/&gt;&lt;img height="16px" src="http://ez.analog.com/5.0.1/images/emoticons/alert.gif" width="16px"/&gt; DataFlash devices in power-of-2 mode can boot all existing Blackfin processors.&lt;br/&gt;&lt;/strong&gt;&lt;br/&gt;A One-Time-Programmable Bit has to be programmed by a special command to place an off-the-shelf DataFlash device into this power-of-2 (binary) page mode. Recent DataFlash devices no longer require a subsequent power cycle in order for the power-of-2 mode to be activated once the bit has been programmed. Please consult the respective device datasheets for further details. Additionally, Atmel is offers factory-configured power-of-2 page size devices with trailing 'SL954 or SL955' part number signatures where the OTP bit is factory-programmed.&lt;br/&gt;&lt;br/&gt;&lt;span&gt;An applications article &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://www.atmel.com" target="_blank"&gt;http://www.atmel.com&lt;/a&gt;&lt;span&gt; is available for reference on ordering factory-configured power-of-2 page size devices.&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;More recent Blackfin boot kernels (those embedded on ADSP-BF51x, ADSP-BF50x, ADSP-BF592, ADSP-BF52x and ADSP-BF54x processors) no longer have special support for DataFlash memories. Instead, it is assumed that all customers are using the 'D' Family of devices and have the option to let the part operate in power-of-2 mode.&lt;br/&gt;&lt;br/&gt;&lt;em&gt;DataFlash&amp;#174; is a registered Trademark of Atmel Corporation.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:cec2c05f-4a64-4a4d-9cda-23c6288c8c24] --&gt;</description>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">spi</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">boot</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">blackfin</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">atmel</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">dataflash</category>
      <pubDate>Wed, 28 Nov 2012 21:48:51 GMT</pubDate>
      <author>analogvm-admin@analog-vm.hosted.jivesoftware.com</author>
      <guid>http://ez.analog.com/docs/DOC-2581</guid>
      <dc:date>2012-11-28T21:48:51Z</dc:date>
      <clearspace:dateToText>5 months, 3 weeks ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>FAQ: VisualDSP++ Workaround for SPI Boot Anomaly 05-00-0490</title>
      <link>http://ez.analog.com/docs/DOC-1875</link>
      <description>&lt;!-- [DocumentBodyStart:f3dd94a6-cc99-4c0c-a74b-da3534459ceb] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Anomaly 05-00-0490 requires a very specific timing element that is unfortunately possible to encounter through normal boot ROM execution.&amp;#160; While the software workaround is a simple fix, it is obviously not possible to modify the ROM code itself.&amp;#160; However, all the processors susceptible to this anomaly also feature the ability to register a "custom boot handler"...if the custom boot handler is exactly the boot ROM code with these minor tweaks, this anomaly is avoided altogether (even for SPI_BAUD=2). The attached ZIP file contains the corrected code to be linked into your project as part of the initialization block to avoid anomaly 05-00-0490, as well as guidance for using it and augmenting it with other initialization customizations that your application may require (changing clock speeds, initializing the external memory interface, etc.).&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;However, additional protection beyond the custom boot handler is required to prevent the init block itself from encountering the same anomaly, which requires modification of the loader file (LDR) output image containing the application boot stream. The Workaround_Description.pdf file in the attached ZIP archive contains the details regarding the nature of the changes required and how to go about making the changes (based on which revision of VisualDSP++ is being used).&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:f3dd94a6-cc99-4c0c-a74b-da3534459ceb] --&gt;</description>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">blackfin</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">booting</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">anomaly</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">05000490</category>
      <pubDate>Sat, 14 Apr 2012 01:12:21 GMT</pubDate>
      <author>analogvm-admin@analog-vm.hosted.jivesoftware.com</author>
      <guid>http://ez.analog.com/docs/DOC-1875</guid>
      <dc:date>2012-04-14T01:12:21Z</dc:date>
      <clearspace:dateToText>1 year, 1 month ago</clearspace:dateToText>
      <clearspace:replyCount>5</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>FAQ: I'm interested in the Blackfin processor family but don’t know where to start?</title>
      <link>http://ez.analog.com/docs/DOC-1461</link>
      <description>&lt;!-- [DocumentBodyStart:0a46dd3a-4f65-4d37-87bf-a1a65005f96a] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; I'm interested in the Blackfin processor family and want to begin evaluating. Where should I begin?&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;strong&gt;Answer:&lt;/strong&gt; Firstly, we suggest that you download the &lt;em&gt;'Getting Started with Blackfin Processors'&lt;/em&gt; manual from the following web page:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://www.analog.com/en/embedded-processing-dsp/Blackfin/processors/get_started_with_Blackfin/fca.html" target="_blank"&gt;http://www.analog.com/en/embedded-processing-dsp/Blackfin/processors/get_started_with_Blackfin/fca.html&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;This manual introduces the Blackfin processor family, discusses the evaluation process, selecting the appropriate software and hardware, and presents the support options available from ADI.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;You can begin using VisualDSP++, the debugging environment for ADI processors, right away by registering for, and downloading, a free 90-day Test Drive: &lt;a class="jive-link-external-small" href="http://www.analog.com/blackfin/testdrive" target="_blank"&gt;www.analog.com/blackfin/testdrive&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Note: A Test Drive license enables emulator debug sessions and simulator debug sessions only.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Once VisualDSP++ 5.0 is installed we recommend following the exercises in the &lt;em&gt;'VisualDSP++ 5.0 Getting Started Guide'.&lt;/em&gt; The Guide is available within VisualDSP++ HELP or from the ADI website at: &lt;a class="jive-link-external-small" href="http://www.analog.com/processors/manuals" target="_blank"&gt;www.analog.com/processors/manuals&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;This guide provides basic and advanced tutorials that highlight many VisualDSP++ features. By completing the step-by-step procedures, you will become familiar with the VisualDSP++ environment and learn how to use these features in your own digital signal processing (DSP) development projects.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;On the Manuals page you will find all available Blackfin processor and software manuals. Under the Evaluation Kit Manuals section you will not only find manuals for all Blackfin EZ-KITs but Getting Started Guides for the &lt;em&gt;ADSP-BF537&lt;/em&gt; and &lt;em&gt;ADSP-BF548 &lt;/em&gt;processors.&amp;#160; These Getting Started Guides are intended to familiarizes users with the hardware capabilities of the evaluation system and demonstrates how to access these capabilities in the VisualDSP++ environment.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Should you have any further questions please visit the Blackfin Processors homepage: &lt;a class="jive-link-external-small" href="http://www.analog.com/blackfin" target="_blank"&gt;http://www.analog.com/blackfin&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Or contact VisualDSP++ tools support online: &lt;a class="jive-link-external-small" href="http://www.analog.com/processors/support" target="_blank"&gt;http://www.analog.com/processors/support&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:0a46dd3a-4f65-4d37-87bf-a1a65005f96a] --&gt;</description>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">blackfin</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">visualdsp++</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">vdsp++</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">evaluation</category>
      <pubDate>Tue, 20 Mar 2012 10:21:23 GMT</pubDate>
      <author>analogvm-admin@analog-vm.hosted.jivesoftware.com</author>
      <guid>http://ez.analog.com/docs/DOC-1461</guid>
      <dc:date>2012-03-20T10:21:23Z</dc:date>
      <clearspace:dateToText>1 year, 2 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>How to Transfer Data Across Two EZ-KITs via USB</title>
      <link>http://ez.analog.com/docs/DOC-1886</link>
      <description>&lt;!-- [DocumentBodyStart:5d23ca2f-f70a-4cca-a063-01831b89c828] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;The attached code sets up two ADSP-BF527 EZ-KITs with one acting as&amp;#160; a USB Device and the other as a USB Host. This has been tested on revision 0.2 silicon with VisualDSP++ 5.0 Update 9. Application data transfer happens through BULK IN and OUT endpoints.You need to run the device first and then the host.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The device code uses ADI Bulk Class and has two BULK endpoints for data in and data out. The descriptors are programmed through the VSBulkConfigure() function in the adi_usb_bulkadi.c file when the application calls the command: ADI_USB_CMD_CLASS_CONFIGURE.&amp;#160; The Device has to wait for a command block from the host to call the right API for write or read.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The Device has the opened endpoints information, but the host doesn't. The following may be employed to retrieve this data at the Host end:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;1.&amp;#160; The Host reuses the known/published Endpoint IDs to communicate with the Device:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="margin-left:.5in;"&gt;g_ReadEpID&amp;#160; = 0x5;&lt;br/&gt; g_WriteEpID = 0x6;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;2.&amp;#160; It is however possible to retrieve the complete descriptor info, including which endpoints are configured at the Device. During enumeration, the event adi_usb_otg_SetConfiguration(1) is called to set the configuration number to be used by the Device. This function uses adi_usb_GetObjectFromID&amp;#160; to get the configuration object which the Host is going to activate for the Device. The Host stores this configuration object as its active configuration Object. This configuration object can be used to find out which BULK Endpoints are currently used by the Device.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="margin-left: 0.5in; text-indent: 4.5pt;"&gt;case ADI_USB_OTG_EVENT_ENUMERATION_COMPLETE:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; printf("\nenumeration event\n");&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; usberrorcheck(adi_usb_otg_SetConfiguration(1));&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;&lt;p style="margin-left: 0.5in; text-indent: 4.5pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pDevO = (PDEVICE_OBJECT)pArg;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pCfgO = pDevO-&amp;gt;pConfigObj;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pEpO&amp;#160; = pCfgO-&amp;gt;pActiveEpObj;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pActiveEpO = pEpO;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; while(pActiveEpO != NULL)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /* BULK endpoints ONLY */&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(pActiveEpO-&amp;gt;pEndpointDesc-&amp;gt;bAttributes == USB_BULK_MODE)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if((pActiveEpO-&amp;gt;pEndpointDesc-&amp;gt;bEndpointAddress &amp;amp; 0x80))&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; g_ReadEpID&amp;#160;&amp;#160; = pActiveEpO-&amp;gt;ID;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; else&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; g_WriteEpID&amp;#160;&amp;#160; = pActiveEpO-&amp;gt;ID;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="margin-left: 0.5in; text-indent: 4.5pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pActiveEpO = pActiveEpO-&amp;gt;pNextActiveEpObj;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; g_bUsbenumerated = TRUE; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; break;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;3.. Turn on the USB_OTG_PRINT_DESCRIPTOR and USB_DEBUG macros for USB driver libraries and rebuild them. This prints out the complete descriptor info to the console.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;4. If the object IDs and endpoints (see the function ParseConfigurationMemory() in the adi_usb_otg.c file) are already known, you could do something similar to what the above macros do. If the info is not known, use method #2 to retrieve it and pass it to adi_usb_PrintDeviceDescriptor();&lt;/p&gt;&lt;p&gt;&lt;br style="mso-special-character:line-break;"/&gt;&lt;/p&gt;&lt;p style="margin-left:.5in;"&gt;#ifdef DEBUG_DESCRIPTORS&lt;br/&gt;&amp;#160;&amp;#160; PDEVICE_OBJECT pDevO;&lt;br/&gt;&amp;#160;&amp;#160; PCONFIG_OBJECT pCo;&lt;br/&gt;&amp;#160;&amp;#160; PINTERFACE_OBJECT pIo;&lt;br/&gt;&amp;#160;&amp;#160; PENDPOINT_OBJECT pEpO1,pEpO2;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160; adi_usb_GetObjectFromID(1,USB_DEVICE_OBJECT_TYPE,(void*)&amp;amp;pDevO);&lt;br/&gt;&amp;#160;&amp;#160; adi_usb_PrintDeviceDescriptor(pDevO); printf("\n\n");&lt;br/&gt;&amp;#160;&amp;#160; adi_usb_GetObjectFromID(1,USB_CONFIGURATION_OBJECT_TYPE,(void*)&amp;amp;pCo);&lt;br/&gt;&amp;#160;&amp;#160; adi_usb_PrintConfigDescriptor(pCo);printf("\n\n");&lt;br/&gt;&amp;#160;&amp;#160; adi_usb_GetObjectFromID(0,USB_INTERFACE_OBJECT_TYPE,(void*)&amp;amp;pIo);&lt;br/&gt;&amp;#160;&amp;#160; adi_usb_PrintInterfaceDescriptor(pIo);printf("\n\n");&lt;br/&gt;&amp;#160;&amp;#160; adi_usb_GetObjectFromID(g_ReadEpID,USB_ENDPOINT_OBJECT_TYPE,(void*)&amp;amp;pEpO1);&lt;br/&gt;&amp;#160;&amp;#160; adi_usb_PrintEndpointDescriptor(pEpO1);printf("\n\n");&lt;br/&gt;&amp;#160;&amp;#160; adi_usb_GetObjectFromID(g_WriteEpID,USB_ENDPOINT_OBJECT_TYPE,(void*)&amp;amp;pEpO2);&lt;br/&gt;&amp;#160;&amp;#160; adi_usb_PrintEndpointDescriptor(pEpO2);printf("\n\n");&lt;br/&gt; #endif&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Common functions like WriteMemory() and ReadMemory() are used for data transfer. The Host uses SendCommand() while the Device uses ReadCommand().&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Please refer to the below references for further details and more accurate info of API usage.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;em&gt;--Prasanth. &lt;/em&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong style=": ; color: #333333; text-decoration: underline;"&gt;Further reference:&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333333;"&gt;Host example: ...\Blackfin\Examples\ADSP-BF527 EZ-KIT Lite\Services\File System\VDK\shell_browser&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="color: #333333;"&gt; &lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333333;"&gt;Device example: ...\Blackfin\Examples\ADSP-BF527 EZ-KIT Lite\Drivers\usb\bulk_loopback_app&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="color: #333333;"&gt; &lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333333;"&gt;Driver Docs: ...\Blackfin\docs\drivers\usb&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333333;"&gt;USB Descriptors: &lt;a class="jive-link-external-small" href="http://www.beyondlogic.org/usbnutshell/usb5.shtml" target="_blank"&gt;http://www.beyondlogic.org/usbnutshell/usb5.shtml&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Here are some screenshots:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Device:&amp;#160; &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://ez.analog.com/servlet/JiveServlet/showImage/2-29372-6004/Device.jpg"&gt;&lt;img alt="Device.jpg" class="jive-image-thumbnail jive-image" src="http://ez.analog.com/servlet/JiveServlet/downloadImage/2-29372-6004/Device.jpg" width="450"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Host:&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://ez.analog.com/servlet/JiveServlet/showImage/2-29372-6005/Host.jpg"&gt;&lt;img alt="Host.jpg" class="jive-image-thumbnail jive-image" src="http://ez.analog.com/servlet/JiveServlet/downloadImage/2-29372-6005/Host.jpg" width="450"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Descriptors:&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://ez.analog.com/servlet/JiveServlet/showImage/2-29372-6006/USB_Descriptors.jpg"&gt;&lt;img alt="USB_Descriptors.jpg" class="jive-image-thumbnail jive-image" src="http://ez.analog.com/servlet/JiveServlet/downloadImage/2-29372-6006/USB_Descriptors.jpg" width="450"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;This FAQ was generated from the following discussion: &lt;a class="jive-link-thread-small" data-containerId="2004" data-containerType="14" data-objectId="8497" data-objectType="1" href="http://ez.analog.com/thread/8497"&gt;How to transfer data across two EZ-KITs through USB?&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:5d23ca2f-f70a-4cca-a063-01831b89c828] --&gt;</description>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">usb</category>
      <pubDate>Wed, 21 Dec 2011 15:34:17 GMT</pubDate>
      <author>analogvm-admin@analog-vm.hosted.jivesoftware.com</author>
      <guid>http://ez.analog.com/docs/DOC-1886</guid>
      <dc:date>2011-12-21T15:34:17Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Is There A Recommended DHCP Server Test for Blackfin and LwIP?</title>
      <link>http://ez.analog.com/docs/DOC-1989</link>
      <description>&lt;!-- [DocumentBodyStart:c5dde90a-4ed5-4914-a842-b517c3c87c38] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;DHCP (dynamic IP assignment) requires a network server / router. For quick tests with DHCP, this GUI based free software seems ideal:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://www.dhcpserver.de/dhcpsrv.htm" target="_blank"&gt;http://www.dhcpserver.de/dhcpsrv.htm&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://www.dhcpserver.de/dhcpsetup.htm" target="_blank"&gt;http://www.dhcpserver.de/dhcpsetup.htm&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:c5dde90a-4ed5-4914-a842-b517c3c87c38] --&gt;</description>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">lwip</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">dhcp</category>
      <pubDate>Mon, 12 Dec 2011 16:44:34 GMT</pubDate>
      <author>analogvm-admin@analog-vm.hosted.jivesoftware.com</author>
      <guid>http://ez.analog.com/docs/DOC-1989</guid>
      <dc:date>2011-12-12T16:44:34Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Trouble Transferring16-Bit Data on Blackfin SPORT</title>
      <link>http://ez.analog.com/docs/DOC-1984</link>
      <description>&lt;!-- [DocumentBodyStart:d03fd2a5-e022-42b6-8316-85303c7b1ad3] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Q: We are using the BF533 and BF561 Blackfin processors in our project, and we cannot seem to transfer data over the SPORT data transmit pin DT0PRI when we configure the SPORT for 16-bit data or smaller. No data comes out at all!&amp;#160; The same code works fine if the SPORT is configured for 17-bit data or larger, as the data is seen on the DT0PRI pin as expected. We are using core loads to the SPORT FIFO in C, as follows:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;short myData[4] = 0x0001, 0x0002, 0x0003, 0x0004;&lt;/p&gt;&lt;p&gt;volatile char i;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;for (i = 0; i &amp;lt; 4; i++)&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; *pSPORT0_TX = myData[i];&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Can you explain what we are doing wrong?&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;A: The SPORT data registers (SPORTx_TX and SPORTx_RX) are the only registers in the Blackfin memory map that must support both 32-bit and 16-bit accesses, and the correct access width is dependent on the SLEN field in the SPORTx_TCR2 register. It is on the programmer to access the MMR with the correct width. The C headers that are provided with the tools set up macros to define the proper access widths for all the registers in MMR space, but this is not possible when the width can be either. As such, the default pSPORT0_TX macro is defined to support a 32-bit access, but we've provided special alternate macros to support 16-bit access to the same MMR address. If you look in the header file for your processor (e.g., the cdefbf561.h file for the BF561), you will see how the SPORT data registers are defined:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;#define pSPORT0_TX&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ((volatile unsigned long *)SPORT0_TX)&lt;br/&gt;#define pSPORT0_RX&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ((volatile unsigned long *)SPORT0_RX)&lt;br/&gt;#define pSPORT0_TX32&amp;#160;&amp;#160;&amp;#160;&amp;#160; ((volatile long *)SPORT0_TX)&lt;br/&gt;#define pSPORT0_RX32&amp;#160;&amp;#160;&amp;#160;&amp;#160; ((volatile long *)SPORT0_RX)&lt;br/&gt;#define pSPORT0_TX16&amp;#160;&amp;#160;&amp;#160;&amp;#160; ((volatile unsigned short *)SPORT0_TX)&lt;br/&gt;#define pSPORT0_RX16&amp;#160;&amp;#160;&amp;#160;&amp;#160; ((volatile unsigned short *)SPORT0_RX)&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The "long" type creates a 32-bit access, whereas the "short" is a 16-bit access. You need to use the macro with the "16" suffix for 16-bit data and smaller. What is happening in the hardware when you have the 32-bit access is that the write is not making it to the FIFO because it is misaligned, so when the SPORT is enabled, there is nothing in the FIFO and nothing is transmitted.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:d03fd2a5-e022-42b6-8316-85303c7b1ad3] --&gt;</description>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">blackfin</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">sport</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">16-bit</category>
      <pubDate>Wed, 30 Nov 2011 16:53:04 GMT</pubDate>
      <author>analogvm-admin@analog-vm.hosted.jivesoftware.com</author>
      <guid>http://ez.analog.com/docs/DOC-1984</guid>
      <dc:date>2011-11-30T16:53:04Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>FAQ: Using the Blackfin SDP-B as a BF527 Evaluation Platform</title>
      <link>http://ez.analog.com/docs/DOC-1933</link>
      <description>&lt;!-- [DocumentBodyStart:fa036a56-1feb-4c76-a9f9-1617d7e4a177] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;strong&gt;&lt;strong&gt;The SDP (System Demonstration Platform) is a collection of controller boards, interposer boards, and daughter boards used for easy, low cost evaluation of ADI components and reference circuits. The controller boards provide a means of communicating to the PC from the system being evaluated or demonstrated. The SDP-B is a Blackfin, ADSP-BF527, based controller board. The SDP-B has on board JTAG, SDRAM, Flash memory and an LED making it an attractive package for those looking at low cost development platforms on Blackfin.&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;strong&gt;For more information see: &lt;a class="jive-link-external-small" href="http://www.analog.com/sdp" target="_blank"&gt;http://www.analog.com/sdp&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;strong style="text-decoration: underline;"&gt;Question&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt; &lt;/strong&gt;I want to use the SDP-B board as a Blackfin Evaluation board; what are my options, what do I need, and where do I start?&lt;/p&gt;&lt;p&gt;===========================================&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong style="text-decoration: underline;"&gt;Answer&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt; &lt;/strong&gt;To use the SDP-B as a Blackfin BF527 evaluation platform, there are a couple of options available to you. You can use the GCC Tools, or the VisualDSP++ tools to develop for this target. This FAQ covers the use of the VisualDSP++ tools. If you plan on using the GCC Tools, please refer to the following FAQ in the Open Source Platform and Software community of the EngineerZone:&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-wiki-small" data-containerId="2054" data-containerType="14" data-objectId="1949" data-objectType="102" href="http://ez.analog.com/docs/DOC-1949"&gt;FAQ: Getting Started with SDP-B using GCC Toolchain&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;For further information see these Bare Metal instructions on the Blackfin uClinux page:&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt;"&gt;&lt;a class="jive-link-external-small" href="http://docs.blackfin.uclinux.org/doku.php?id=toolchain:bare_metal" target="_blank"&gt;http://docs.blackfin.uclinux.org/doku.php?id=toolchain:bare_metal&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;To use the SDP-B with VisualDSP++ you will need to set up the SDP-B hardware by adding a JTAG Header (earlier SDP-B boards only), get a JTAG Emulator, install and license the VisualDSP++ tools, then configure the tools for use with the SDP-B. Finally, we have an example project as a starting point. Each of these steps is covered in detail below:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;em style="text-decoration: underline;"&gt;&lt;em&gt;Set up the SDP-B Hardware&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt; &lt;/em&gt;The first step in using the SDP-B with VisualDSP++ is to configure the hardware appropriately. Early revisions of the SDP-B board do not have a JTAG header, so you will need to solder a JTAG header onto J3 &amp;ldquo;JTAG&amp;#8221; on the SDP-B PCB.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;em style="text-decoration: underline;"&gt;&lt;em&gt;Get a JTAG Emulator&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt; &lt;/em&gt;VisualDSP++ requires an ADI JTAG Emulator to communicate with the target, of which there are 3 options. The ADZS-USB-ICE, ADZS-HPUSB-ICE, and the ADZS-ICE-100B. More information is available here:&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt;"&gt;&lt;a class="jive-link-external-small" href="http://www.analog.com/processors/usb/emulator" target="_blank"&gt;http://www.analog.com/processors/usb/emulator&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://www.analog.com/emulator-100" target="_blank"&gt;&lt;span style="font-size: 10pt;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;http://www.analog.com/emulator-100&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;em style="text-decoration: underline;"&gt;&lt;em&gt;Get the VisualDSP++ Tools and a License&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt; &lt;/em&gt;You can download VisualDSP++ 5.0, together with the latest update, from the following page of our website. Ensure that you download and install the latest update for SDP support:&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt;"&gt;&lt;a class="jive-link-external-small" href="http://www.analog.com/processors/tools/update" target="_blank"&gt;http://www.analog.com/processors/tools/update&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;You can apply for a 90-day Blackfin test drive license for our tools via the link below, or purchase a full license from your local distributor, whose details are available from the second link below:&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt;"&gt;&lt;a class="jive-link-external-small" href="http://www.analog.com/blackfin/testdrive" target="_blank"&gt;http://www.analog.com/blackfin/testdrive&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://www.analog.com/salesdir/continent.asp" target="_blank"&gt;&lt;span style="font-size: 10pt;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;http://www.analog.com/salesdir/continent.asp&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;For detailed instructions on installing and registering VisualDSP++ licenses, please see the VisualDSP++ 5.0 Licensing Guide here:&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt;"&gt;&lt;a class="jive-link-external-small" href="http://www.analog.com/vdsp50_lic_guide" target="_blank"&gt;http://www.analog.com/vdsp50_lic_guide&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;em style="text-decoration: underline;"&gt;&lt;em&gt;Configure VisualDSP++ for the SDP-B&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt; &lt;/em&gt;With the tools installed and licensed, you simply need to create a session via &amp;#8216;Session&amp;rsquo;-&amp;gt;&amp;rsquo;New Session&amp;rsquo;.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;1. Click on the &amp;ldquo;Session&amp;#8221; menu, select &amp;ldquo;New Session&amp;#8221;.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;2. Select &amp;ldquo;Blackfin&amp;#8221; as the &amp;#8216;Processor Family&amp;rsquo;, then select &amp;ldquo;ADSP-BF527&amp;#8221; under &amp;#8216;Choose a target processor&amp;rsquo;.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;3. On the next page, Select &amp;ldquo;Emulator&amp;#8221; as your connection type.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;4. On the next page, select the Platform that matches your choice of Emulator.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;5. Click &amp;ldquo;Finish&amp;#8221; to create your Session, and connect to the target.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The next step is to ensure that the EBIU is correctly configured so that you have access to the SDRAM on the target. If you do not follow this step, you will encounter unpredictable behaviour and exceptions if you attempt to make use of SDRAM.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;1. Go to &amp;#8216;Settings: Session&amp;rsquo;, and check the box &amp;ldquo;Enable Customizations&amp;#8221;.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;2. Under &amp;#8216;Custom board support file name&amp;rsquo; click the Browse (&amp;ldquo;&amp;#8230;&amp;#8221;) button, browse to the VisualDSP++ installation directory (default &amp;ldquo;C:\Program Files\Analog Devices\VisualDSP 5.0\&amp;#8221;), then to &amp;ldquo;&amp;#8230;\Blackfin\Examples\BF527-SDP-HW\BF527-SDP-HW.XML&amp;#8221;, and choose &amp;ldquo;Open&amp;#8221;.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;3. Click &amp;ldquo;OK&amp;#8221; and the VisualDSP++ tools should inform you that &amp;ldquo;Your changes won&amp;rsquo;t take effect until you disconnect and reconnect to the target, or restart the IDDE. Would you like to disconnect and reconnect to the target now?&amp;#8221;. Select &amp;ldquo;Yes&amp;#8221;, the VisualDSP++ will disconnect and reconnect, and you are ready to work with the SDP under VisualDSP++.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;em style="text-decoration: underline;"&gt;&lt;em&gt;Example Project&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt; &lt;/em&gt;Attached is an example project as a starting point. This project is for the SDP-B Board only, and does not consider the Break-out Board. In short, the program does the following:&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;1. Basic C code Initialization of EBIU.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;2. Initialization of SDRAM Controller via System Services.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;3. Configuration of PLL via boot-rom API.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;4. Configuration of SCLK and CCLK via system services.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;5. Initialization of GPIO via system services.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;6. Read of Unique-ID &amp;amp; Part Number from OTP Memory.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;7. Initialization and toggle of LED1.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;8. Initialization of USB libraries for std-out via USB.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;To use this project, unzip the "SDP_POST.zip", then unzip the "SDP_INITCODE.zip" contained within. Open the Project in VisualDSP++ and go to Project Options: Load and set the "Initialization File" by browsing to the "SDP_INITCODE.dxe" extracted from this zip file.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;When the Windows 'New Hardware Wizard' starts, direct it to the driver in the VisualDSP++ installation at "...\Blackfin\Examples\usb\host\windows\drivers\"&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:fa036a56-1feb-4c76-a9f9-1617d7e4a177] --&gt;</description>
      <pubDate>Tue, 01 Nov 2011 16:04:00 GMT</pubDate>
      <author>analogvm-admin@analog-vm.hosted.jivesoftware.com</author>
      <guid>http://ez.analog.com/docs/DOC-1933</guid>
      <dc:date>2011-11-01T16:04:00Z</dc:date>
      <clearspace:dateToText>1 year, 6 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>FAQ: How do I restore the original SDP image to flash on my SDP board?</title>
      <link>http://ez.analog.com/docs/DOC-1934</link>
      <description>&lt;!-- [DocumentBodyStart:c45aa6ce-f4ac-4e78-80c1-71c51db71927] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;strong&gt;&lt;strong&gt;The SDP (System Demonstration Platform) is a collection of controller boards, interposer boards, and daughter boards used for easy, low cost evaluation of ADI components and reference circuits. The controller boards provide a means of communicating to the PC from the system being evaluated or demonstrated. The SDP-B is a Blackfin, ADSP-BF527, based controller board. The SDP-B has on board JTAG, SDRAM, Flash memory and an LED making it an attractive package for those looking at low cost development platforms on Blackfin.&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;strong&gt;For more information see:&lt;a class="jive-link-external-small" href="http://www.analog.com/sdp" target="_blank"&gt;www.analog.com/sdp&lt;/a&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Before proceeding, determine which version of the SDP-B board you have, and contact private support through the link below to obtain the Loader Image (*.ldr) for your target.&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://www.analog.com/processors/support" target="_blank"&gt;http://www.analog.com/processors/support&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;strong&gt; &lt;/strong&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Please ensure you have followed the steps in &lt;a class="jive-link-wiki-small" data-containerId="2004" data-containerType="14" data-objectId="1933" data-objectType="102" href="http://ez.analog.com/docs/DOC-1933"&gt;FAQ: Using the Blackfin SDP-B as a BF527 Evaluation Platform&lt;/a&gt; to set up your development environment to use the SDP-B with VisualDSP++, then follow the steps below.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;To restore the SDP-B image to flash you will also need the Flash Programmer Interface Application *.dxe file for the EEPROM. The Rev B. board uses the M29W320EB &lt;strong&gt;Parallel&lt;/strong&gt; Flash part, while the Rev 1.3 uses the M25P32 &lt;strong&gt;Serial&lt;/strong&gt; Flash. Please ensure you use the correct Flash Programmer Interface Application DXE.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;You can use the Flash Programmer Interface Applications for the BF527 EZ-KIT Lite, with a little modification, on the SDP-B. These are located in the VisualDSP++ installation under the directory "...\Blackfin\Examples\ADSP-BF527 EZ-KIT Lite\Flash Programmer\". The required Modifications are as follows:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Parallel Flash (SDP-B Rev. B)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;To enable access to the flash you need to clear the PortG registers as follows:&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-family: 'courier new', courier;"&gt;*pPORTG_FER &amp;amp;= ~0x0001;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-family: 'courier new', courier;"&gt;*pPORTGIO_CLEAR = 0x0001;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="padding-left: 30px;"&gt;&lt;span style="font-family: 'courier new', courier;"&gt;*pPORTGIO_DIR |= 0x0001;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Serial Flash (SDP-B Rev 1.3)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The only difference between the M25P32 Serial Flash on the SDP-B and the M25P16 Serial Flash on the EZ-KIT Lite is capacity; the former is 32MB while the latter is 16MB. You can use the default BF527 EZ-KIT Lite Serial Flash driver, though this will only give access to the lower 16MB of the Flash. Access to the full 32MB requires a single change.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Note: This requires modifying the actual device driver at "...\Blackfin\lib\src\drivers\flash\M25P16\adi_m25p16.c" - i.e. this will affect all Flash Programmer Interface Applications that use this driver, including the one for the BF527 EZ-KIT Lite, if they are rebuilt against the modified source file.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Simply change the following line:&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-family: 'courier new', courier;"&gt;#define NUM_SECTORS&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 32&lt;/span&gt;&lt;/p&gt;&lt;p&gt;to&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-family: 'courier new', courier;"&gt;#define NUM_SECTORS 64&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Using the Flash Programmer to Restore the Image&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Within the VisualDSP++ IDDE, connect to your SDP-B session, then open the Flash Programmer Utility via &amp;#8216;Tools: Flash Programmer&amp;rsquo;&lt;/li&gt;&lt;li&gt;Under &amp;#8216;Driver File&amp;rsquo; click &amp;ldquo;Browse&amp;#8221;&lt;/li&gt;&lt;li&gt;Navigate to the location of the Flash Programmer Interface Application *.dxe file. Click &amp;ldquo;Open&amp;#8221; to choose this file&lt;/li&gt;&lt;li&gt;Click &amp;ldquo;Load Driver&amp;#8221; and, after a few moments, the Flash Information and Driver Information should be populated, and the message &amp;ldquo;Success: Driver Loaded&amp;#8221; displayed in the Message Center&lt;/li&gt;&lt;li&gt;Click on the &amp;ldquo;Programming&amp;#8221; tab&lt;/li&gt;&lt;li&gt;Select &amp;ldquo;Erase Affected&amp;#8221; under &amp;#8216;Pre-program erase options&amp;rsquo;, and &amp;ldquo;Intel Hex&amp;#8221; under &amp;#8216;File Format&amp;rsquo;&lt;/li&gt;&lt;li&gt;Select &amp;ldquo;Browse&amp;#8221; under &amp;#8216;Data File&amp;rsquo;&lt;/li&gt;&lt;li&gt;Navigate to the location of the SDP-B Flash Image *.ldr file, and click &amp;ldquo;Open&amp;#8221; to choose this file&lt;/li&gt;&lt;li&gt;If you wish, check the box to &amp;ldquo;Verify while programming&amp;#8221;, then click &amp;ldquo;Program&amp;#8221;&lt;/li&gt;&lt;li&gt;Once the programming has completed, select &amp;ldquo;OK&amp;#8221; to close the programmer, quit VisualDSP++ and power-cycle the target. The SDP-B image will boot from flash and you will be able to use your target as part of the SDP-B Evaluation platform once again.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:c45aa6ce-f4ac-4e78-80c1-71c51db71927] --&gt;</description>
      <pubDate>Tue, 01 Nov 2011 16:03:59 GMT</pubDate>
      <author>analogvm-admin@analog-vm.hosted.jivesoftware.com</author>
      <guid>http://ez.analog.com/docs/DOC-1934</guid>
      <dc:date>2011-11-01T16:03:59Z</dc:date>
      <clearspace:dateToText>1 year, 6 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>FAQ: How do I reconcile Blackfin SPI serial clock phase control (CPHA) settings with potentially conflicting hardware/software slave select modes, when both these attributes are managed by the same control bit?</title>
      <link>http://ez.analog.com/docs/DOC-1919</link>
      <description>&lt;!-- [DocumentBodyStart:e7586ad6-c7ac-462a-99c1-e528f1d92b85] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;By definition, the clock phase control bit is used to manage whether data is sampled on the leading or trailing clock edge.&amp;#160; But this bit is also used to manage whether the slave select output pin is driven by hardware or software.&amp;#160; These two attributes are sometimes in contention.&amp;#160; (Note that in hardware slave select mode, the select line is toggled between bytes which can cause an unintentional slave device reset.)&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Most Blackfin SPI hardware implementations provide both serial clock phase (CPHA) and serial clock polarity (CPOL) control bits within the SPI_CTL control register. These two serial clock control bits configure the SPI protocol to use one of four industry standard SPI clocking modes to suite external slave device timing requirements.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;But the serial clock phase (CPHA) control bit also controls programming of the slave select pin to be generated either: automatically, i.e., using the SPI &lt;em&gt;hardware&lt;/em&gt; slave select mode (where CPHA=0); or, in the &lt;em&gt;software&lt;/em&gt; mode by application software (where CPHA=1).&amp;#160; Note that in the software mode, the application will directly manipulate an explicit flag pin around each SPI transfer.&amp;#160; So in addition to controlling the clock phase, the CPHA bit also controls selection of the hardware/software slave select mode.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Because the hardware slave select mode (CPHA=0) may (depending on protocol speed) deassert and reassert the slave device select line between each byte of the transfer, some slave devices may interpret this transition as a slave reset request which may interfere with a block transfer.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;In cases where the slave device requires use of CPHA=0 on the Blackfin SPI master-mode controller (implying use of the hardware slave select mode), the slave select &amp;ldquo;reset&amp;#8221; between bytes can be avoided by combining the needed hardware select (CPHA=0) mode with a software-driven slave select technique. This solution requires the associated slave select function be disabled in the function enable register (FER) for the port and pin in question and that the application software take responsibility for driving the slave select pin as if CPHA=1 (software slave select mode) were active.&amp;#160; In short, the application programs the slave select pin &amp;ldquo;manually&amp;#8221; (via the flag service) by manipulating the select before and after each transaction (DMA or otherwise): assert the select just prior to the SPI enablement and deselect it at the transaction completion or DMA interrupt.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;TAR-45231 describes a feature request to support this workaround in the SPI Device Driver.&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://www.analog.com/processors/tools/anomalies" target="_blank"&gt;http://www.analog.com/processors/tools/anomalies&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:e7586ad6-c7ac-462a-99c1-e528f1d92b85] --&gt;</description>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">slave</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">spi</category>
      <category domain="http://ez.analog.com/tags#/?containerType=14&amp;container=2004">blackfin</category>
      <pubDate>Wed, 21 Sep 2011 08:23:16 GMT</pubDate>
      <author>analogvm-admin@analog-vm.hosted.jivesoftware.com</author>
      <guid>http://ez.analog.com/docs/DOC-1919</guid>
      <dc:date>2011-09-21T08:23:16Z</dc:date>
      <clearspace:dateToText>1 year, 8 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
  </channel>
</rss>

