Building the PIC firmware on a Linux system
Prerequisites
You will need to have a few packages installed:
$ sudo apt-get install build-essential cvs subversion bison flex
You also need to have
gputils and
SDCC installed. The standard version of
gputils contains a bug, so you need to download a later one.
Uninstall gputils and/or sdcc if the standard versions are already
installed on your machine. Then...
GPUTILS
Create a directory for tools needed for
RepRap firmware build and put gputils in it:
$ mkdir $HOME/reprap-tools
$ cd $HOME/reprap-tools
$ cvs -d:pserver:anonymous@gputils.cvs.sourceforge.net:/cvsroot/gputils login
$ cvs -z3 -d:pserver:anonymous@gputils.cvs.sourceforge.net:/cvsroot/gputils co -P gputils
$ cd gputils
$ ./configure --prefix=$HOME/reprap-tools
$ make
$ make install
Not all versions of
SDCC work. In particular some later revisions have bugs that are not present in earlier versions. Revision 4943 is known to work with
RepRap. Once again, put this in the directory you created:
$ cd $HOME/reprap-tools
$ svn co -r 4943 https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc
$ cd sdcc
$ ./configure --prefix=$HOME/reprap-tools --disable-mcs51-port --disable-gbz80-port --disable-z80-port --disable-avr-port --disable-ds390-port --disable-ds400-port --disable-xa51-port --disable-hc08-port --disable-ucsim
$ make
$ make install
RepRap PIC Firmware
If you are doing
RepRap development you will almost certainly be using
Eclipse for the Java host code anyway. Use subversion in Eclipse to
check out
https://reprap.svn.sourceforge.net/svnroot/reprap/trunk/reprap/firmware
and move to the directory where Eclipse put that:
$ cd ~/workspace/firmware
Add the directory you created previously to your path:
$ PATH=$HOME/reprap-tools/bin:$PATH
$ export PATH
Now make the
RepRap PIC firmware:
$ ./configure
$ make
Files Built
That should create five .hex files for the PIC16F648 (or PIC16F648A - either
will work):
~/workspace/firmware/stepmotor/stepmotorx.hex
~/workspace/firmware/stepmotor/stepmotory.hex
~/workspace/firmware/stepmotor/stepmotorz.hex
~/workspace/firmware/extruder_0/extruder0.hex
~/workspace/firmware/extruder_1/extruder1.hex
The first three are for the
axis stepper controllers.
The file extruder0.hex is for the
standard thermoplast extruder.
The file extruder1.hex is for the
experimental paste extruder.
Rebuilds and options
To do a rebuild, in the ~/workspace/firmware directory type
$ make clean
$ make
The standard distribution has the X, Y, and Z axis code set to do
half-stepping on the stepper motors. To change this to full stepping
edit the file:
~/workspace/firmware/stepmotor/stepmotor.h
comment out the line that says:
#define HALFSTEP
and do a rebuild.
--
AdrianBowyer - 03 Mar 2008
to top