Go to Post you must do whats best for the company...not yourself. - Greg Perkins [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 14-01-2006, 08:12
Ryan M. Ryan M. is offline
Programming User
FRC #1317 (Digital Fusion)
Team Role: Programmer
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Ohio
Posts: 1,508
Ryan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud of
Re: I want a version of the mplab compiler for Linux.

I believe I have the new compiler working... (I have yet to test the generated hex file, but I have no reason to believe it to be in error. However, you've been warned. )
  1. Install mcc18 compiler to /opt/mcc18.
  2. Do step 1 of jdong's post. (above)
  3. Download the configure.py attached to this post. (I only changed the processor passed to MCC18. May not even be necessary, but just in case...)
  4. Do step 3 of jdong's post.
  5. Edit /opt/mcc18/h/p18cxxx.h and put
    Code:
    #undef __18F8722
    #define __18F8722
    starting right after #define _P18CXXX_H

This fix/hack makes compiling for multiple processors difficult (have to change /opt/mcc18/h/p18cxxx.h), but hey... if you're working on FIRST, you're using a certain processor anyways.
Attached Files
File Type: tgz configure.py.tgz (2.7 KB, 166 views)
__________________

  #2   Spotlight this post!  
Unread 14-01-2006, 12:10
lasindi lasindi is offline
Registered User
FRC #1164 (Project Neo)
Team Role: College Student
 
Join Date: Jan 2004
Rookie Year: 2004
Location: New Mexico
Posts: 11
lasindi is an unknown quantity at this point
Re: I want a version of the mplab compiler for Linux.

Ryan, unfortunately I seem to be getting an error with the linker when I use your configure script. This is the output I get when I do "make" on the default code:
Code:
Linking...
mplink /l\""/opt/mcc18/lib"\" \""18f8722.lkr"\"  \""Z:\home\lasindi\.wine\drive_c\first\default_code\\FRC_library.lib"\" /m\""FrcCode.map"\" /o\""FrcCode.cof"\"
        Microchip MPLINK Linker
        Version 0.0+SVN20050725
DEBUG:Using wine /opt/mcc18//bin/_mplink /l"/opt/mcc18/lib" "18f8722.lkr" "Z:\home\lasindi\.wine\drive_c\first\default_code\FRC_library.lib" /m"FrcCode.map" /o"FrcCode.cof"  to launch mplink
MPLINK 3.90, Linker

Copyright (c) 2004 Microchip Technology Inc.

Error - no input object files specified.

Errors    : 1




Traceback (most recent call last):
  File "/home/lasindi/bin/mplink", line 51, in ?
    raise Exception,"Link Failed"
Exception: Link Failed
make: *** [FrcCode.hex] Error 1
Is there something I need to change in the makefile or configure script, or do you think this is a problem with the mplink wrapper script?

I also wonder whether or not my WINE install might be the problem. I'm running Ubuntu with wine 20050725 (the binary I got using apt-get). Which distro and wine version are you running?
  #3   Spotlight this post!  
Unread 14-01-2006, 12:22
nukem nukem is offline
Registered User
#1676
 
Join Date: Jan 2005
Location: Hillsdale, NJ
Posts: 43
nukem is on a distinguished road
Re: I want a version of the mplab compiler for Linux.

First of all you do not need to change anything in the code to get the 2006 code to compile for the 2006 controller, all you have to do is change a couple of things in the make file.

In the Makefile change the PIC to 18F8722 and the ARGS to ARGS=-D_FRC_BOARD -O+ -nw=2066. You do not need to install to /opt/mcc you can install anywere you want. For example I installed into ~/.wine/drive_c/mcc18 if you want to do that change the LIB CODE and INCLUDE paths to where ever you installed. I dont remember if I had to add or take out anything in ALL_TARGETS and INCLUDE_FILES but if you get an error from the linker about a file not being there add it. The reason why the code will fail sometimes is because he has gcc check deps to fix this add -D__$(PIC) to the line starting with cpp. Anyway I probably confused the hell out of everyone so ill post mine below.

Code:
#This is automatically generated by the configure.py script
#Keep your dirty hands off
#Run ./configure.py to generate a fresh one.
MCC18=./mcc18
PIC=18F8722 # Don't change
ARGS=-D_FRC_BOARD -O+ -nw=2066
LINKER=./mplink
MP2HEX=./mp2hex
IFILOAD=picloader_textmode
SERIAL_DEV=/dev/ttyS0
READLOG=./read.log
LIB_PATH=/home/nuke/.wine/drive_c/mcc18/lib
CODE_PATH=Z:\home\nuke\FIRST\frc-code-1-04-2006\\
INCLUDE_PATH=/home/nuke/.wine/drive_c/mcc18/h
INCLUDE_PATHW=Z:\\home\\nuke\\.wine\\drive_c\\mcc18\\h




ALL_TARGETS=user_routines_fast.o ifi_startup.o ifi_utilities.o user_routines.o user_Serialdrv.o main.o 
INCLUDE_FILES= ifi_default.h ifi_utilities.h user_routines.h user_Serialdrv.h delays.h ifi_aliases.h 
############ Targets: 
default: FrcCode.hex

#Remove all the individual file backup (The files ending with ~)
#NOTE that this does NOT remove your tbz2 backups!
clean-backup-files:
	@echo -e "Removing all the ~ backup files your annoying editor makes..."
	@find . -name "*~" |xargs rm -f

#Removes all compiled files from the directory
clean: clean-backup-files clean-deps nohex
	@echo -e "Cleaning compiler intermediate files..."
	@rm -rf *.o *.err

#Remove deps folder
clean-deps:
	@echo -e "Cleaning dependency folder..."
	@rm -rf .deps
	@mkdir .deps
	@touch .deps/dummy

#Remove hexfiles
nohex:
	@echo -e "Cleaning linker output and hex files..."
	@rm -rf *.hex *.cod *.cof

#These all start the IFI Loader.
safeload: prettycode clean check load
load: FrcCode.hex
	$(IFILOAD) FrcCode.hex $(SERIAL_DEV)

read:
	@echo -e "Monitoring $(SERIAL_DEV) for data"
	@echo -e "Output will also be logged to $(READLOG)"
	@echo -e "---------"
	@cat $(SERIAL_DEV) | tee $(READLOG) || /bin/true
	
	
prettycode:
	@echo -e "Using indent to autoformat your .c and .h files..."
	@indent *.c *.h
all: clean FrcCode.hex
%.o: %.c
	@echo -e "Compiling $@..."
	@echo -e "1.   Checking Dependencies for $@"
	@cpp -nostdinc -isystem $(INCLUDE_PATH) -M -MP -D__$(PIC) $< -MF .deps/$*.deps
	@echo -e "2.   Launching Compiler..."
	@$(MCC18) -p=$(PIC) -fo $@ $< /i\""$(INCLUDE_PATHW)"\" $(ARGS) 
	@echo -e "Done with $@."




FrcCode.hex :  $(ALL_TARGETS) $(INCLUDE_FILES)
	@echo -e "Linking..."
	$(LINKER) /l\""$(LIB_PATH)"\" \""18f8722.lkr"\" $(ALL_TARGETS) \""$(CODE_PATH)FRC_library.lib"\" /m\""FrcCode.map"\" /o\""FrcCode.cof"\"
	$(MP2HEX) FrcCode.cof



.deps/*: 
	@echo -e "Creating Dependency Makefiles..."
	@mkdir -p .deps
	@touch .deps/dummy
	@echo -e "Done!"

include .deps/*
As for the ifi-pictools has anyone got code to load on the 2006 controller? The numbers roll but I dont know anything is being loaded onto the controller.
  #4   Spotlight this post!  
Unread 14-01-2006, 16:52
psquared89's Avatar
psquared89 psquared89 is offline
Registered User
AKA: Pat Pannuto
FRC #0245 (Adambots)
Team Role: Driver
 
Join Date: Mar 2005
Rookie Year: 2004
Location: Rochester Hills, MI
Posts: 73
psquared89 is a jewel in the roughpsquared89 is a jewel in the roughpsquared89 is a jewel in the roughpsquared89 is a jewel in the rough
Re: I want a version of the mplab compiler for Linux.

Sorry about the delay guys. I'm at Siemens (our build site) with the beloved John Dong right now, we've updated the configure.py script for the '06 stuff.

Put http://adambots.gotdns.com/adambots-...o/configure.py in your project folder, then run it with "python configure.py" to generate Makefiles. Re-run it every time you add/remove c/h files from the project.
__________________
At the end of the game, the King and the Pawn both go back into the same box.
~ Italian Proverb
---------------------------------
adambots.com
  #5   Spotlight this post!  
Unread 14-01-2006, 22:31
lasindi lasindi is offline
Registered User
FRC #1164 (Project Neo)
Team Role: College Student
 
Join Date: Jan 2004
Rookie Year: 2004
Location: New Mexico
Posts: 11
lasindi is an unknown quantity at this point
Re: I want a version of the mplab compiler for Linux.

I figured out my problem. The configure.py script depends on gawk, and I didn't have it installed. Once I installed gawk, everything works great. Thanks to everyone for your help and your code!
  #6   Spotlight this post!  
Unread 15-01-2006, 03:28
nukem nukem is offline
Registered User
#1676
 
Join Date: Jan 2005
Location: Hillsdale, NJ
Posts: 43
nukem is on a distinguished road
Re: I want a version of the mplab compiler for Linux.

Quote:
Originally Posted by lasindi
I figured out my problem. The configure.py script depends on gawk, and I didn't have it installed. Once I installed gawk, everything works great. Thanks to everyone for your help and your code!
Two things, first have you gotten it to load code with the ifi-pictools or have you made code changes to that also? Second, I was thinking why not have the script read the project files from MPLab and use that to set everything(PIC type, CFLAGs, etc)? Once it reads the file it could ask the user if they want to use the ones imported from the file or edit it themselves. I was going to do it myself but I dont have any time(playing with the camera too much heh)
  #7   Spotlight this post!  
Unread 20-01-2006, 21:10
Validius's Avatar
Validius Validius is offline
There is a shadow following me.....
AKA: Mark Ratering
FRC #1549 (Washtenuts)
Team Role: College Student
 
Join Date: Feb 2005
Rookie Year: 2005
Location: South Lyon
Posts: 159
Validius will become famous soon enoughValidius will become famous soon enough
Send a message via AIM to Validius
Re: I want a version of the mplab compiler for Linux.

wow, i have never made a thread that lasted this long. I'd be doing devel work off my MacLux computer if i could convince myself to for over for a USB-Serial converter.

Rock on *nux nerds!!
__________________
When a sociaty comes to believe that human life is not inherently worth living, it is a slippery slope to the gas chamber. You wind up on a low road that twists past Columbine and leads toward Auschwitz.

-Peggy Noonan
  #8   Spotlight this post!  
Unread 04-02-2006, 18:58
Goldeye Goldeye is offline
Registered User
AKA: Josh Hecht
FRC #0694 (Stuypulse)
Team Role: College Student
 
Join Date: Jan 2005
Rookie Year: 2005
Location: New York
Posts: 145
Goldeye has a spectacular aura aboutGoldeye has a spectacular aura aboutGoldeye has a spectacular aura about
Send a message via AIM to Goldeye
Re: I want a version of the mplab compiler for Linux.

Bump.

Quote:
Originally Posted by psquared89
Sorry about the delay guys. I'm at Siemens (our build site) with the beloved John Dong right now, we've updated the configure.py script for the '06 stuff.

Put http://adambots.gotdns.com/adambots-...o/configure.py in your project folder, then run it with "python configure.py" to generate Makefiles. Re-run it every time you add/remove c/h files from the project.
Where can I find this now?
__________________
Team 694

2005 Championship - Galileo Semifinalist
2005 New York - Regional Chairmans Award
2005 New York - Semifinalist (Thanks 1257,1340)
  #9   Spotlight this post!  
Unread 07-10-2006, 11:49
tux tux is offline
Registered User
AKA: Lee Harr
FRC #3842 (Shock-a-Bots)
Team Role: Mentor
 
Join Date: Apr 2005
Rookie Year: 2005
Location: Rochester, NY
Posts: 91
tux is an unknown quantity at this point
Re: I want a version of the mplab compiler for Linux.

This link is dead:
http://adambots.gotdns.com/adambots-...o/configure.py

But I found this one...
http://adambots.gotdns.com/adambots-...k/configure.py

Ahh.. never mind. I see now that you posted a link to the updated version.

Last edited by tux : 07-10-2006 at 14:01.
  #10   Spotlight this post!  
Unread 07-10-2006, 14:13
tux tux is offline
Registered User
AKA: Lee Harr
FRC #3842 (Shock-a-Bots)
Team Role: Mentor
 
Join Date: Apr 2005
Rookie Year: 2005
Location: Rochester, NY
Posts: 91
tux is an unknown quantity at this point
Re: I want a version of the mplab compiler for Linux.

I was getting an error while linking ...

Error - could not find definition of symbol 'Serial_Char_Callback' in file './user_SerialDrv.o'.


But I figured out that the function had been deleted from user_routines_fast.c

It is compiling and linking just fine now.

Last edited by tux : 07-10-2006 at 15:13.
  #11   Spotlight this post!  
Unread 10-10-2006, 00:46
Don Reid Don Reid is offline
Registered User
#0997
Team Role: Mentor
 
Join Date: Jan 2003
Rookie Year: 2002
Location: Corvallis, Oregon
Posts: 45
Don Reid will become famous soon enough
Re: Wine version

We found that mcc18 doesn't work with recent versions of wine. One of the changes made between 0.9.18 and 0.9.19 seems to be the culprit. So you may want to stay with 0.9.18 or older.
__________________
Don Reid
  #12   Spotlight this post!  
Unread 26-10-2006, 18:09
114Klutz 114Klutz is offline
Registered User
AKA: Li Pi
FRC #2984 (Viking Robotics)
Team Role: Mentor
 
Join Date: Feb 2006
Rookie Year: 2005
Location: Los Altos
Posts: 152
114Klutz is a jewel in the rough114Klutz is a jewel in the rough114Klutz is a jewel in the rough
Send a message via AIM to 114Klutz
Re: I want a version of the mplab compiler for Linux.

Does 0.9.23 work well? Or does that one also have similar problems?
  #13   Spotlight this post!  
Unread 27-10-2006, 13:47
Don Reid Don Reid is offline
Registered User
#0997
Team Role: Mentor
 
Join Date: Jan 2003
Rookie Year: 2002
Location: Corvallis, Oregon
Posts: 45
Don Reid will become famous soon enough
Re: I want a version of the mplab compiler for Linux.

Quote:
Originally Posted by 114Klutz
Does 0.9.23 work well? Or does that one also have similar problems?
I don't think we have tried it yet.
__________________
Don Reid
  #14   Spotlight this post!  
Unread 18-02-2007, 23:50
meatmanek meatmanek is offline
Programmer/physicist/mathematician
FRC #0868 (TechHounds)
Team Role: Programmer
 
Join Date: Mar 2004
Rookie Year: 2004
Location: Carmel, Indiana
Posts: 142
meatmanek is a splendid one to beholdmeatmanek is a splendid one to beholdmeatmanek is a splendid one to beholdmeatmanek is a splendid one to beholdmeatmanek is a splendid one to beholdmeatmanek is a splendid one to beholdmeatmanek is a splendid one to behold
Re: I want a version of the mplab compiler for Linux.

Things hosted on adambotslive are gone.
  #15   Spotlight this post!  
Unread 19-02-2007, 00:42
bagawk bagawk is offline
Registered User
AKA: LeeP
FRC #0997 (Spartan Robotics)
Team Role: College Student
 
Join Date: Jan 2007
Rookie Year: 2005
Location: Oregon
Posts: 9
bagawk is an unknown quantity at this point
Re: I want a version of the mplab compiler for Linux.

We have a makefile that originally was made by that script and has been heavily modified. Grab it here: http://www.chsrobotics.com/files/Makefile

It should be fairly self-explanatory.
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
MPLAB C18 problem Justyn Programming 0 09-03-2005 11:37
IMPORTANT regarding the new C Compiler dlavery General Forum 12 14-01-2005 05:05
Makefile and stripped down compiler Venkatesh Programming 0 09-01-2005 18:55
MPLAB IDE 6.60 Error mchan1111 Programming 8 08-11-2004 20:17
using the MPLAB IDE MPLAB SIM simulator WizardOfAz Programming 1 03-11-2003 01:24


All times are GMT -5. The time now is 06:45.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi