• 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 » Microcontrollers » MSP430™ Microcontrollers » MSP430 Ultra-Low Power 16-bit Microcontroller Forum » "MSP-EXP430F5438_User_Experience" project failed to build in CCS 5.1
Share
MSP430™ Microcontrollers
  • Forum
  • Announcements
  • E2E Wiki
Options
  • Subscribe via RSS
MSP430 Resources
  • MSP430 Product Folder
  • MSP-EXP430G2 - MSP430 LaunchPad Value Line Development kit
  • MSP430 Getting Started Guide
  • MSP430 Microcontroller Projects
  • More Resources >
  • "MSP-EXP430F5438_User_Experience" project failed to build in CCS 5.1

    "MSP-EXP430F5438_User_Experience" project failed to build in CCS 5.1

    This question is not answered
    ngsoft user
    Posted by ngsoft user
    on May 02 2012 06:49 AM
    Prodigy150 points

    hello,

    I have two questions. One is regarding "MSP-EXP430F5438_User_Experience" and the other is
    regarding "executing code from RAM".

    1. "MSP-EXP430F5438_User_Experience"
    I am trying to build "MSP-EXP430F5438_User_Experience" project on CCS but fail. I set mC to msp430f5438A and build.
    how ever, I get the following Warnings:

    1.1. #10062-D entry-point symbol "_c_int00" undefined.
    1.2. #10202-D no suitable entry-point found; setting to 0.
    1.3.#10207-D automatic RTS selection:  resolving index library "libc.a" to.
    1.4. #10366-D automatic library build: using library.

    I am setting workspace to this location: "C:\...\slac227j\MSP-EXP430F5438(A) Example Software"
    and project to this location: "C:\...\slac227j\MSP-EXP430F5438(A) Example Software\CCS".

    However, when I create new project and copying all relevant file, the project is built there are no errors but i get the following run-time
    error when running: "No source available for "0xfffa"" in halLcdSetContrast()->halLcdSendCommand().
    this error keep poping up and there is no indication in the board.

    In "Project properties"->"General" I set Compiler version to "TI v4.0.0". before that it was 3.

    2. "executing code from RAM"
    I read in the FLASH section that flash write should be used different when code is executed from RAM and when it is executed from
    FLASH. "CUSTOM_BSL_APP" uses #ifdef INVOKE_BSL_WITHOUT_RESET.

    How can I set code to be executed from RAM?
    I saw in out.txt that first line is "@5c00" which tells the BSL to write to address 0x5c00 in FLASH.
    0x5c00 is main code memory "Bank 0".


    So if I want the code to be executed in RAM, I should set the adress to "@001C00" (RAM sector 0)?
    Where do I set it? in my case, it won't fit.

    Thank you,

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • ngsoft user
      Posted by ngsoft user
      on May 03 2012 07:48 AM
      Prodigy150 points

      bump

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jens-Michael Gross
      Posted by Jens-Michael Gross
      on May 03 2012 09:09 AM
      Guru140650 points

      ngsoft user
      1.2. #10202-D no suitable entry-point found; setting to 0.

      This means that the linker has no clue where yur program starts.

      This often happens if the project doesn't include code that contains the 'main' function. Or doesn't for some reason load the standard boot code.
      It's also possible that moving your workspace didn't move some required libraries from the original workspace.
      You should import a project into your workspace rather than moving the workspace to the project.

      2. indeed. The flash controller obviously cannot provide code to the CPU when actively writing to the flash. So if the flash writing code is in flash (of course not the location that is currently erased/written), the CPU gets a dummy isntruciton that lets it 'jump-in-place' until the current write is done. THen the CPU will continue as if nothing happened and can write the next byte.
      If code is executed from ram, no dummy instrucitons are generated and the code has to check for the busy bit. However, it may then use the block write mode where the flash is inaccessible all the time until a complete block is written. This is much faster, but cannot be used (obviously) if the code runs from flash.

      To put code in ram, you can simply add a pragma or attribute to the function that places it in initialized ram area. Such as _ramfunc, or specifying the segment. However, this method is compiler specific.

      You cannot simply define a start addres in ram for the function to be placed. In this case, teh function would be stored in ram adn vanish on power-off. It needs to be restored from flash to ram by the startup code, just like the init values of your global variables.

      _____________________________________
      Before posting bug reports or ask for help, do at least quick scan over this article. It applies to any kind of problem reporting. On any forum. And/or look here.
      If you cannot discuss your problem in the public, feel free to start a private conversation: click on my name and then 'start conversation'. But please do so only if you really cannot do it in a public thread, as I usually read all threads. And I prefer to answer where others can profit from it (or contribute to it) too.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • ngsoft user
      Posted by ngsoft user
      on May 06 2012 01:18 AM
      Prodigy150 points

      Hello Michael,

      Thank you for your question.
      Regarding my first issue.

      I used TI's slac227j sample before creating new project and copying all files and dependencies.
      I am using CCS v5.1. maybe this is the reason? maybe the sample works on older version of CCS and compiler?
      I saw that it uses compiler version 3 while CCS 5.1 has compiler version 4.

      I added screenshot of the project properties and the warning:


      1. automatic library build: using library
      2. automatic RTS selection:  resolving index library "libc.a" to
      3. entry-point symbol "_c_int00" undefined
      4. Invalid project path: Missing project folder or file: \MSP-EXP430F5438_User_Experience_16KB\F5XX_6XX_Core_Lib\hal_UCS.c for Include path.
      5. Invalid project path: Missing project folder or file: \MSP-EXP430F5438_User_Experience_16KB\F5XX_6XX_Core_Lib\hal_UCS.c for Include path.  
      6. no suitable entry-point found; setting to 0
      7. This project was created using a version of compiler that is not currently installed: 3.3.0 [MSP430]. Another version of the compiler will be used during build: 4.0.0.   Please install the compiler of the required version, or migrate the project to one of the available compiler versions.   



      Thanks.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jens-Michael Gross
      Posted by Jens-Michael Gross
      on May 07 2012 13:19 PM
      Guru140650 points

      Message 4/5 and 7 tell yoou what's going on.

      first, the original project was created for an older compiler version. 'older compiler' doesn't just mean there is a newer compiler.exe file, but the whole IDE, including compiler parameters, default paths, maybe more, has been changed.
      Possibly even the linker scripts and program entry points.

      There is a chance that the code will simple not build with the new compiler because it may contain version-specific tweaks.

      Also, the project seems to contain an invalid path setting for includes. It i spossible that with copying 'all' files from teh original project, you also replaced the new deault path informations in teh freshly created project, turining the new project into a clone of the old instead of makeing a new project a new project with the code of the old.

      It is a known issue that the project files contain absolute pathes rather than relative ones, so you simply cannot move a project. If a project was created in c:\xyz, it has to stay thereand won't run anymore if you move it to d:\zyx

      I think there was a trick to import a project into your workspace with adjusting the path information, but I don't remember how to do it.
      The othe rway is to create a new project, copy only the code files (.c/.h etc.) and completely rewrite the project properties where necessary.

      You can look into the settings of the original project and see what difference to the new projects ones is a required project specific difference and what depends on the installation.

      P.s.: in the above properties, ther eis a tab 'entry/exit hook options'. Your missing entry-point symbol might be related to thsi setting.

      I don' tuse CCS or IAR mayself, so I can only copy what i read in this forum over the last years. And add some own ideas/guesses. But i cannot give you detailed answers here.

      _____________________________________
      Before posting bug reports or ask for help, do at least quick scan over this article. It applies to any kind of problem reporting. On any forum. And/or look here.
      If you cannot discuss your problem in the public, feel free to start a private conversation: click on my name and then 'start conversation'. But please do so only if you really cannot do it in a public thread, as I usually read all threads. And I prefer to answer where others can profit from it (or contribute to it) too.

      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