Creating new dsPIC project

rtel wrote on Monday, May 07, 2007:

[moved from private email]

I am using FreeRTOS for a dsPIC33F project that I am working on. I have compiled the demo code and got the hang of it.

Now when I try to create tasks and use queue management functions in my source code for my project, I get the following errors:

In file included from FreeRTOS.h:49,
                 from uart_rx.c:57:
portable.h:184: error: syntax error before ‘*’ token
portable.h:184: error: syntax error before ‘*’ token
portable.h:184: warning: data definition has no type or storage class
portable.h:197: error: syntax error before ‘xPortStartScheduler’
portable.h:197: warning: data definition has no type or storage class
In file included from task.h:37,
                 from uart_rx.c:58:
list.h:70: error: syntax error before ‘portTickType’
list.h:70: warning: no semicolon at end of struct or union
list.h:75: error: syntax error before ‘}’ token
list.h:80: error: syntax error before ‘portTickType’
list.h:80: warning: no semicolon at end of struct or union
list.h:83: error: syntax error before ‘}’ token
list.h:91: warning: no semicolon at end of struct or union
list.h:91: error: syntax error before ‘uxNumberOfItems’
list.h:94: error: syntax error before ‘}’ token
list.h:94: warning: data definition has no type or storage class
list.h:208: error: syntax error before ‘*’ token
list.h:232: error: syntax error before ‘*’ token
list.h:253: error: syntax error before ‘*’ token
In file included from uart_rx.c:58:
task.h:62: error: syntax error before ‘portBASE_TYPE’
task.h:62: warning: no semicolon at end of struct or union
task.h:63: warning: data definition has no type or storage class
task.h:64: warning: data definition has no type or storage class
task.h:200: error: syntax error before ‘xTaskCreate’
task.h:200: error: syntax error before ‘*’ token
task.h:200: warning: data definition has no type or storage class
task.h:295: error: syntax error before ‘xTicksToDelay’
task.h:354: error: syntax error before ‘*’ token
task.h:401: error: syntax error before ‘uxTaskPriorityGet’
task.h:401: warning: data definition has no type or storage class
task.h:443: error: syntax error before ‘uxNewPriority’
task.h:563: error: syntax error before ‘xTaskResumeFromISR’
task.h:563: warning: data definition has no type or storage class
task.h:753: error: syntax error before ‘xTaskResumeAll’
task.h:753: warning: data definition has no type or storage class
task.h:769: error: syntax error before ‘xTaskGetTickCount’
task.h:769: warning: data definition has no type or storage class
task.h:783: error: syntax error before ‘uxTaskGetNumberOfTasks’
task.h:783: warning: data definition has no type or storage class
task.h:810: error: syntax error before ‘*’ token
task.h:831: error: syntax error before ‘*’ token
task.h:844: error: syntax error before ‘ulTaskEndTrace’
task.h:844: warning: data definition has no type or storage class
task.h:884: error: syntax error before ‘*’ token
task.h:901: error: syntax error before ‘xTaskRemoveFromEventList’
task.h:901: error: syntax error before ‘*’ token
task.h:901: warning: data definition has no type or storage class
task.h:934: error: syntax error before ‘*’ token
task.h:940: error: syntax error before ‘xTaskCheckForTimeOut’
task.h:940: error: syntax error before ‘*’ token
task.h:940: warning: data definition has no type or storage class

I have included all the header files in my project and all the build option paths have been set up. I am suing MPLAB IDE. Can you please email me instructions on how to compile for a project other than the demo project.

rtel wrote on Monday, May 07, 2007:

> I am using FreeRTOS for a dsPIC33F project that I am working
> on. I have compiled
> the demo code and got the hang of it.

A good start :o)

The next version of FreeRTOS.org will include a slight update for the dsPIC/PIC24 port that makes better use of the interrupt prioritisation.

> Now when I try to create tasks and use queue management
> functions in my source
> code for my project, I get the following errors:

> In file included from FreeRTOS.h:49,
>                  from uart_rx.c:57:
> portable.h:184: error: syntax error before ‘*’ token
> portable.h:184: error: syntax error before ‘*’ token
> portable.h:184: warning: data definition has no type or storage class
> portable.h:197: error: syntax error before ‘xPortStartScheduler’

<snip>

 
> I have included all the header files in my project and all
> the build option
> paths have been set up. I am suing MPLAB IDE. Can you please
> email me instructions
> on how to compile for a project other than the demo project.

Under Build Options - MPLAB C30 tab - do you have the Macro Definition "MPLAB_DSPIC_PORT" defined?  This is required to ensure the correct header files are included in your project.

Also, ensure that ‘omit frame pointer’ is checked under the optimisation options (this won’t be the cause of this problem, but is required).

The simplest option is to take the demo project file, remove the files you don’t want, then add your new code.  This way you are ensured to have the correct build options.

Regards.