Error - Invalid 18f8520 header file! Vex Robotics Kit

First of all I’m a newbie at the Vex Robotics Kit here are the things I’ve already done

I’ve successfully installed Mplab v8.10 and C18 compiler v3.35 , I went through the user guides and successfully build the first program, the “Hello World!!” program,so I think my C compiler is working

I downloaded the Vex Starter Code and extracted to a file called “VexCode” I placed it under the directory C:\mcc18\VexCode I opened VexUserCode.mcw (work space) and imported VexUserCode.mcp (project)

I set the Project–> Build options —> Project and set the Include search path to C:\mcc18\h and C:\mcc18\VexCode
and the Library search path to C:\mcc18\lib and C:\mcc18\VexCode
and Linker script search path to C:\mcc18\VexCode the Linker script is in the VexCode folder 18f8520user.lkr

Then Build all in the output window it shows


Debug build of project C:\mcc18\VexCode\VexUserCode.mcp' started. Preprocessor symbol__DEBUG’ is defined.
Tue Aug 03 03:19:32 2010

Clean: Deleting intermediary and output files.
Clean: Deleted file “C:\mcc18\VexCode\VexUserCode.mcs”.
Clean: Done.
Executing: “C:\mcc18\bin\mcc18.exe” -p=18F8520 /i"C:\mcc18\VexCode" -I"C:\mcc18\h" “user_routines_fast.c” -fo=“user_routines_fast.o” -D__DEBUG -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
C:\mcc18\VexCode\ifi_picdefs.h:1289:Error [1099] *** Error - Invalid 18f8520 header file!
Halting build on first failure as requested.

Debug build of project C:\mcc18\VexCode\VexUserCode.mcp' failed. Preprocessor symbol__DEBUG’ is defined.
Tue Aug 03 03:19:32 2010

Can anyone solve this? Thank you for you time!!

Did you install MPLAB/C18 from the VEX CD or did you also download any updates from online?

That error seems to indicate that the ifi_picdefs.h file is being inserted twice. It has a check at the beginning to prevent that though…

Thanks for your reply I downloaded my Mplab and C18 from

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023073&part=

I also saw a forum

It seems that we have similar problems in the forum it mentioned something about the macro setting and I also tried adding “_FRC_BOARD” to the macro definitions and it still didn’t work

Thanks for reading.

Thank for your reply I downloaded my Mplab v8.10 and C18 v3.35 from

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023073&part=

and i saw the thread that mentioned the macro defintions so i ADDED “_FRC_BOARD” to my macro definitions and it didn’t work as well :frowning:

thanks for replying it means a lot to me!!

#define _VEX_BOARD

is what you want for the VEX board.

Let me recommend that you visit the: WPI Lib for VEX/FRC site and grab that library. It will make your programming about 1000 times easier. There are full instructions on how to make it work with MPLabs.

The Microchip compiler / linker is very fussy when it comes to path names, etc. in the setup.

Keep us posted on how you make out.

Shouldn’t it turn out as pictures?

Thanks for all you guys’ help!! I got it to work I try downloading older versions of Mplab v7.60 and C18 v2.40 and I downloaded Elevation - Appendix D (Programming Guide) from http://www.vexforum.com/wiki/index.php/Elevation

when you extract the file it willgive you the VexCode file and deleting the old library files and adding a new one Vex_2008_library.lib from the MPLAB-Autonomous-Code Rev2 - Vex Code

now when I build the mpw file it gives me

Clean: Done.
Executing: “C:\mcc18\bin\mcc18.exe” -p=18F8520 /i"C:\mcc18\h" “user_routines_fast.c” -fo=“user_routines_fast.o” -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Executing: “C:\mcc18\bin\mcc18.exe” -p=18F8520 /i"C:\mcc18\h" “ifi_startup.c” -fo=“ifi_startup.o” -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Executing: “C:\mcc18\bin\mcc18.exe” -p=18F8520 /i"C:\mcc18\h" “printf_lib.c” -fo=“printf_lib.o” -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Executing: “C:\mcc18\bin\mcc18.exe” -p=18F8520 /i"C:\mcc18\h" “user_routines.c” -fo=“user_routines.o” -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Executing: “C:\mcc18\bin\mcc18.exe” -p=18F8520 /i"C:\mcc18\h" “ifi_utilities.c” -fo=“ifi_utilities.o” -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Executing: “C:\mcc18\bin\mcc18.exe” -p=18F8520 /i"C:\mcc18\h" “main.c” -fo=“main.o” -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Executing: “C:\mcc18\bin\mplink.exe” /l"C:\mcc18\lib" “C:\VexCode\18f8520user.lkr” “C:\VexCode\user_routines_fast.o” “C:\VexCode\ifi_startup.o” “C:\VexCode\printf_lib.o” “C:\VexCode\user_routines.o” “C:\VexCode\ifi_utilities.o” “C:\VexCode\main.o” “C:\VexCode\Vex_2008_library.lib” /o"VexUserCode.cof"
MPLINK 3.90, Linker
Copyright © 2004 Microchip Technology Inc.
Errors : 0

MP2COD 3.90, COFF to COD File Converter
Copyright © 2004 Microchip Technology Inc.
Errors : 0

MP2HEX 3.90, COFF to HEX File Converter
Copyright © 2004 Microchip Technology Inc.
Errors : 0

Loaded C:\VexCode\VexUserCode.cof.
BUILD SUCCEEDED: Wed Aug 04 00:08:48 2010

once again thanks for all your help!! Happy programming!

Great!

This error usually seems to be a mismatch between the versions of the C18 software, the Vex libraries, and the program.