Git Product home page Git Product logo

vonszarvas / propgcc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from parallaxinc/propgcc

0.0 0.0 0.0 170.54 MB

A Port of GCC to the Parallax Propeller

License: Other

Makefile 7.83% C 69.64% Objective-C 2.32% C++ 8.47% Perl 0.21% Emacs Lisp 0.01% Shell 1.00% D 2.78% Assembly 5.99% DTrace 0.01% Mathematica 0.01% R 0.12% Scheme 1.53% E 0.01% Tcl 0.01% Perl 6 0.02% MATLAB 0.01% Awk 0.04% SuperCollider 0.01% Rebol 0.01%

propgcc's Introduction

This is a project for the port of GCC (the GNU Compiler Collection) to the Parallax Propeller.

Please use the Makefile to build Propeller GCC.

To build from scratch use: $ make

All the files will be placed in a ../build directory. You can also build individual components, e.g "make gdb" to build gdb.

Cross compilation from Linux to Windows or Raspberry Pi is also supported by the Makefile, e.g. "make CROSS=win32" or "make CROSS=rpi". See README.cross for more details.

Output is placed in /opt/parallax by default (/opt/parallax-win32 or /opt/parallax-rpi for cross compiles). You can change this by saying "make PREFIX=".


Directory organization is as follows:

binutils - binutils 2.23.1 (complete) plus propeller changes demos - some demos for the compiler (see below) doc - some propeller specific library documentation gcc - gcc 4.6.1 (complete) plus propeller changes gdb - gdb 7.3.1 plus propeller changes gdbstub - interface between gdb and the propeller lib - propeller libraries loader - propeller-load serial loader and communications program ncurses - terminal library; needed to build gdb on Raspberry Pi newlib - a different C library (not currently used) spin2cpp - a tool to convert Spin programs to C or C++ spinsim - Dave Hein's Propeller simulator

--------------------------- demos ---------------------------------

A number of demos are provided. In each directory there should be a Makefile. To build the demo do "make"; to run it do "make run".

Of particular interest is the demo/toggle directory, containing a number of different ways of toggling an LED, using one or multiple COGs.

--------------------------- test suites ---------------------------------

Copy the contents of propgcc/dejagnu to /opt/parallax/share/dejagnu.

Set the environment variable DEJAGNU to /opt/parallax/share/dejagnu/site.exp.

If you are not using a C3 board, edit /opt/parallax/share/dejagnu/board/propeller-sim.exp to reflect the actual board you are using. The propeller-load options are given in the line that reads: set_board_info sim,options "-bc3 -r -t -q" Modify the command line to whatever you need to run XMM programs with propeller-load on your system.

Make sure that your Propeller board is connected and turned on, then in build/gcc, do: make check-gcc RUNTESTFLAGS="--target_board=propeller-sim"

--------------------------- .pdf documentation --------------------------

in build/gcc do: make pdf make install-pdf

This will copy various .pdf files to the /opt/parallax/share/doc directory. The ones in the root of that directory (gmp.pdf, libiberty.pdf, libquadmath.pdf, mpc.pdf, and mpfr.pdf) are not really interesting, since they are for libraries used in building the compiler.

The ones in the gcc/ subdirectory, in particular gcc/cpp.pdf and gcc/gcc.pdf, are the "real" compiler documents. They do have some propeller specific information in them, although more is needed.

propgcc's People

Contributors

totalspectrum avatar dbetz avatar jsdenson avatar kenr707 avatar teknician89 avatar davidzemon avatar srlm-io avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.