• 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 » Development Tools » Code Composer Studio » Code Composer Forum » CCSV4 for multi-core C6474 simulator frequently hangs
Share
Code Composer Studio
  • Forum
  • Announcements
Options
  • Subscribe via RSS
Common Questions
  • Code Composer Studio Forum Usage Guidelines

  • Resources
  • Code Composer Studio (CCStudio) Product Folder
  • Troubleshooting CCS
  • CCS Wiki
  • Download CCS
  • Order CCS
  • Tools Insider Blog
  • Bug Tracking
  • CCSV4 for multi-core C6474 simulator frequently hangs

    CCSV4 for multi-core C6474 simulator frequently hangs

    This question is not answered
    touse
    Posted by touse
    on May 18 2009 06:26 AM
    Expert1475 points

    Hi, all!

    I'm using CCSv4 for multi-core C6474 simulation. But it frequently hangs when I load the program or even when I edit the variable names in the watch window, and after terminating the CCS, an exit window with "JVM terminated. Exit code=1073807364" is present! I googled the error message and revised the eclipse.ini in the eclipse installation directory to enlarge the JVM heap size. But it doesn't work!

    I used CCSv3.3 before to simulate the programs running in the three cores of C6474, and the CCS always hangs when a core runs after another! So I turned to the new CCSv4, and now I think there's little improvement in the simulation. At first, I try to access the other core's on-chip memory after the other core's initialization, so I thought the violation access of the other core's on-chip memory may be the reason to cause the termination of the simulation, and I change the access to off-chip, but it doesn't work! The CCS IDE hangs just as before!

    So would anyone who used the CCS to simulate C6474 tell me how to simulate the multi-core, or only emulation is available? The gel I used is the default gel file named  'tisim_init_6474.gel' and the cfg file is 'tisim_c6474_symmetric.cfg'! When using CCSv3.3, I replaced the cfg files with the errata files listed on  http://wiki.davincidsp.com/index.php?title=CCSv3.3_SR12_Simulation_Errata! I've no idea to solve the frequently no-response of the CCS simulator, and I don't know if the emulator has the same problem!

    Thanks!

       

     

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

    CCS v4 C6474 multi-core simuation
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Ki-Soo Lee
      Posted by Ki-Soo Lee
      on May 18 2009 22:56 PM
      Guru117045 points

      Hi touse,

      Could you provide a detailed test case? I've used both the C6474 and other similar multi-core simulators without seeing the issues you are reporting. Step-by-step instructions to consistently reproduce the issue would help us greatly in trying to resolve the issue.

      Thanks

      ki

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

      Don't forget to verify answers to your forum questions by using the green "Verify Answer" button.

      Did you read the CCS Forum Guidelines & FAQ? If not, PLEASE read it. If you haven't read it in awhile, please read it again to see if any updates were made.

      Having CCSv5 problems? Check out the CCSv5 Troubleshooting Guide

      Click here to track an issue. Enter your bug id in the "Find Record ID" box

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Manivannan E
      Posted by Manivannan E
      on May 19 2009 02:10 AM
      Intellectual2010 points

      Hi Touse,

             We are aware of this problem in multi-core Cycle accurate simulator. The problem is due to a dead-lock in SCR, this happens when one core is running & other cores are at halted state,  the core that is running will clock the SCR and if another core has already placed a request on SCR & not ready to accept the request because it's on halted state, this results in dead-lock & hangs the simulator. We are working on the fix & the fix is expected to be available in CCSv4 RTM.

      As a work around, if you do sync run on all core you can avoid dead-lock & the hang.

      regards,

      Mani



      If my reply answers your question please mark the thread as answered

      Check the Wiki for more info - link 

      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 19 2009 05:53 AM
      Expert1475 points

      For example, coreA read the on-chip data of CoreA and process it, the result is written to coreB, coneB reads the written result and port the results to coreC, coreC read the results processed by CoreB and write the result to CoreA! No matter I placed the exchanged data between cores in on-chip or off-chip memory, the CCS frequently hangs while I debug the simulation! I find it really hard to see whether the data is correct because before the data is generated, the CCS requires to be terminated. I don't know whether the emulator can do the debug work core by core! 

      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.
    • touse
      Posted by touse
      on May 19 2009 05:56 AM
      Expert1475 points

      Thanks for your reply! I've tried sync-run, but the CCS hangs, too! and with Sync run, how can I debug the simulation? When setting the breakpoints in the program, it seldom reaches the breakpoint before the termination of the CCS IDE!  

      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.
    • Manivannan E
      Posted by Manivannan E
      on May 19 2009 06:06 AM
      Intellectual2010 points

      I am surprised it still hangs. Which version of CCS you are using? About debugging sync run, enable the global breakpoint in the PDM, which will halt all the core when breakpoint is hit on any of the cores. Then you can check the status of memory & registers on individual CCS IDE. Apply breakpoint in all the cores & check the data before written to the memory, is the best way to debug.

      About the emulator, i need to check with my colleagues & get back to you.

      regards,

      Mani

       



      If my reply answers your question please mark the thread as answered

      Check the Wiki for more info - link 

      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 19 2009 06:38 AM
      Expert1475 points

      I've used CCSv3.3 with SR12 patched and CCSv4 Beta 5, the same problem exists! The problem for sync-run is probably because the configuration of the on-chip memory isn't known by the other cores, and there exists violated access of unstalbe on-chip memory! But what trouble me most is the CCS may hang when I load program to one core or when all core halt and I revise the watch variables to get their address! Thanks for your reply and look forward to your further conclusion of the emulator case!

      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.
    • touse
      Posted by touse
      on May 20 2009 05:20 AM
      Expert1475 points

      When sync-run, it needs to halt once or twice before the multi-core run! The program diagram is as follows: coreA processes data and writes a finish flag to coreB, and CoreB reads the flag util '1' and begins to process data and writes a finish flag to CoreC, CoreC reads the flags and processes and write a finish flag to CoreA! The flag for CoreA is initialized to 1, so the three cores should run synchronously! But it often occurs that coreA refuses to run, and I halt the simulator and sync-run again, this time maybe all cores run sequentially! Is this the bug of the simulator then?

      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.
    • Manivannan E
      Posted by Manivannan E
      on May 20 2009 05:38 AM
      Intellectual2010 points

      I don't think it's a bug on simulator. I think the IDE is taking some time to update the status. When you do sync-run it equivalent to multiple thread running simultanously, so flag status on each core will be different & you might want to check for race & dead lock conditions in programming.



      If my reply answers your question please mark the thread as answered

      Check the Wiki for more info - link 

      dthread
      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