Difference between revisions of "SDCC"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
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 ==
  
To make binaries that run on the CPC refer to the article [[SDCC and CPC]] by [[Hans Hansen]] (2003).
+
[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/ Official SDCC site]
+
[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 22:03, 5 June 2015

Text copied from the official SDCC site

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

Mochilote's Tutorials

SDCC and CPC by Hans Hansen (2003).

Projects with SDCC related to CPC

Contiki

Runtime libraries related to SDCC and Amstrad computers

Preconfigured project for programming the CPC

Runtime libraries for programming SymbOS

Runtime libraries for programming the NC100

Weblinks

Official SDCC site