• 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 » Embedded Software » BIOS » BIOS forum » [Help!]XDC/BIOS components eat up too much L2 RAM in CCS4.2
Share
BIOS
  • Forum
  • Announcements
Options
  • Subscribe via RSS

Forums

[Help!]XDC/BIOS components eat up too much L2 RAM in CCS4.2

  • gavin peng
    Posted by gavin peng
    on Nov 03 2011 10:14 AM
    Prodigy220 points

    Hi,

    After RTSC is introduced in BIOS 6(ie. SYS//BIOS) in CCS4, it is observed that much more L2 ram memory  consumed by xdc package, bios package and the rts runtime library(basically spread across the .text and .far1 memory sections) against CCS3.3.  In my ccs4.2.2 project, the total cost is even about 300kbytes or so which is totally unacceptable .  So the concern is
    1. Is this a normal or internally confirmed case/issue for RTSC project?

    2. Is there any way to tailor the xdc/bios/rts lib for code size optimization with no or least functionlity/performance loss? Any reference document on this topic?

    Maybe I can post a *.map file if needed

    Thanks very much!

    BR/Gavin

    CCS4.2 optimization RTS lib SYS/BIOS XDC
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • gavin peng
    Posted by gavin peng
    on Nov 03 2011 10:41 AM
    Prodigy220 points

    Suplements on compiling environment info:

     ===============================

    –CCS 4.2.2
    –BIOS: 6_31_04_27
    –XDC: 3.20.8.88
    –Code Generation Tools: 7.2.2 
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sasha Slijepcevic
    Posted by Sasha Slijepcevic
    on Nov 03 2011 12:08 PM
    Genius15140 points

    It's unusual to get 300kb of additional code when you switch from DSP/BIOS 5 to SYS/BIOS 6 and RTSC. Can you post your CFG script? What's the profile you selected in the RTSC tab in Project Properties->CCS Build? 

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

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • gavin peng
    Posted by gavin peng
    on Nov 05 2011 09:29 AM
    Prodigy220 points

    Hi Sasha,

    Please check  my project's main configuation as attached.

    3021.cfg.txt

    The biggest memory cost includes the .text(most from core0.pe66e.obj  and partly from rts6600e_elf.lib and ti.csl.ae66e) and .far1sections(mainly the core0.pe66e.obj). There may be some misunderstanding on the .text and .far1 sections contained in core0.pe66e.obj which was considered to be all just xdc/bios related lower level obj, but what is on earth the core0.pe66e.obj composed of? Any principle related introduction on how it is built out? Seems no any ti documents and also Nothing googled for this yet.

    Regarding  the RTSC tab configuration, do you want to check my RTSC platfrom? I created my own package as attached for the 6616e target.
    4456.Platform.xdc.txt
    3771.package.xdc.txt

    To solve this issue, Is there any way to optimize the xdc/bios related stuff and how to rebuild the rts6600e-elf.lib?

    Thanks a lot!

    BR/Gavin

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • gavin peng
    Posted by gavin peng
    on Nov 05 2011 11:43 AM
    Prodigy220 points

    In other words, Is there any benchmark data available for a full deployment of xdc/bios/rts lib in ccs4 or ccs5 project which can be a baseline reference?

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sasha Slijepcevic
    Posted by Sasha Slijepcevic
    on Nov 07 2011 16:37 PM
    Genius15140 points

    Check Appendix "SIze Benchmarks" in the BIOS User's Guide (SPRUEX3), where you can find the explanation how the benchmarks are generated and where you can find them. For the version of SYS/BIOS 6 that you are using, it is very important to know what is the profile you selected in the RTSC tab in Project Properties->CCS Build? If it's 'debug' or 'release', you will end up with an unoptimized version of your configuration. Try using 'whole_program' if you aren't already and see if that makes any difference.

    In the same document I referred to above, there is also Section "Minimizing the Application Footprint". You may want to check that too.

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

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • gavin peng
    Posted by gavin peng
    on Nov 29 2011 09:48 AM
    Prodigy220 points

    Hi Sasha,

    Thanks for your information!

    Actually my key concern is on the .far.1 section from the "core0.pe66e.obj" for each project which has the same size 0x24410 (145kbytes). I need more information to know how the core0.pe66e.obj compiled out and how the realted memory lay out  in this obj defined.

    As for the SIze Benchmarks from the bios user guide, they are useful but not related to my question yet.

    The selected profile was 'whole_program' and I also tried debug/release and no change on this .far.1 sections.

    Could you have any other cluses?

    Thanks so much!

    BR/Gavin

    pe66e.obj
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sasha Slijepcevic
    Posted by Sasha Slijepcevic
    on Dec 01 2011 19:57 PM
    Genius15140 points

    Gavin,
    if you tried following the advice from the BIOS guide and it didn't help, we would then need to see some of the generated files. Can you post a map file for your app, and also there is another map file in the configPkg/package/cfg directory of your project. There is also a file core0_pe66e.c in the same directory that could be useful to find out what's in .far.1 section.

    That C file is compiled into an object file, which is then partially linked together with other libraries listed in an xdl file in the same directory. The result of the partial linking (plus some other step) is the file core0.pe66e.obj, which is then linked with your application. The second map file I am asking about is a byproduct of the partial link step.

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

    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