|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
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.
)
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. |
|
#2
|
|||
|
|||
|
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
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
|
|||
|
|||
|
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/* |
|
#4
|
||||
|
||||
|
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. |
|
#5
|
|||
|
|||
|
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
|
|||
|
|||
|
Re: I want a version of the mplab compiler for Linux.
Quote:
|
|
#7
|
||||
|
||||
|
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!! |
|
#8
|
|||
|
|||
|
Re: I want a version of the mplab compiler for Linux.
Bump.
Quote:
|
|
#9
|
|||
|
|||
|
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
|
|||
|
|||
|
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
|
|||
|
|||
|
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.
|
|
#12
|
|||
|
|||
|
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
|
|||
|
|||
|
Re: I want a version of the mplab compiler for Linux.
Quote:
|
|
#14
|
|||
|
|||
|
Re: I want a version of the mplab compiler for Linux.
Things hosted on adambotslive are gone.
|
|
#15
|
|||
|
|||
|
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. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
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 |