GithubHelp home page GithubHelp logo

dioannidis / freepascal Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ccrause/freepascal

0.0 1.0 0.0 208.5 MB

Free Pascal Compiler - an open source Object Pascal compiler. This is an unofficial mirror of the FPC SubVersion repository and is for experimental developments only. For submitting patches or bug reports, go to http://bugs.freepascal.org

Home Page: http://www.freepascal.org/

Makefile 15.14% SourcePawn 0.17% Pascal 71.13% Assembly 1.02% C++ 9.80% PHP 2.34% Perl 0.01% Shell 0.02% Red 0.01% REXX 0.01% HTML 0.11% Puppet 0.03% Rich Text Format 0.01% C 0.09% CSS 0.01% XSLT 0.01% JavaScript 0.02% TeX 0.07% Pawn 0.01% Batchfile 0.01%

freepascal's Introduction

freepascal

Free Pascal Compiler - an open source Object Pascal compiler. This is an unofficial mirror of the FPC SubVersion repository and is used for experimental testing of new AVR controller related features.

Changes:

  • Patch (see bug #34721) to generate correct code sequence for writing to 16 bit I/O registers.
  • Added to compiler: avrxmega3 subarch, atmega 3208, 3209, 4808, 4809 memory layout
  • Added to rtl/embedded: Updated MakeFile to recognize avrxmega3 subarch. Also added subarch to unit output dir so that multiple subarchitectures can co-exist (example fpclocal.cfg shows how to modify config file to point to correct folder structure for AVR)
  • Added to rtl/embedded/avr: atmega(3208 - 4809).pp files with just the interrupt vectors and normal startup code, no register & port definitions yet
  • Patch from bug #33914 to fix variable addresses saved in debug information
  • Assembler routines for intrinsic integer math operations Compile cross compiler for either by opening compiler/ppcavr.lpi in Lazarus (quick compile, compiler will be created under compiler/avr/pp) or by the following command: make buildbase OS_TARGET=embedded CPU_TARGET=avr SUBARCH=avrxmega3 FPC=~/fpc/3.0.4/compiler/ppcx86 BINUTILSPREFIX=avr-Adjust BINUTILSPREFIX and FPC for your specific system.
  • RTL make file modified so that targets requiring a subarch output compiled units to rtl/units/$fpctarget-$fpcsubarch.
  • Fix to make RTL stack error checking properly.

This may give an error when compiling the RTL because not all the makefiles have been updated. Change into the rtl/embedded folder, then continue to build the rtl: make OS_TARGET=embedded CPU_TARGET=avr SUBARCH=avrxmega3 FPC=~/fpc/avr/compiler/avr/pp BINUTILSPREFIX=avr-

The generated units should end up in rtl/units/avr-embedded-avrxmega3. Change subarch to build rtl for other controllers.

freepascal's People

Watchers

 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.