|
The Small Device C Compiler (SDCC) is a C compiler for several microcontollers. The source code is available under the GNU GPL Version 2. The runtime libraries are not explicitly licensed but are free for any use. Wikibooks has a book on the topic of C Programming The C programming language (often, just C) is a general-purpose, procedural, imperative computer programming language developed in the early 1970s by Dennis Ritchie for use on the Unix operating system. ...
A microcontroller (or MCU) is a computer-on-a-chip used to control electronic devices. ...
GPL redirects here. ...
[edit] Targets As of release 2.6.0 SDCC can compile to the following targets: - Stable
- Intel 8051
- Maxim 80DS390 (An accelerated and extended 8051 architecture)
- Zilog Z80
- Freescale 68HC08
- Experimental
- Microchip PIC 14 and 16 bit varities.
- Maxim 80DS400 (A microcontroller with TCP/IP in hardware, replaces TININative)
- Unmaintained
[edit] Pin diagram of 40 pin Intel 8051 Microcontroller The Intel 8051 was a Harvard architecture single chip microcontroller (µC) developed by Intel in 1980 for use in embedded systems. ...
Maxim Integrated Products (including its subsidiary Dallas Semiconductor) is a semiconductor company that designs and manufactures analog and mixed-signal integrated circuits. ...
The Zilog Z80 is an 8-bit microprocessor designed and manufactured by Zilog from 1976 onwards. ...
PIC 1655A PIC is a family of RISC microcontrollers made by Microchip Technology, derived from the PIC1650 originally developed by General Instruments Microelectronics Division. ...
The Internet protocol suite is the set of communications protocols that implement the protocol stack on which the Internet runs. ...
The original Game Boys design set the standard for handheld gaming consoles. ...
The AVR®s are a family of RISC microcontrollers from Atmel. ...
The GNU Compiler Collection (usually shortened to GCC) is a set of programming language compilers produced by the GNU Project. ...
Koninklijke Philips Electronics N.V. (Royal Philips Electronics N.V.), usually known as Philips, (Euronext: PHIA, NYSE: PHG) is one of the largest electronics companies in the world. ...
Features - 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
- 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:
- bool (1 bit)
- char (8 bits, 1 byte)
- short (16 bits, 2 bytes)
- int (16 bits, 2 bytes)
- long (32 bit, 4 bytes)
- float (4 byte IEEE 754)
- pointer
- 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.
SDCC also comes with the source level debugger SDCDB, using the current version of Daniel's s51 simulator. (Currently not available on Win32 platforms). Compiler optimization is the process of tuning the output of a compiler to minimise some attribute (or maximise the efficiency) of an executable program. ...
In compiler theory, common subexpression elimination (CSE) is the practice of finding repeated redundant expression evaluations, and replacing them with a single computation assigned to a temporary variable. ...
Most execution time of a scientific program is spent on loops. ...
In computer science, a loop invariant is an invariant used to prove properties of loops. ...
Strength reduction is a software optimisation where a function of some systematically changing variable is calculated more efficiently by using previous values of the function. ...
These optimizations remove unnecessary expressions from within loops and are vital to good generating highly optimized loops. ...
Loop inversion is a compiler optimization, a loop transformation, which replaces a while loop by an if block containing a do. ...
In compiler theory, constant folding and constant propagation are related optimization techniques used by many modern compilers. ...
In computer science constant propagation (cprop) is an optimization performed by compilers. ...
In compiler theory copy propagation is the process of replacing the occurrences of targets of direct assignments with their values. ...
Dead code elimination is a technique used in computer science to reduce program size by removing code which can never be executed. ...
In computer programming, a branch table (sometimes known as a jump table) is a term used to describe an efficient method of transferring program control (branching) to another part of a program using a table of branch instructions. ...
8-bit refers to the number of bits used in the data bus of a computer. ...
In compiler theory, peephole optimization is a kind of optimization performed over a very small set of instructions in a segment of generated code. ...
Data type is a type of data in a type system in computer programming. ...
Inline assembler is a feature of programming languages, that enables very low level code written in assembler to be embedded in a high level language like C. This allows programmers to optimise a very performance-sensitive algorithm by sending individual commands to the computers CPU. This example of inline...
Regression testing is any type of software testing which seeks to uncover regression bugs. ...
SDCC was written by Sandeep Dutta and released under a GPL license. Since its initial release there have been numerous bug fixes and improvements. As of December 1999, the code was moved to SourceForge where all the "users turned developers" can access the same source tree. SDCC is constantly being updated with all the users' and developers' input. The GNU logo The GNU General Public License (GNU GPL or simply GPL) is a widely used free software license, originally written by Richard Stallman for the GNU project. ...
Sourceforge. ...
AVR and gbz80 ports are no longer maintained. The AVR platform is supported by the GNU Compiler Collection. The GNU Compiler Collection (usually shortened to GCC) is a set of programming language compilers produced by the GNU Project. ...
[edit] External links |