Difference between revisions of "SDCC"
From CPCWiki - THE Amstrad CPC encyclopedia!
m |
|||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | Text copied from the official SDCC site | + | ''Text copied from the official SDCC site'' |
== What is SDCC? == | == What is SDCC? == | ||
− | SDCC is a Freeware, retargettable, optimizing ANSI - [[:Category:|C language]] compiler that targets the Intel 8051, Maxim 80DS390, Zilog [[Z80]] and the Motorola 68HC08 based MCUs. Work is in progress on supporting the Microchip PIC16 and PIC18 series. The entire source code for the compiler is distributed under GPL. | + | SDCC is a Freeware, retargettable, optimizing ANSI - [[:Category:C|C language]] compiler that targets the Intel 8051, Maxim 80DS390, Zilog [[Z80]] and the Motorola 68HC08 based MCUs. Work is in progress on supporting the Microchip PIC16 and PIC18 series. The entire source code for the compiler is distributed under GPL. |
Some of the features include: | Some of the features include: | ||
Line 20: | Line 20: | ||
== Using SDCC and CPC == | == Using SDCC and CPC == | ||
− | + | [http://www.cpcmania.com/Docs/Programming/Programming.htm Mochilote's Tutorials] | |
+ | |||
+ | [[SDCC and CPC]] by [[Hans Hansen]] (2003). | ||
== Projects with SDCC related to CPC == | == Projects with SDCC related to CPC == | ||
[[Contiki]] | [[Contiki]] | ||
+ | |||
+ | == Runtime libraries related to SDCC and Amstrad computers == | ||
+ | |||
+ | [http://www.norecess.net/preconfigured-sdcc-project-for-codeblocks-ide-by-octoate.html Preconfigured project for programming the CPC] | ||
+ | |||
+ | [http://www.nerlaska.com/msx/symbos_sdk.html Runtime libraries for programming [[SymbOS]]] | ||
+ | |||
+ | [https://github.com/Nilquader/ncsdcc Runtime libraries for programming the [[NC100]]] | ||
== Weblinks == | == Weblinks == | ||
− | [http://sdcc.sourceforge.net | + | [http://sdcc.sourceforge.net Official SDCC site] |
− | [[Category:C]][[Category:Programming]][[Category:Programming_software]][[Category:CrossDev]] | + | [[Category:C]] [[Category:Programming]] [[Category:Programming_software]] [[Category:CrossDev]] [[Category:SymbOS]] |
Latest revision as of 21:03, 5 June 2015
Text copied from the official SDCC site
Contents
What is SDCC?
SDCC is a Freeware, retargettable, optimizing ANSI - C language compiler that targets the Intel 8051, Maxim 80DS390, Zilog Z80 and the Motorola 68HC08 based MCUs. Work is in progress on supporting the Microchip PIC16 and PIC18 series. The entire source code for the compiler is distributed under GPL.
Some of the features include:
- ASXXXX and ASLINK, a Freeware, retargettable assembler and linker.
- extensive MCU specific language extensions, allowing effective use of the underlying hardware.
- a host of standard optimizations such as global sub expression elimination, loop optimizations (loop invariant, strength reduction of induction variables and loop reversing ), constant folding and propagation, copy propagation, dead code elimination and jump tables for 'switch' statements.
- MCU specific optimisations, including a global register allocator.
- adaptable MCU specific backend that should be well suited for other 8 bit MCUs
- independent rule based peep hole optimizer.
- a full range of data types: char (8 bits, 1 byte), short (16 bits, 2 bytes), int (16 bits, 2 bytes), long (32 bit, 4 bytes) and float (4 byte IEEE).
- the ability to add inline assembler code anywhere in a function.
- the ability to report on the complexity of a function to help decide what should be re-written in assembler.
- a good selection of automated regression tests.
Using SDCC and CPC
SDCC and CPC by Hans Hansen (2003).
Preconfigured project for programming the CPC
Runtime libraries for programming SymbOS
Runtime libraries for programming the NC100