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
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.
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
Mathias GoIt's the v. 4.4.3 (MSPGCC4_r4-20100210)
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...
Thanks one again :)
So i'll try to install an up-to-date version of mspgcc for Linux :)
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.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.