Forums

How to run FreeRtos on MSP430

Started by brOS December 20, 2009
Dear all,

I want to run FreeRTOS on my MSP430 platform, but I have a problem.
I downloaded FreeRTOS and tried to start demo project for IAR, but it seems
I have older version of IAR which can not start demo project. Than I tried
to make project myself from source code files. I have added all files into
my project and tried to compile it. But linker says that it can not find
references to functions which are used for creating tasks on specific port.
One of the functions is called something like vPortMalloc.....

Please help !

Thanks in advance.	   
					
---------------------------------------		
This message was sent using the comp.arch.embedded web interface on
http://www.EmbeddedRelated.com
brOS wrote:
> Dear all, > > I want to run FreeRTOS on my MSP430 platform, but I have a problem. > I downloaded FreeRTOS and tried to start demo project for IAR, but it seems > I have older version of IAR which can not start demo project. Than I tried > to make project myself from source code files. I have added all files into > my project and tried to compile it. But linker says that it can not find > references to functions which are used for creating tasks on specific port. > One of the functions is called something like vPortMalloc..... >
Have you included source/portable/memmang/heap_1.c or heap_2.c or heap_3.c in your project. Have you included source/portable/iar/msp430 in the include path? -- Regards, Richard. + http://www.FreeRTOS.org Designed for Microcontrollers. More than 7000 downloads per month. + http://www.SafeRTOS.com Certified by T�V as meeting the requirements for safety related systems.
>brOS wrote: >> Dear all, >> >> I want to run FreeRTOS on my MSP430 platform, but I have a problem. >> I downloaded FreeRTOS and tried to start demo project for IAR, but it
seems
>> I have older version of IAR which can not start demo project. Than I
tried
>> to make project myself from source code files. I have added all files
into
>> my project and tried to compile it. But linker says that it can not
find
>> references to functions which are used for creating tasks on specific
port.
>> One of the functions is called something like vPortMalloc..... >> > >Have you included source/portable/memmang/heap_1.c or heap_2.c or >heap_3.c in your project. > >Have you included source/portable/iar/msp430 in the include path? > > >-- > >Regards, >Richard. > >+ http://www.FreeRTOS.org >Designed for Microcontrollers. More than 7000 downloads per month. > >+ http://www.SafeRTOS.com >Certified by T�V as meeting the requirements for safety related
systems.
> >
I have copied all source and header files into one folder and then I made a project adding all files in it. I have checked all include statements(at least I think I checked them all) and change them in #include "xxxxx". As far I can remember I didn't include any of those heap.c files, but I have included files from source/portable/iar/msp430 folder ....... I am wondering if there is some step by step instruction for starting FreeROS on MSP430 using IAR... --------------------------------------- This message was sent using the comp.arch.embedded web interface on http://www.EmbeddedRelated.com
> As > far I can remember I didn't include any of those heap.c files,
That is the problem then. -- Regards, Richard. + http://www.FreeRTOS.org Designed for Microcontrollers. More than 7000 downloads per month. + http://www.SafeRTOS.com Certified by T�V as meeting the requirements for safety related systems.
>> As >> far I can remember I didn't include any of those heap.c files, > >That is the problem then. > > >-- > >Regards, >Richard. > >+ http://www.FreeRTOS.org >Designed for Microcontrollers. More than 7000 downloads per month. > >+ http://www.SafeRTOS.com >Certified by T�V as meeting the requirements for safety related
systems.
> >
Yes , it's OK now:) Thanks a lot !!! --------------------------------------- This message was sent using the comp.arch.embedded web interface on http://www.EmbeddedRelated.com
>>> As >>> far I can remember I didn't include any of those heap.c files, >> >>That is the problem then. >> >> >>-- >> >>Regards, >>Richard. >> >>+ http://www.FreeRTOS.org >>Designed for Microcontrollers. More than 7000 downloads per month. >> >>+ http://www.SafeRTOS.com >>Certified by T�V as meeting the requirements for safety related >systems. >> >> >Yes , it's OK now:) > >Thanks a lot !!! > >--------------------------------------- >This message was sent using the comp.arch.embedded web interface on >http://www.EmbeddedRelated.com >
But I have one more question? How to write ISR for MSP430 using IAR and FreeRTOS. I tried to use #pragma directive but it not works. The problem is that there is no examples of ISR interacting with FreeRTOS. I looked for TickISR in FreeRTOS and it is written in assembly, and I would like to write my ISR in C... Please help.... --------------------------------------- This message was sent using the comp.arch.embedded web interface on http://www.EmbeddedRelated.com
>> > But I have one more question? How to write ISR for MSP430 using IAR and > FreeRTOS. I tried to use #pragma directive but it not works. The problem is > that there is no examples of ISR interacting with FreeRTOS. I looked for > TickISR in FreeRTOS and it is written in assembly, and I would like to > write my ISR in C... > Please help.... >
Look in the FreeRTOS\Demo\msp430_IAR\serial directory of the FreeRTOS download - there is a very basic UART driver that has an interrupt that interacts with the kernel. Generally GCC is the only compiler that allows the whole thing to be done in C *if* you want the ISR to be able to cause a context switch. -- Regards, Richard. + http://www.FreeRTOS.org Designed for Microcontrollers. More than 7000 downloads per month. + http://www.SafeRTOS.com Certified by T�V as meeting the requirements for safety related systems.
> >>> >> But I have one more question? How to write ISR for MSP430 using IAR and >> FreeRTOS. I tried to use #pragma directive but it not works. The problem
is
>> that there is no examples of ISR interacting with FreeRTOS. I looked
for
>> TickISR in FreeRTOS and it is written in assembly, and I would like to >> write my ISR in C... >> Please help.... >> > > >Look in the FreeRTOS\Demo\msp430_IAR\serial directory of the FreeRTOS >download - there is a very basic UART driver that has an interrupt that >interacts with the kernel. Generally GCC is the only compiler that >allows the whole thing to be done in C *if* you want the ISR to be able >to cause a context switch. > >-- > >Regards, >Richard. > >+ http://www.FreeRTOS.org >Designed for Microcontrollers. More than 7000 downloads per month. > >+ http://www.SafeRTOS.com >Certified by T�V as meeting the requirements for safety related
systems.
> >
How should I configure FreeRTOS to be able to run it on MSP430f2274. The problem is it has only 1KB of RAM. I tried to run FreeRTOS on MSP430f449 and it works, but when I try to run it on MSP430f2274 FreeRTOS it can't allocate memory for tasks. I had to reduce size of heap because of its small RAM but when I do that I have a problem with memory allocation. I am using IAR workbench.... Please help ... Regards, brOS --------------------------------------- Posted through http://www.EmbeddedRelated.com