• 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 » MSP430F5438 + FreeRTOS + MSPGCC
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 >
  • Forums

    MSP430F5438 + FreeRTOS + MSPGCC

    This question is not answered
    Mathias Go
    Posted by Mathias Go
    on Apr 16 2012 06:32 AM
    Prodigy30 points

    Hello,

    I'm a bit new to micro-controllers, and I encounter some difficulties to port the FreeRTOS to the MSP430F5438, using MSPGCC.

    I'm working on the Olimex MSP430-5438-STK evaluation board;

    As i haven't found any port to this configuration ( MSPGCC && MSP430x5438 ), i've started with a new project, using official demos/examples, and tried to edit them to make FreeRTOS work with the MSP430-5438-STK board.

    My actual "little" problem, is that it looks like tasks never switch from one to another.

    It looks like that the macros to save/restore the context make the program crash... And as they are implemented in assembler, and that i dunno a single thing about it, i'm quite a bit lost...

    Has someone already done a FreeRTOS port to a MSP430 using MspGCC ? If so, could you help me?

    That's probably not big deal, but i can't find it out :-/

    Thanks a lot

    Matt

    msp430 msp430f5438 msp430x5438 mspgcc msp430-gcc FreeRTOS
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Jens-Michael Gross
      Posted by Jens-Michael Gross
      on Apr 16 2012 12:09 PM
      Guru140085 points

      I'm not familiar with FreeRTOS, and especially not with its source code.

      However, the 5x family has an MSP430X core. This means, the processor and all its registers have 20 bit, not just 16. While the core is backwards compatible with older core instructions (16 bit address range and registers), latest compiler versions use the 20 bit addressing to overcome the 64k boundary and access the flash above 64k. I'm not sure which version of MSPGCC you use, but if this version does the same, then it might be that the macros are only savng the lower 15 bits of the registers (including the program counter), whcih will lead to a crash if the code should jump back to an address above 64k after a task switch.

      Well, it's just guessing.

      _____________________________________
      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.
    • Mathias Go
      Posted by Mathias Go
      on Apr 17 2012 11:38 AM
      Prodigy30 points

      Thanks :)

      However, the 5x family has an MSP430X core.

      I didn't realize that, so the first problem probably was the use of a demo for MSP430 cores. As no Demo exist for MSP430X cores with MSPGCC, i'm trying to port it from the IAR one, but i'm confronted to difficulties as some macros are written in assembler in a .s43 file. Looks like i don't have the right assembler syntax.

      I'm not sure which version of MSPGCC you use

      It's the v. 4.4.3 (MSPGCC4_r4-20100210)

      Thank you for your answer, it helped me a lot

      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 Apr 17 2012 14:14 PM
      Guru140085 points

      Mathias Go
      It's the v. 4.4.3 (MSPGCC4_r4-20100210)

      This looks like from the abandoned MSPGCC4 branch. The current development is done on the uniarch MSPGCC, which can be found here.

      Personally, I still use the latest MSPGCC3.2.3 build which supports MSP430X on assembler level but not in C (which is sufficient to use the additional flash as data storage space and for loadable constant data tables)
      But that's mainly because the compiler output is used in produciton, and has been tested with this compiler. So unless I have to switch...

      _____________________________________
      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.
    • Mathias Go
      Posted by Mathias Go
      on Apr 18 2012 04:03 AM
      Prodigy30 points

      Thanks one again :)

      So i'll try to install an up-to-date version of mspgcc for Linux :)

      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