• 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) » Modify PCIe-Boot-Example Hello World to L2-RAM only (instead of DDR) don't work
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

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

      Posted 5 days ago
      by Lindsey Bare
      It’s hard to believe it’s already been two years...
    • $core_v2_blog.Current.Name

      Limited time offer: Save $100 on Keystone-based EVM!

      Posted 18 days ago
      by tscheck
      Have you been thinking about ordering a TI Keystone-based EVM...
    • $core_v2_blog.Current.Name

      Imagine the impact…TI’s KeyStone SoC + HP Moonshot

      Posted 29 days ago
      by Sanjay35057
      Last week, market leader Hewlett Packard announced a huge change...

    Forums

    Modify PCIe-Boot-Example Hello World to L2-RAM only (instead of DDR) don't work

    This question is answered
    Bernd Erbe
    Posted by Bernd Erbe
    on Jun 18 2012 05:09 AM
    Expert1330 points
    ModifiedFiles.zip

    Hello,

    I'm working with am TMDXEVM6678L EVM and a Linux system. I first tried the PCIe-BootExamples provided by the MCSDK and the Hello World as well as the POST example works fine.

    So I tried to modify the Hello World example in this way that only the Local L2 RAM is used (like in the POST example) to get some experience for own projects. I imported the HelloWorld-Project from MCSDK and modified these things (see attachments):
    -changed the pcieboot_helloworld.cmd to use only L2-RAM
    -created *.h file (via btbl, ...) and checked it (Entry point is 0x83CC00, BootTable is loaded at 0x830000)
    -modified pciedemo.c to load the HelloWorld directly into L2-RAM and compiled it

    Now starting pciedemo.ko with insmod works fine, but the application don't start correctly and don't gives any output to the UART. dmesg says the correct boot entry and that 0xD898 bytes are loaded.

    Debugging the Core 0 with CCS I see that the bootTable is loaded correct at 0x830000, but the PC stands at 0x830E22. Checking the original HelloWorld application, the PC is standing in the while-Loop at 0x....E964 or something so I think the PC hung up somewhere...

    Have I forgotten something for the adaption from DDR to L2-RAM? How can I debug this further as there are no modifications to the program itself but only to the cmd-file and resulting bootTable (which seems okay)?

    Best 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
    • ArunMani
      Posted by ArunMani
      on Jun 18 2012 10:43 AM
      Genius9480 points

      Hi Bernd,

      Be careful that the PCIe boot is done through IBL and it also executed form L2. If you overwite your code in that space, it might not work. I believe that the document should let you know where they are loading. If not, please let me know and I can get you the information.  

      If you need more help, please reply back. If this answers the question, please click  Verify Answer  , below.

      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 Jun 18 2012 23:59 PM
      Expert1330 points

      Hi Arun,

      I've read this in the manual and I don't think that this is the problem. IBL uses memory from 0x800000 to 0x81BDFF, RBL uses 0x872DC0 to 0x87FFFF.

      My bootTable is written to 0x830000, bootEntry is at 0x83CC00 so there should be no problem.

      Best Regards,
      Bernd

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

      Can you load the symbols when you are chekcing through CCS. It will show you where in the code you are stuck. that might give us some clue.

      Load the same .out file after selecting load symbol instead of "load program".

      Thanks,

      Arun.

      If you need more help, please reply back. If this answers the question, please click  Verify Answer  , below.

      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 Jun 28 2012 07:16 AM
      Expert1330 points

      Hello Arun,

      after some debugging with loading the symbols, I've seen that the code stucks here:

      -main: write_uart (Line 152, then 118)
      -\pdk_C6678_1_0_0_21\packages\ti\platform\evmc6678l\platform_lib\src\platform.c: platform_delaycycles (Line 719)
      -here the code loops endless because the register TSCL always is zero in method CSL_chipReadTSCL()

      I'm not sure why this happens as I only redefine some mapping of the code into the LocalSRAM as you can see in the attachment above.

      Do you have an idea to this topic?

      Best Regards,
      Bernd

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • one and zero
      Posted by one and zero
      on Jun 28 2012 08:26 AM
      Verified Answer
      Verified by Bernd Erbe
      Expert6825 points

      Hi Bernd,

      Could you try to add a write to the TSCL before the platform_uart_init(); in main of pcieboot_helloworld.c like that:

              Uint32 oldTSCL;
              oldTSCL = CSL_chipWriteTSCL (0);

      Just in case the TSCL is not running yet ...

      Kind regards,
      one and zero

       

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

      You can also follow me on Twitter: http://twitter.com/oneandzeroTI

      Do you want to read interesting multicore articles? Check out our Multicore Mix

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • ArunMani
      Posted by ArunMani
      on Jul 09 2012 10:04 AM
      Genius9480 points

      Hi Bernd,

      Did the solution from one and zero worked for you?

      Thanks,

      Arun.

      If you need more help, please reply back. If this answers the question, please click  Verify Answer  , below.

      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 Jul 24 2012 02:26 AM
      Expert1330 points

      Hello together,

      sorry for the delay due to holiday. Yes, the solution from one and zero works perfect. I'm not sure why the TSCL is not running using the same boot example only with L2 cache instead of DDR, but now it works.

      Thanks for your advice!

      Best Regards,
      Bernd

      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