• 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) » Precise External Abort when reading core0 L2 SRAM (also EDC parity error)
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

      OpenMP - All aboard!

      Posted 1 day ago
      by Debbie Greenstreet
      With so many end products today relying on multicore DSPs for...
    • $core_v2_blog.Current.Name

      A look back: Two years of Multicore Mix

      Posted 2 days ago
      by Lauren Reed1
      A big thank you to everyone who participated in our contest last...
    • $core_v2_blog.Current.Name

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

      Posted 9 days ago
      by Lindsey Bare
      It’s hard to believe it’s already been two years...

    Forums

    Precise External Abort when reading core0 L2 SRAM (also EDC parity error)

    This question is not answered
    Joel Keller
    Posted by Joel Keller
    on Jun 19 2012 12:04 PM
    Expert1150 points

    Hi,


    I am having an issue reading specific parts of core0 L2 SRAM via my PCIe driver.  I have a little usermode device memory reading application which works as follows:

    vpu_read <dsp addr> <length> 

    which calls the driver to read <length> bytes starting at <dsp_addr>.  The utility outputs the bytes read to stdout.  My driver determines what area of the DSP memory is to be read, and 'reconfigures' the IB address translation of PCIe BAR1 to target that area.  Everything works fine, except when accessing particular addresses of core0's L2 SRAM. Other Core's L2 SRAM can be accessed fine. for example:

    vpu_read 0x11804330 4 > out

    vpu_read 0x21804330 4 > out

    vpu_read 0x31804330 4 > out

    ...

    All these work correctly, however, the following:

    vpu_read 0x10804330 4 > out

    gives me:

    Precise External Abort on non-linefetch (0x1028) at 0xcf800030

    (0xcf800000 is the kernel virtual address for the start of BAR1,  bar 1 has been mapped to 0x10804300 here).  


    After this occurs, I look at 0x01846004 via JTAG (which is L2EDSTAT) and see that the bit corresponding to "Parity error occurred during DMA access" has been set.

    I know this seems like a long shot, but this has me stumped.  Any ideas?

    Thanks,


    Joel

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Chad Courtney
      Posted by Chad Courtney
      on Jun 19 2012 12:45 PM
      Mastermind22595 points

      Joel,

      Have you checked the data to compare what it is vs what it should be?  Have you reset the device and does the issue persist? 

      Best Regards,

      Chad

      ------------------------------------------------------------------------------------------------------------

      Please click the Verify Answer button on this post if it answers your question.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Joel Keller
      Posted by Joel Keller
      on Jun 19 2012 13:45 PM
      Expert1150 points

      Hi Chad,

      Yes, when the read succeeds, the data looks correct.  When the external abort occurs, I don't get any data to read.  The issue persists across resets.  I really appreciate any help with this one. 

      -Joel

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Chad Courtney
      Posted by Chad Courtney
      on Jun 19 2012 14:06 PM
      Mastermind22595 points

      Can you provide a dump of what the MPU registers have in them?

      Best Regards,

      Chad

      ------------------------------------------------------------------------------------------------------------

      Please click the Verify Answer button on this post if it answers your question.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Joel Keller
      Posted by Joel Keller
      on Jun 21 2012 10:21 AM
      Expert1150 points

      MPU0
      Revision_Register 0x4E814901 Memory Mapped
      Configuration_Register 0x00000001 Memory Mapped
      Interrupt_Raw_Status_Set_Register 0x00000000 Memory Mapped
      Interrupt_Enabled_Status_Clear_Register 0x00000000 Memory Mapped
      Interrupt_Enable_Register 0x00000000 Memory Mapped
      Interrupt_Enable_Clear_Register 0x00000000 Memory Mapped
      EOI_Register 0x00000000 Memory Mapped
      Interrupt_Vector_Register 0x00000000 Memory Mapped
      Fixed_Start_Address_Register 0x00000000 Memory Mapped
      Fixed_End_Address_Register 0x00000000 Memory Mapped
      Fixed_MPPA_Register 0x00000000 Memory Mapped
      Programmable_Start_Address_Register 0x01D00000 (1 of 16, stride 16) [Memory Mapped]
      Programmable_End_Address_Register 0x01D803FF (1 of 16, stride 16) [Memory Mapped]
      Programmable_MPPA_Register 0x03FFFCB6 (1 of 16, stride 16) [Memory Mapped]
      Fault_Address_Register 0x00000000 Memory Mapped
      Fault_Status_Register 0x00000000 Memory Mapped
      Fault_Clear_Register 0x00000000 Memory Mapped
      MPU1
      Revision_Register 0x4E814901 Memory Mapped
      Configuration_Register 0x00050001 Memory Mapped
      Interrupt_Raw_Status_Set_Register 0x00000000 Memory Mapped
      Interrupt_Enabled_Status_Clear_Register 0x00000000 Memory Mapped
      Interrupt_Enable_Register 0x00000000 Memory Mapped
      Interrupt_Enable_Clear_Register 0x00000000 Memory Mapped
      EOI_Register 0x00000000 Memory Mapped
      Interrupt_Vector_Register 0x00000000 Memory Mapped
      Fixed_Start_Address_Register 0x00000000 Memory Mapped
      Fixed_End_Address_Register 0x00000000 Memory Mapped
      Fixed_MPPA_Register 0x00000000 Memory Mapped
      Programmable_Start_Address_Register 0x34000000 (1 of 16, stride 16) [Memory Mapped]
      Programmable_End_Address_Register 0x3401FFFF (1 of 16, stride 16) [Memory Mapped]
      Programmable_MPPA_Register 0x03FFFC80 (1 of 16, stride 16) [Memory Mapped]
      Fault_Address_Register 0x00000000 Memory Mapped
      Fault_Status_Register 0x00000000 Memory Mapped
      Fault_Clear_Register 0x00000000 Memory Mapped
      MPU2
      Revision_Register 0x4E814901 Memory Mapped
      Configuration_Register 0x00000001 Memory Mapped
      Interrupt_Raw_Status_Set_Register 0x00000000 Memory Mapped
      Interrupt_Enabled_Status_Clear_Register 0x00000000 Memory Mapped
      Interrupt_Enable_Register 0x00000000 Memory Mapped
      Interrupt_Enable_Clear_Register 0x00000000 Memory Mapped
      EOI_Register 0x00000000 Memory Mapped
      Interrupt_Vector_Register 0x00000000 Memory Mapped
      Fixed_Start_Address_Register 0x00000000 Memory Mapped
      Fixed_End_Address_Register 0x00000000 Memory Mapped
      Fixed_MPPA_Register 0x00000000 Memory Mapped
      Programmable_Start_Address_Register 0x02A00000 (1 of 16, stride 16) [Memory Mapped]
      Programmable_End_Address_Register 0x02A1FFFF (1 of 16, stride 16) [Memory Mapped]
      Programmable_MPPA_Register 0x03FFFCE4 (1 of 16, stride 16) [Memory Mapped]
      Fault_Address_Register 0x00000000 Memory Mapped
      Fault_Status_Register 0x00000000 Memory Mapped
      Fault_Clear_Register 0x00000000 Memory Mapped
      MPU3
      Revision_Register 0x4E814901 Memory Mapped
      Configuration_Register 0x00010001 Memory Mapped
      Interrupt_Raw_Status_Set_Register 0x00000000 Memory Mapped
      Interrupt_Enabled_Status_Clear_Register 0x00000000 Memory Mapped
      Interrupt_Enable_Register 0x00000000 Memory Mapped
      Interrupt_Enable_Clear_Register 0x00000000 Memory Mapped
      EOI_Register 0x00000000 Memory Mapped
      Interrupt_Vector_Register 0x00000000 Memory Mapped
      Fixed_Start_Address_Register 0x00000000 Memory Mapped
      Fixed_End_Address_Register 0x00000000 Memory Mapped
      Fixed_MPPA_Register 0x00000000 Memory Mapped
      Programmable_Start_Address_Register 0x02640000 (1 of 16, stride 16) [Memory Mapped]
      Programmable_End_Address_Register 0x026407FF (1 of 16, stride 16) [Memory Mapped]
      Programmable_MPPA_Register 0x0003FCB6 (1 of 16, stride 16) [Memory Mapped]
      Fault_Address_Register 0x00000000 Memory Mapped
      Fault_Status_Register 0x00000000 Memory Mapped
      Fault_Clear_Register 0x00000000 Memory Mapped

      Is the above what you need Chad?  Thanks very much for your help!

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Chad Courtney
      Posted by Chad Courtney
      on Jun 21 2012 10:45 AM
      Mastermind22595 points

      For each of the MPU's are you saying that the Start Addresses, End Address and MPPA's for all 16 were the same for a given MPU#?

      Best Regards,

      Chad

      ------------------------------------------------------------------------------------------------------------

      Please click the Verify Answer button on this post if it answers your question.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Joel Keller
      Posted by Joel Keller
      on Jun 25 2012 09:17 AM
      Expert1150 points

      Hi Chad,

      Unfortunately I've had to move on to a higher priority task for a bit.  I will reply here when I get back to this issue.  Thanks again for the help.

      -Joel

      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