• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Digital Signal Processors (DSP) » C6000 Multicore DSP » Keystone Multicore Forum (C66, 66A, AM5) » EDMA3 : Polling Problem
Share
C6000 Multicore DSP
  • Forums
  • Announcements
Options
  • Subscribe via RSS
Training Available
TI provides self-paced online training that introduces the primary components of the KeyStone II family of SoC devices.

  • KeyStone II SoC Overview >
  • KeyStone II Software Overview >
  • KeyStone II ARM Cortex-A15 Corepac Overview >
  • More Information >
  • Check out
    Multicore Mix blog
    • $core_v2_blog.Current.Name

      It’s our second anniversary, but you get the present!

      Posted 6 days ago
      by Lindsey Bare
      It’s hard to believe it’s already been two years...
    • $core_v2_blog.Current.Name

      Limited time offer: Save $100 on Keystone-based EVM!

      Posted 19 days ago
      by tscheck
      Have you been thinking about ordering a TI Keystone-based EVM...
    • $core_v2_blog.Current.Name

      Imagine the impact…TI’s KeyStone SoC + HP Moonshot

      Posted 30 days ago
      by Sanjay35057
      Last week, market leader Hewlett Packard announced a huge change...

    EDMA3 : Polling Problem

    EDMA3 : Polling Problem

    This question is not answered
    Bharti Jain
    Posted by Bharti Jain
    on May 15 2012 01:20 AM
    Prodigy190 points

    Hi,

    When I use EDMA3 (instance = 2) to transfer data between external memories using polling,sometimes the same code works well but in few cases,the data gets transferred  but IPR  bit does not get set so it remains stuck within the loop.

    Platform used : TCI6618

    EDMA3 version used : 02_11_02_11

    Here is the main part  of my code:

    CSL_Status status;
    CSL_Edma3CmdIntr regionIntr;
    unsigned long long ullTemp;

    // all remaining configuration has been done during initialisation
    /* Configure Param */
    DataTransferParam.srcAddr = (UInt32)pSrcAddr;
    DataTransferParam.aCntbCnt = CSL_EDMA3_CNT_MAKE (nofBytes, 1);
    DataTransferParam.dstAddr = (UInt32) pDstAddr;

    if (CSL_SOK != CSL_edma3ParamSetup (hDataTransferParam, &DataTransferParam))
    {
    System_printf ("Error : EDMA Failed to setup parameter entry hDataTransferParam\n");
    return -1;
    }

    /* Start the transfer manually */
    if ((status = CSL_edma3HwChannelControl (hDataTransferCh, CSL_EDMA3_CMD_CHANNEL_SET, NULL)) != CSL_SOK)
    {
    System_printf ("Error  : EDMA Trigger for  Data Transfer channel failed \n");
    return -1;
    }

    do {
    CSL_edma3GetHwStatus(hModule,CSL_EDMA3_QUERY_INTRPEND, &regionIntr);
    ullTemp = _itoll( regionIntr.intrh, regionIntr.intr );
    } while (!(ullTemp & ((unsigned long long)1 << EDMA3_DATA_TRANSFER_CH)));

    .......

    .....

    Could someone explain what can be the problem.

    Thanks

    -Bharti

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Tai Nguyen
      Posted by Tai Nguyen
      on May 15 2012 08:21 AM
      Expert5885 points

      Hi Bharti,

      The reason that the EDMA3 IPR bit does not get set could possibly be the access to the external memory got hang and the EDMA3 does not see a "DONE" signal. 

      Thanks,

      Tai

      PS: Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • RandyP
      Posted by RandyP
      on May 15 2012 21:29 PM
      Guru60000 points

      Bharti,

      What other routines are dealing with EDMA3 IPR bits? Do you have some DMA channels that are generating interrupts, so an EDMA3 Interrupt Dispatcher is checking and clearing bits?

      Some EDMA Dispatchers will automatically clear all IPR bits instead of just the ones that match with IER bits. Since you are using CSL and not the LLD, you might have based you EDMA dispatcher on routines that do that.

      Or, is there any other code that uses this same DMA channel?

      Look at all the EDMA3 registers for instance 2 to see if any errors occurred. Look at the PARAM for this channel to see how it has been updated, or not.

      After you have looked at the possibilities Tai and I have mentioned, please reply back with your progress or new information and status.

      Regards,
      RandyP

      Search for answers, Ask a question, click  Verify  when complete, Help others, Learn more.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use