New user RTOS- compilation problem dsPIC demo

nobody wrote on Wednesday, March 21, 2007:

Hi

I am a new user of FreeRTOS. I have downloaded it and am trying to compile the demo application. I have the Explorer 16 demo board from Microchip.

When I try to build the dsPIC_MPLAB demo I get the following errors:

main.c:68:22: FreeRTOS.h: No such file or directory
main.c:69:18: task.h: No such file or directory
main.c:70:22: croutine.h: No such file or directory
main.c:73:20: BlockQ.h: No such file or directory
main.c:74:21: crflash.h: No such file or directory
main.c:75:22: blocktim.h: No such file or directory
main.c:76:21: integer.h: No such file or directory
main.c:77:22: comtest2.h: No such file or directory
main.c:78:21: partest.h: No such file or directory

The FreeRTOS.h,task.h, croutine.h are included in the demo project. Where are BlockQ.h,crfalsh.h,blocktim.h,integer.h,comtest2.h and partest.h files located?

Can anyone please paste instructions on how to build the demo project in MPLAB?

I look forward to your reply.

Thanks

rtel wrote on Wednesday, March 21, 2007:

Did you follow the instructions under the "Building and executing the demo application" section of the following page: http://www.freertos.org/portpic24_dspic.html ?

In particular, MPLAB projects use absolute paths rather than relative paths (anybody know how to get around this?), so I suspect step 3 in the instructions is causing your problem.

Regards.

nobody wrote on Thursday, March 22, 2007:

Hi Richard,

Thanks for your reply. I have added the correct include file paths now. I changed the linker script and header file of controller to be p33FJ256GP710PS.gld and p33FJ256GP710PS.h

The p33FJ256GP710.gld and p33FJ256GP710.h files are not present in my system.

Now when I compile I get the following errors.

Clean: Deleting intermediary and output files.
Clean: Done.
Executing: “E:\Program Files\Microchip\MPLAB C30\bin\pic30-gcc.exe” -mcpu=33FJ256GP710 -c -x c  -I"." -I"E:\FreeRTOS\Demo\Common\include" -I"E:\FreeRTOS\Demo\dsPIC_MPLAB" -I"E:\FreeRTOS\source\include" “main.c” -o"main.o" -g -Wall -DMPLAB_DSPIC_PORT -O2 -fomit-frame-pointer -fno-schedule-insns -fno-schedule-insns2
Executing: “E:\Program Files\Microchip\MPLAB C30\bin\pic30-gcc.exe” -mcpu=33FJ256GP710 -c -x c  -I"." -I"E:\FreeRTOS\Demo\Common\include" -I"E:\FreeRTOS\Demo\dsPIC_MPLAB" -I"E:\FreeRTOS\source\include" “list.c” -o"list.o" -g -Wall -DMPLAB_DSPIC_PORT -O2 -fomit-frame-pointer -fno-schedule-insns -fno-schedule-insns2
Executing: “E:\Program Files\Microchip\MPLAB C30\bin\pic30-gcc.exe” -mcpu=33FJ256GP710 -c -x c  -I"." -I"E:\FreeRTOS\Demo\Common\include" -I"E:\FreeRTOS\Demo\dsPIC_MPLAB" -I"E:\FreeRTOS\source\include" “queue.c” -o"queue.o" -g -Wall -DMPLAB_DSPIC_PORT -O2 -fomit-frame-pointer -fno-schedule-insns -fno-schedule-insns2
Executing: “E:\Program Files\Microchip\MPLAB C30\bin\pic30-gcc.exe” -mcpu=33FJ256GP710 -c -x c  -I"." -I"E:\FreeRTOS\Demo\Common\include" -I"E:\FreeRTOS\Demo\dsPIC_MPLAB" -I"E:\FreeRTOS\source\include" “tasks.c” -o"tasks.o" -g -Wall -DMPLAB_DSPIC_PORT -O2 -fomit-frame-pointer -fno-schedule-insns -fno-schedule-insns2
Executing: “E:\Program Files\Microchip\MPLAB C30\bin\pic30-gcc.exe” -mcpu=33FJ256GP710 -c -x c  -I"." -I"E:\FreeRTOS\Demo\Common\include" -I"E:\FreeRTOS\Demo\dsPIC_MPLAB" -I"E:\FreeRTOS\source\include" “port.c” -o"port.o" -g -Wall -DMPLAB_DSPIC_PORT -O2 -fomit-frame-pointer -fno-schedule-insns -fno-schedule-insns2
port.c: In function `prvSetupTimerInterrupt’:
port.c:314: error: structure has no member named `TCKPS0’
port.c:315: error: structure has no member named `TCKPS1’
Halting build on first failure as requested.
BUILD FAILED: Thu Mar 22 12:30:02 2007

How can I get rid of the error?
TCKPS0 and TCKPS1 are just setting the prescaler value for timer1 as I understand.

I look forward to your reply.

Thanks.

rtel wrote on Thursday, March 22, 2007:

I just did a search for TCKPS0 in all the .h files in the C30 directory and it is included in loads of files.  You just need to some how get the correct header file included in your project.

The top of the FreeRTOSConfig.h file includes:
#include <p33FJ256GP710.h>

why do you not have this file?  It is part of the C30 instillation.  On my system it is in the [path]\MPLAB C30\support\h directory.

Regards.