|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools |
Rating:
|
Display Modes |
|
#16
|
|||||
|
|||||
|
Re: Programming Vex w/ MPLab
Quote:
If you're seeing that particular error it means you are somehow pulling in pre-compiled object files that don't happen to match the compiler/linker version you are using, e.g., Vex_alltimers.lib. What do you have set for your "Language Toolsuite" paths? In MPLAB: Project->Select Language Toolsuite... then click on each of the tools: "MPLINK Object Linker" and "MPLAB C18 C Compiler" and verify the paths displayed under "Location." Have you ever used your current setup with a full-sized robot controller or other PIC? Without more information, such as the compiler/linker status output from a complete build from scratch, I'd recommend resetting all your paths to use everything that came with the vex kit, including the C18 compiler, e.g., C:\Program Files\Intelitek\easyC\Mcc18\bin\mcc18.exe and mplink.exe. Last edited by Mark McLeod : 04-05-2006 at 17:17. |
|
#17
|
|||
|
|||
|
Re: Programming Vex w/ MPLab
It worked, no build errors! Thank you very much.
|
|
#18
|
|||
|
|||
|
Re: Programming Vex w/ MPLab
I'm having a bit of trouble getting this to work.
I set up a new project with the project wizard: Device: PIC18F8520 Active Toolsuite: Microchip C18 Toolsuite MPSAM Assembler: C:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe MPLINK Object Linker: C:\Program Files\Intelitek\easyC\Mcc18\bin\mplink.exe MPLAB C18 Compiler: C:\Program Files\Intelitek\easyC\Mcc18\bin\mcc18.exe MPLIB Librarian: C:\Program Files\Intelitek\easyC\Mcc18\bin\mplib.exe Project Name: Vex Controller Project Directory: C:\Documents and Settings\W4TK3\VexControllerProject and I imported all the files from Vex Starter Code @ http://www.vexlabs.com/vex-robotics-downloads.shtml I get the following output when I go to project>build all: Code:
Clean: Deleting intermediary and output files. Clean: Deleted file "C:\Documents and Settings\W4TK3\VexControllerProject\Vex Controller.mcs". Clean: Done. Executing: "C:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p18F8520 "asm_lib.asm" /l"asm_lib.lst" /e"asm_lib.err" /o"asm_lib.o" Executing: "C:\Program Files\Intelitek\easyC\Mcc18\bin\mcc18.exe" -p=18F8520 "ifi_startup.c" -fo="ifi_startup.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v2.40 (feature limited) Copyright 1999-2004 Microchip Technology Inc. This version of MPLAB C18 does not support the extended mode and will not perform all optimizations. To purchase a full copy of MPLAB C18, please contact your local distributor or visit buy.microchip.com. Executing: "C:\Program Files\Intelitek\easyC\Mcc18\bin\mcc18.exe" -p=18F8520 "ifi_utilities.c" -fo="ifi_utilities.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- C:\Documents and Settings\W4TK3\VexControllerProject\ifi_utilities.c:15:Error [1027] unable to locate 'usart.h' C:\Documents and Settings\W4TK3\VexControllerProject\ifi_utilities.c:16:Error [1027] unable to locate 'spi.h' C:\Documents and Settings\W4TK3\VexControllerProject\ifi_utilities.c:17:Error [1027] unable to locate 'adc.h' C:\Documents and Settings\W4TK3\VexControllerProject\ifi_utilities.c:18:Error [1027] unable to locate 'capture.h' C:\Documents and Settings\W4TK3\VexControllerProject\ifi_utilities.c:19:Error [1027] unable to locate 'timers.h' C:\Documents and Settings\W4TK3\VexControllerProject\ifi_utilities.c:20:Error [1027] unable to locate 'string.h' C:\Documents and Settings\W4TK3\VexControllerProject\ifi_utilities.c:21:Error [1027] unable to locate 'pwm.h' C:\Documents and Settings\W4TK3\VexControllerProject\ifi_aliases.h:18:Error [1027] unable to locate 'adc.h' MPLAB C18 v2.40 (feature limited) Copyright 1999-2004 Microchip Technology Inc. This version of MPLAB C18 does not support the extended mode and will not perform all optimizations. To purchase a full copy of MPLAB C18, please contact your local distributor or visit buy.microchip.com. Halting build on first failure as requested. BUILD FAILED: Sat May 13 10:54:45 2006 Last edited by W4TK3 : 13-05-2006 at 11:17. Reason: inadvertantly pressed enter |
|
#19
|
|||||
|
|||||
|
Re: Programming Vex w/ MPLab
Quote:
The MPLAB checks to make shown in post #10 should help. |
|
#20
|
|||
|
|||
|
Re: Programming Vex w/ MPLab
Quote:
Code:
Clean: Deleting intermediary and output files. Clean: Done. Executing: "C:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p18F8520 "asm_lib.asm" /l"asm_lib.lst" /e"asm_lib.err" /o"asm_lib.o" Executing: "C:\Program Files\Intelitek\easyC\Mcc18\bin\mcc18.exe" -p=18F8520 /i"C:\Program Files\Intelitek\easyC\Mcc18\h" "ifi_startup.c" -fo="ifi_startup.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v2.40 (feature limited) Copyright 1999-2004 Microchip Technology Inc. This version of MPLAB C18 does not support the extended mode and will not perform all optimizations. To purchase a full copy of MPLAB C18, please contact your local distributor or visit buy.microchip.com. Executing: "C:\Program Files\Intelitek\easyC\Mcc18\bin\mcc18.exe" -p=18F8520 /i"C:\Program Files\Intelitek\easyC\Mcc18\h" "ifi_utilities.c" -fo="ifi_utilities.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v2.40 (feature limited) Copyright 1999-2004 Microchip Technology Inc. This version of MPLAB C18 does not support the extended mode and will not perform all optimizations. To purchase a full copy of MPLAB C18, please contact your local distributor or visit buy.microchip.com. Executing: "C:\Program Files\Intelitek\easyC\Mcc18\bin\mcc18.exe" -p=18F8520 /i"C:\Program Files\Intelitek\easyC\Mcc18\h" "main.c" -fo="main.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v2.40 (feature limited) Copyright 1999-2004 Microchip Technology Inc. This version of MPLAB C18 does not support the extended mode and will not perform all optimizations. To purchase a full copy of MPLAB C18, please contact your local distributor or visit buy.microchip.com. Executing: "C:\Program Files\Intelitek\easyC\Mcc18\bin\mcc18.exe" -p=18F8520 /i"C:\Program Files\Intelitek\easyC\Mcc18\h" "PicSerialDrv.c" -fo="PicSerialDrv.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v2.40 (feature limited) Copyright 1999-2004 Microchip Technology Inc. This version of MPLAB C18 does not support the extended mode and will not perform all optimizations. To purchase a full copy of MPLAB C18, please contact your local distributor or visit buy.microchip.com. Executing: "C:\Program Files\Intelitek\easyC\Mcc18\bin\mcc18.exe" -p=18F8520 /i"C:\Program Files\Intelitek\easyC\Mcc18\h" "printf_lib.c" -fo="printf_lib.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v2.40 (feature limited) Copyright 1999-2004 Microchip Technology Inc. This version of MPLAB C18 does not support the extended mode and will not perform all optimizations. To purchase a full copy of MPLAB C18, please contact your local distributor or visit buy.microchip.com. Executing: "C:\Program Files\Intelitek\easyC\Mcc18\bin\mcc18.exe" -p=18F8520 /i"C:\Program Files\Intelitek\easyC\Mcc18\h" "user_routines.c" -fo="user_routines.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v2.40 (feature limited) Copyright 1999-2004 Microchip Technology Inc. This version of MPLAB C18 does not support the extended mode and will not perform all optimizations. To purchase a full copy of MPLAB C18, please contact your local distributor or visit buy.microchip.com. Executing: "C:\Program Files\Intelitek\easyC\Mcc18\bin\mcc18.exe" -p=18F8520 /i"C:\Program Files\Intelitek\easyC\Mcc18\h" "user_routines_DDT.c" -fo="user_routines_DDT.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v2.40 (feature limited) Copyright 1999-2004 Microchip Technology Inc. This version of MPLAB C18 does not support the extended mode and will not perform all optimizations. To purchase a full copy of MPLAB C18, please contact your local distributor or visit buy.microchip.com. Executing: "C:\Program Files\Intelitek\easyC\Mcc18\bin\mcc18.exe" -p=18F8520 /i"C:\Program Files\Intelitek\easyC\Mcc18\h" "user_routines_fast.c" -fo="user_routines_fast.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v2.40 (feature limited) Copyright 1999-2004 Microchip Technology Inc. This version of MPLAB C18 does not support the extended mode and will not perform all optimizations. To purchase a full copy of MPLAB C18, please contact your local distributor or visit buy.microchip.com. Executing: "C:\Program Files\Intelitek\easyC\Mcc18\bin\mcc18.exe" -p=18F8520 /i"C:\Program Files\Intelitek\easyC\Mcc18\h" "user_routines_fast_DDT.c" -fo="user_routines_fast_DDT.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v2.40 (feature limited) Copyright 1999-2004 Microchip Technology Inc. This version of MPLAB C18 does not support the extended mode and will not perform all optimizations. To purchase a full copy of MPLAB C18, please contact your local distributor or visit buy.microchip.com. Executing: "C:\Program Files\Intelitek\easyC\Mcc18\bin\mplink.exe" /l"C:\Program Files\Intelitek\easyC\Mcc18\lib" "C:\Documents and Settings\W4TK3\VexControllerProject\18f8520user.lkr" "C:\Documents and Settings\W4TK3\VexControllerProject\ifi_utilities.o" "C:\Documents and Settings\W4TK3\VexControllerProject\main.o" "C:\Documents and Settings\W4TK3\VexControllerProject\PicSerialDrv.o" "C:\Documents and Settings\W4TK3\VexControllerProject\printf_lib.o" "C:\Documents and Settings\W4TK3\VexControllerProject\user_routines.o" "C:\Documents and Settings\W4TK3\VexControllerProject\user_routines_DDT.o" "C:\Documents and Settings\W4TK3\VexControllerProject\user_routines_fast.o" "C:\Documents and Settings\W4TK3\VexControllerProject\user_routines_fast_DDT.o" "C:\Documents and Settings\W4TK3\VexControllerProject\asm_lib.o" "C:\Documents and Settings\W4TK3\VexControllerProject\ifi_startup.o" "C:\Documents and Settings\W4TK3\Ve xControllerProject\Vex_alltimers.lib" "C:\Documents and Settings\W4TK3\VexControllerProject\Vex_alltimers_auton_debug.lib" "C:\Documents and Settings\W4TK3\VexControllerProject\Vex_alltimers_competition.lib" "C:\Documents and Settings\W4TK3\VexControllerProject\Vex_library.lib" "C:\Documents and Settings\W4TK3\VexControllerProject\Vex_library_auton_debug.lib" "C:\Documents and Settings\W4TK3\VexControllerProject\Vex_library_competition.lib" /o"Vex Controller.cof" /M"Vex Controller.map" MPLINK 3.90, Linker Copyright (c) 2004 Microchip Technology Inc. Error - Coff file 'C:\Documents and Settings\W4TK3\VexControllerProject\asm_lib.o' does not appear to be a valid COFF file. Errors : 1 BUILD FAILED: Sat May 13 18:06:02 2006 |
|
#21
|
|||||
|
|||||
|
Re: Programming Vex w/ MPLab
Sorry, I got dragged away before I could finish my answer last night.
The root cause of the problem you see is there are way too many files included as part of the project. The Vex starter code folder actually contains several different projects and variations on the projects lumped together, making it confusing. There are multiple variations of the same file included in your project. When you run Project Wizard don't include every file in your project. Here is a more readable version (well okay, "readable" is probably an overstatement. I just put each part of the command on a separate line) of the last link step of your compile that you posted, so I can point out what I mean about duplicate files. The files sharing common colors you only want one of in your project. There are others you also don't need, including the assembly file that actually gave you the current error. Code:
Executing: "C:\Program Files\Intelitek\easyC\Mcc18\bin\mplink.exe" /l "C:\Program Files\Intelitek\easyC\Mcc18\lib" "C:\Documents and Settings\W4TK3\VexControllerProject\18f8520user.lkr" "C:\Documents and Settings\W4TK3\VexControllerProject\ifi_utilities.o" "C:\Documents and Settings\W4TK3\VexControllerProject\main.o" "C:\Documents and Settings\W4TK3\VexControllerProject\PicSerialDrv.o" "C:\Documents and Settings\W4TK3\VexControllerProject\printf_lib.o" "C:\Documents and Settings\W4TK3\VexControllerProject\user_routines.o" "C:\Documents and Settings\W4TK3\VexControllerProject\user_routines_DDT.o" "C:\Documents and Settings\W4TK3\VexControllerProject\user_routines_fast.o" "C:\Documents and Settings\W4TK3\VexControllerProject\user_routines_fast_DDT.o" "C:\Documents and Settings\W4TK3\VexControllerProject\asm_lib.o" "C:\Documents and Settings\W4TK3\VexControllerProject\ifi_startup.o" "C:\Documents and Settings\W4TK3\VexControllerProject\Vex_alltimers.lib" "C:\Documents and Settings\W4TK3\VexControllerProject\Vex_alltimers_auton_debug.lib" "C:\Documents and Settings\W4TK3\VexControllerProject\Vex_alltimers_competition.lib" "C:\Documents and Settings\W4TK3\VexControllerProject\Vex_library.lib" "C:\Documents and Settings\W4TK3\VexControllerProject\Vex_library_auton_debug.lib" "C:\Documents and Settings\W4TK3\VexControllerProject\Vex_library_competition.lib" /o"Vex Controller.cof" /M"Vex Controller.map" MPLINK 3.90, LinkerCopyright (c) 2004 Microchip Technology Inc. Error - Coff file 'C:\Documents and Settings\W4TK3\VexControllerProject\asm_lib.o' does not appear to be a valid COFF file. Errors : 1 ---------------- The actual error you got was because the assembler used is too new. It's producing the newer type of COFF. You would have seen other errors if you got past this one. Quote:
Last edited by Mark McLeod : 14-05-2006 at 13:40. Reason: Dragged from CD to perform taxi service |
|
#22
|
|||
|
|||
|
Re: Programming Vex w/ MPLab
Mark--
Thanks! The build is successful now, the extra files were the problem. A question, though, if and when we start to write our own code for the Vex bots , what files should be included and left out so that the build is successful? Or is any code we write just going to be modifications of the default files already outlined? Thanks again. |
|
#23
|
|||||
|
|||||
|
Re: Programming Vex w/ MPLab
Quote:
If you plan on making major changes, then I'd suggest you create brand new files to put all your customized code in. Then just add those new files to your existing project. You can add whatever you want to a project, just be careful not to add two versions of the same file or routine. For instance, we put all our autonomous code in it's own file, and we put sensor specific code in a separate file of it's own. It makes it so much easier to reuse our code in new projects when we can just include a file, such as, Line_Follower.c. When you advance to the point where you're comfortable replacing everything with your own code, you basically need to keep or provide your own version of most (not all) of the functionality found in the files that begin with "ifi_". You need a main.c, but you can rewrite it to fit your needs. You'll also need bits and pieces from user_routines.c and user_routines_fast.c, such as, User_Initialization() and the InterruptHandlerLow(). Probably the easiest course to follow would be to first replace specific routines with your own versions. For instance, the most obvious routine to begin modifying is Default_Routine(). That's where you setup all your driving controls and responses. The next obvious routine to replace is User_Autonomous_Code(). One caution about replacing existing files. There are special files included by the code with a C statement such as: Code:
#include "user_routines.h" The compiler is going to go looking for a file by that exact name, in this example that would be "user_routines.h", regardless of what file name you may have used in the project list, so if you decided to replace the existing file by that name with one of your own devising and you call your's "my_user_routines.h" you'd better change all those include statements too, or the program will keep pulling in that old file even though it's not listed as part of your project. Last edited by Mark McLeod : 14-05-2006 at 18:00. |
|
#24
|
|||
|
|||
|
Re: Programming Vex w/ MPLab
Quote:
|
|
#25
|
|||
|
|||
|
Re: Programming Vex w/ MPLab
Quote:
|
|
#26
|
|||||
|
|||||
|
Re: Programming Vex w/ MPLab
Quote:
Project -> Build Options... -> Project Under the "MPLINK Linker" tab put a check by: Suppress COD-file generation That's the sole reason for the 62 character limit and you don't use the COD file anyway. At least you have something to do now that exams are over and done with. Last edited by Mark McLeod : 07-06-2006 at 21:02. |
|
#27
|
||||
|
||||
|
Re: Programming Vex w/ MPLab
This might be a dumb question, but I was looking at this tutorial ( http://roboticsguy.com/tutorials/vex...with_mplab.php ) and it looks like to me that in order to program vex with MPLAB you need to buy EasyC ????? Is that true or am I missing something?? I think this because it says to navigate to a folder that belongs to EasyC. Thanks for any help!
|
|
#28
|
||||
|
||||
|
Re: Programming Vex w/ MPLab
GGCO - Sorry for the confusion. No, you don't have to own EasyC. What you need is a copy of the C18 compiler and the WPI Lib(assuming you want to use Brads library).
So if you want to, download the student edition of Microchips C18 compiler here, and then download the WPI Lib here. You should still be able to follow that tutorial, just changing the file paths to wherever you install the software. One note though. Even if you just get the trial of EasyC, I believe the C18 compiler still works after the IDE demo expires. So alternatively (probably easier) you could download the trial of EasyC and just follow the tutorial. Short answer - No, don't need EasyC ![]() |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| how to build a VEX programming module | bblack7489 | FIRST Tech Challenge | 78 | 09-06-2011 16:03 |
| Programming - Getting Started | Mark McLeod | Programming | 80 | 16-04-2008 23:37 |
| VEX programming | Gene F | Programming | 14 | 08-08-2006 22:21 |
| Vex bot programming Q's | BaldwinNYRookie | Programming | 6 | 09-10-2005 17:45 |
| Vex Programming | foobert | FIRST Tech Challenge | 3 | 24-06-2005 01:09 |