• 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) » PCIe-Boot Helloworld: Core1-7 not running
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

      Geeks UNITE for Geek Pride Day

      Posted 1 hour ago
      by Lauren Reed1
      Happy Geek Pride Day from the Processors team! We wanted to celebrate...
    • $core_v2_blog.Current.Name

      OpenMP - All aboard!

      Posted 2 days 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 3 days ago
      by Lauren Reed1
      A big thank you to everyone who participated in our contest last...

    PCIe-Boot Helloworld: Core1-7 not running

    PCIe-Boot Helloworld: Core1-7 not running

    This question is answered
    Bernd Erbe
    Posted by Bernd Erbe
    on Aug 09 2012 02:03 AM
    Expert1330 points

    Hello,

    I've tested the PCIe-Boot with a C6678-EVM and a PCIe-Adaptor-Card. Everything works fine, but debugging the cores and addresses it is obvious that only core 0 is running and the other cores are not started.

    Core0 is in the while-Loop at the end of the program. The start address has written to 0x1x87FFFC for every core. The IPCGRx are written (I have modified the write with a Src, this can be seen with the debugger). But trying to loading symbols for Core1-7 failes, although the boot_magic_address 0xBABEFACE is not written.

    How can I debug further to see whats going wrong on the other cores?

    Moreover the output with minicom hung up everytime after some lines. I think that's no problem as Core0 runs until the loop is reached, but I wonder what's the problem (maybe UART-configuration of DSP or minicom)?

    Thanks for help.
    Regards,
    Bernd

    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 Aug 09 2012 09:40 AM
      Verified Answer
      Verified by Bernd Erbe
      Mastermind22595 points

      Did you load code to Core1-7 before writing the BOOT_MAGIC_ADDRESS? What are you using to write the BOOT_MAGIC_ADDRESS (BMA) of Core1-7, this should be done by Core0.  Core0 should have it's BOOT_MAGIC_ADDRESS written first by PCIe, and then it should write the other Core's BMA.

      You say you're trying to load symbols for Core1-7, I assume you're using CCS for debug then.  Have you check that you got code loaded into the other Cores?  What do you see in the BOOT_MAGIC_ADDRESS of Core1-7?

      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.
    • Bernd Erbe
      Posted by Bernd Erbe
      on Aug 13 2012 00:58 AM
      Expert1330 points

      Hello Chad,

      I think I have understood some parts of the example wrong. The original example first initializes the DDR and then loads the bootCode into DDR. Core0 is then triggered via PCIe (by writing the Boot_Magic_Address). Then Core0 is booting and triggers Core1-7 (by writing the Boot_Magic_Address and sending IPC-IRQ).

      Question for me is now: is it necessary to load the bootCode into the Local SRAM for every core? I don't think so as the code is present in the DDR. But I have modified the example so that the code is loaded into Local SRAM of Core0 (address 0x83CC40).

      I think this is the problem as the other cores are not able to get bootCode from the Local SRAM of Core0 isn't it? So I'll try it with writing the bootCode to the MSM. I hope it is not necessary to load the code explicit to the cores if it is in a location where every code can get it?

      Regards,
      Bernd

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Bernd Erbe
      Posted by Bernd Erbe
      on Aug 13 2012 01:28 AM
      Expert1330 points

      Small update: Loading the bootCode to the MSM, then everything works!

      Regards,
      Bernd

      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 Aug 13 2012 08:46 AM
      Mastermind22595 points

      You can run it out DDR3 as well.  It's just a matter of what you use as your BOOT_MAGIC_ADDRESS. 

      I believe in theory you could run it out of another cores Local L2 space (using the global address - and everything linked as global addresses - you can't use local address as you'd be pointing to your core's Local L2 and not core0's L2) but it's not something I'd suggest doing.

      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.
    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