• 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 » C64x Multicore DSP Forum » help about C6474 shared memory
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 5 hours 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 1 day 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 8 days ago
      by Lindsey Bare
      It’s hard to believe it’s already been two years...

    Forums

    help about C6474 shared memory

    This question is not answered
    touse
    Posted by touse
    on Apr 27 2009 06:06 AM
    Expert1475 points

    Hi, all!

    When using C6474 simulator to simulate one program, from the datasheet, it seems that any core can access any memory on-chip through the global memory map! The problem is when core 0 tried to access the L1D sram in core1 ( which is configured as L1d sram, not cache), the simulator terminated because of serious error!

    As all the on-chip memory has its unique global address, so it should be accessed directly by any DSP core, is that right? What caused the CCS simulator to be terminated then?

    Thanks all!

    touse  

    Digital Signal Processing, ARM DSPs, Embedded System, Multi-core Programming

    C6474 simulator
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Nizamudheen A
      Posted by Nizamudheen A
      on Apr 28 2009 01:08 AM
      Intellectual1370 points

      The problem you noticed (I am reading his ‘the simulator terminate because of serious error’ statement as simulator becoming unresponsive) could be related to a usability gap in the multi-core simulator configurations (that includes the C6474 simulator configuration).

       

      Essentially, the simulator becomes unresponsive on an asynchronous simulator-run (some specific scenarios). I am planning a simple fix by popping-up error messages in such scenario and prompt user to perform a sync-run. For the time being, I recommend you to use sync-run.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • touse
      Posted by touse
      on Apr 28 2009 06:03 AM
      Expert1475 points

      What does the sync-run mean? run the three cores synchronously? How to run the multi cores at the same time then?

      The simulator I chose is 'TCI6474 simulator symmetric ', the problem is whether I can access the other core's in-chip L1 and L2 memory configured as SRAM and How can I access? Before accessing, the core may not know the configuration of the other core's in-chip memory. that is, the present core doesn't know whether the other core's in-chip memory cache or SRAM!

      From the data sheet, it seems any core can access any in-chip memory through the global address, is that true?  

      Digital Signal Processing, ARM DSPs, Embedded System, Multi-core Programming

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Nizamudheen A
      Posted by Nizamudheen A
      on Apr 28 2009 06:28 AM
      Intellectual1370 points

      Sync-run: The sync-run means issuing a run-command from CCS to all the cores in the system. This is possible thru the 'Parallel DEbug Manager' (the first window -- the small one-- that pops-up when you invoke the simulator). 

      In TCI6474, i beleive each core can access the internal memory of the other cores, thru global address. The application running on each core should know the memory-map of the device. Hope this helps.

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • touse
      Posted by touse
      on May 04 2009 05:53 AM
      Expert1475 points

      well, I found the errata of async-run for multi-core DSPs in http://wiki.davincidsp.com/index.php?title=CCSv3.3_SR12_Simulation_Errata !

      So I patch the errata zip as instructed, but still when I run one core to write something to the other core's memory, the CCS hangs with no response! Can the errata zip solve the problem of asyn-run error of multi-core simulation?

      Digital Signal Processing, ARM DSPs, Embedded System, Multi-core Programming

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Nizamudheen A
      Posted by Nizamudheen A
      on May 04 2009 09:26 AM
      Intellectual1370 points

      I am not sure if you used the 'sync-run'. 

       

      The recommendation is to use the 'run' command from the 'CCS Parallel Debug Manager' , rather than the run command from the individual CCS. Please confirm this 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • touse
      Posted by touse
      on May 04 2009 21:36 PM
      Expert1475 points

      I tried the parallel run in "Parallel Debug Manager" as well as the the individual run of every core!  The CCS hangs no matter parallel run or not!

      From the solution guide listed at http://wiki.davincidsp.com/index.php?title=CCSv3.3_SR12_Simulation_Errata, I think the asyn-run problem can be solved after the replacement of the configure files!

      Digital Signal Processing, ARM DSPs, Embedded System, Multi-core Programming

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Nizamudheen A
      Posted by Nizamudheen A
      on May 05 2009 05:42 AM
      Intellectual1370 points

      Did replacing the configuation file help? If not, will you be able to share the code that cause the problem, and the steps to run it on the simulator?

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • touse
      Posted by touse
      on May 05 2009 21:30 PM
      Expert1475 points

      I replaced the configuration files with the extracted files from the errata zip, and now I can run one core after another! But when I use sync-run, the CCS hangs! Is it because of the cache configuration! I split the 32KB L1D of each core into 2 part, one 16KB for cache, one 16KB for L1DSRAM! When the cores run synchronously, how could the present core know the state of the on-chip memory allocation of the other cores especially when I'd like to access the other core's on-chip memory?

      Digital Signal Processing, ARM DSPs, Embedded System, Multi-core Programming

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Nizamudheen A
      Posted by Nizamudheen A
      on May 12 2009 04:21 AM
      Intellectual1370 points

      I think, The application has to 'develop' knowlegde of the current cache configuration acorss all the core's in the system. It should maintain state in the application 

      Given a Chip specification, a given core can identify

      1. the internal memory size (Statically looking at the spec)
      2. current RAM Vs Cache partition (using L2CFG register). 

      However this is not possible when one core wants to inpect the cache Vs RAM partition on other core's cache. Becuase, i beleive, L2CFG register is not accessible from other core. Hence the run-time Cache Vs RAM partition cannot be inferred. 

      So, I advise ........The application has to 'develop' knowlegde of the current cache configuration acorss all the core's in the system.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • touse
      Posted by touse
      on May 13 2009 00:01 AM
      Expert1475 points

      As one core can't access the other core's cache configuration registers, so I think the work of devoloping knowledge of cache configuration across all the core's may not be necessary. If the other cores have already initialized the cache configuration registers, the current core can access the other core's on-chip memory even if it doesn't know how to access the configuration registers!

      So is it possible for the current core to access the other core's on-chip memory after the other core's DSP/BIOS memory configuration initialization?

      Digital Signal Processing, ARM DSPs, Embedded System, Multi-core Programming

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Nizamudheen A
      Posted by Nizamudheen A
      on May 13 2009 00:43 AM
      Intellectual1370 points

      >> So is it possible for the current core to access the other core's on-chip memory after the other core's DSP/BIOS memory configuration initialization? 

      Yes. It is possible for one core to access the other core's intenral RAM. 

      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