<<O>>  Difference Topic FirmwareBuildProcess (r1.7 - 30 Oct 2007 - VikOlliver)

META TOPICPARENT AlreadyDoneList

RepRap Firmware Build Process

Setup the Development Environment

Changed:
<
<
Ubuntu/Linux: run the command below to install the required packages.
>
>
Ubuntu/Linux: run the command below to install the required packages (we have made our own versions of sdcc and gputils for later firmware releases).

# sudo apt-get install cvs libc6-dev flex g++ bison gputils

 <<O>>  Difference Topic FirmwareBuildProcess (r1.6 - 29 Oct 2007 - VikOlliver)

META TOPICPARENT AlreadyDoneList

RepRap Firmware Build Process

Line: 17 to 17

  • Check out the latest code from Subversion.
  • The firmware code is located in reprap/firmware
  • Issue a "make" at the top level
Changed:
<
<
  • If this is the first build, a local instance of sdcc will be built first. This is to ensure compatibility with sdcc.
>
>
  • If this is the first build, a local instance of sdcc will be built first. This is to ensure compatibility with sdcc.

  • After the build is complete, the output files will be stored in the build subdirectory in a further subdirectory named by the processor the firmware is for. By default this is 16f628.
  • The following will be built in separate subdirectories of the processor build directory.
    • stepmotor A generic stepper motor controller on address 2. For RepRap this is the X axis.
 <<O>>  Difference Topic FirmwareBuildProcess (r1.5 - 29 Apr 2007 - ZachSmith)

META TOPICPARENT AlreadyDoneList

RepRap Firmware Build Process

Changed:
<
<
For building under Windows, please see Cygwin Build instead of using the following instructions.
>
>

Setup the Development Environment

Ubuntu/Linux: run the command below to install the required packages.

# sudo apt-get install cvs libc6-dev flex g++ bison gputils

Windows: please see Cygwin Build instead of using the following instructions.

Mac OSX: no idea. it is probably possible. if you attempt it, please let us know!

Compiling the Firmware


  • Check out the latest code from Subversion.
  • The firmware code is located in reprap/firmware
Line: 17 to 27

    • motor A generic DC motor controller using address 5. Not currently planned for use in RepRap.
    • extruder A reprap extruder controller that integrates DC motor functionality with PWM temperature control. It uses address 8.
Added:
>
>

  • If the sdcc compile fails with this error:

make[3]: Entering directory `/home/iowa/reprap/trunk/reprap/firmware/sdcc-build/sdcc/sim/ucsim'
g++ -g -O2 -gstabs+ -g3 -pipe -I. -Wall -I. -I./sim.src -Icmd.src -Igui.src  -c pobj.cc -o pobj.o
cmd.src/newcmdcl.h:127: error: extra qualification 'cl_console::' on member 'clone_for_exec'
make[3]: *** [pobj.o ] Error 1
make[3]: Leaving directory `/home/iowa/reprap/trunk/reprap/firmware/sdcc-build/sdcc/sim/ucsim'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/iowa/reprap/trunk/reprap/firmware/sdcc-build/sdcc/sim/ucsim'
make[1]: *** [sdcc-misc] Error 2
make[1]: Leaving directory `/home/iowa/reprap/trunk/reprap/firmware/sdcc-build/sdcc'
make: *** [/home/iowa/reprap/trunk/reprap/firmware/sdcc/share/sdcc/include/pic] Error 2

Edit the file sdcc-build/sdcc/sim/ucsim/cmd.src/newcmdcl.h and change line 127 from:

virtual class cl_console *cl_console::clone_for_exec(char *fin);

to:

virtual class cl_console *clone_for_exec(char *fin);

(we've reported this bug to the sdcc developers, and hopefully it will be resolved soon.)


Building for a different processor

To build for a different processor than the default 16f628, use the PROCESSOR environment variable, eg

 <<O>>  Difference Topic FirmwareBuildProcess (r1.4 - 20 May 2006 - SimonMcAuliffe)

META TOPICPARENT AlreadyDoneList

RepRap Firmware Build Process

Line: 15 to 15

    • stepmotorc A generic stepper motor controller, identical to stepmotor but using address 4. For RepRap, this is the Z axis.
    • stepmotor-small A generic stepper motor controller that has a smaller memory footprint. Not all features are supported and this is not currently planned for use in RepRap.
    • motor A generic DC motor controller using address 5. Not currently planned for use in RepRap.
Changed:
<
<
    • extruder A reprap extruder controller that integrates DC motor functionality with PWM temperature control. It uses address 5.
>
>
    • extruder A reprap extruder controller that integrates DC motor functionality with PWM temperature control. It uses address 8.

Building for a different processor

 <<O>>  Difference Topic FirmwareBuildProcess (r1.3 - 19 May 2006 - SimonMcAuliffe)

META TOPICPARENT AlreadyDoneList

RepRap Firmware Build Process

Added:
>
>
For building under Windows, please see Cygwin Build instead of using the following instructions.

  • Check out the latest code from Subversion.
  • The firmware code is located in reprap/firmware
  • Issue a "make" at the top level
 <<O>>  Difference Topic FirmwareBuildProcess (r1.2 - 05 May 2006 - SimonMcAuliffe)

META TOPICPARENT AlreadyDoneList

RepRap Firmware Build Process

Changed:
<
<
  • Check out the latest code from CVS.
>
>

  • The firmware code is located in reprap/firmware
  • Issue a "make" at the top level
  • If this is the first build, a local instance of sdcc will be built first. This is to ensure compatibility with sdcc.
 <<O>>  Difference Topic FirmwareBuildProcess (r1.1 - 07 Jan 2006 - SimonMcAuliffe)
Line: 1 to 1
Added:
>
>
META TOPICPARENT AlreadyDoneList

RepRap Firmware Build Process

  • Check out the latest code from CVS.
  • The firmware code is located in reprap/firmware
  • Issue a "make" at the top level
  • If this is the first build, a local instance of sdcc will be built first. This is to ensure compatibility with sdcc.
  • After the build is complete, the output files will be stored in the build subdirectory in a further subdirectory named by the processor the firmware is for. By default this is 16f628.
  • The following will be built in separate subdirectories of the processor build directory.
    • stepmotor A generic stepper motor controller on address 2. For RepRap this is the X axis.
    • stepmotorb A generic stepper motor controller, identical to stepmotor but using address 3. For RepRap, this is the Y axis.
    • stepmotorc A generic stepper motor controller, identical to stepmotor but using address 4. For RepRap, this is the Z axis.
    • stepmotor-small A generic stepper motor controller that has a smaller memory footprint. Not all features are supported and this is not currently planned for use in RepRap.
    • motor A generic DC motor controller using address 5. Not currently planned for use in RepRap.
    • extruder A reprap extruder controller that integrates DC motor functionality with PWM temperature control. It uses address 5.

Building for a different processor

To build for a different processor than the default 16f628, use the PROCESSOR environment variable, eg

PROCESSOR=16f627 make

Building only specific devices

To build only specific devices, use the DEVICES environment variable, eg

DEVICES=stepmotor-small make

Similarly, to build a particular device for a different processor:

DEVICES=stepmotor-small PROCESSOR=16f627 make

Note: Most code uses some processor specific hardware and may not work correctly on any given device

-- SimonMcAuliffe - 07 Jan 2006

View topic | Diffs | r1.7 | > | r1.6 | > | r1.5 | More
Revision r1.1 - 07 Jan 2006 - 21:37 - SimonMcAuliffe
Revision r1.7 - 30 Oct 2007 - 08:17 - VikOlliver