Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > fx3 DMA Error

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



fx3 DMA Error
Moderator:
RSKV

Post Reply
Follow this topic



fx3 DMA Error

Ayi posted on 22 Aug 2012 1:53 AM PST
Top Contributor
23 Forum Posts

Hello  everyone

 

Dma transfer meet an error  when the transfer size is more than 0x300,Use CyU3PDmaChannelGetStatus to get the DMA statue and the return status is CY_U3P_DMA_ERROR.what can lead the error ,and how can I solve it




Re: fx3 DMA Error

RSKV posted on 23 Aug 2012 06:14 AM PST
Cypress Employee
655 Forum Posts

 

Ayi,

Please change the starting piece of code in the main function as shown below, if you are using GPIF II in 32-bit mode.

CyU3PIoMatrixConfig_t io_cfg;
    CyU3PReturnStatus_t status = CY_U3P_SUCCESS;
    CyU3PSysClockConfig_t clkCfg = {
            CyTrue,
            2, 2, 2,
            CyFalse,
            CY_U3P_SYS_CLK
    };

    /* Initialize the device */
    status = CyU3PDeviceInit (&clkCfg);
    if (status != CY_U3P_SUCCESS)
    {
        goto handle_fatal_error;
    }

    /* Initialize the caches. Enable instruction cache and keep data cache disabled.
     * The data cache is useful only when there is a large amount of CPU based memory
     * accesses. When used in simple cases, it can decrease performance due to large
     * number of cache flushes and cleans and also it adds to the complexity of the
     * code. */

Let me know the result after doing this modification.

Thanks,

sai kirshna.



Re: fx3 DMA Error

Ayi posted on 23 Aug 2012 07:21 PM PST
Top Contributor
23 Forum Posts

 Hello RSKV

 

Thank you very much,The problem has been solved with your suggestion.The issue confused me a week.I am so hanppy the moment of solved the problem. I have notivecd the clock (status = CyU3PDeviceInit (NULL);)last week ,I know you add a parameter in the CyU3PSysClockConfig_t from SDK V1.1.1 , I also went to configure the CyU3PSysClockConfig_t to replease the NULL.But I failed ,becouse I don't know how to configure the other parameter expected setSysClk400 and all the examples are configuration with NULL.So I thought the NULL is the corrected configuration.So I suggest you add the configuration infomation in the examples  with the new release SDK ,maybe others will meet the same issue. 

 

Thanks

Best regards






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS 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. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

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 and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers 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.