Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

ECP - Small Device C Compiler (SDCC)

Status
Not open for further replies.

bigdogguru

Administrator
Joined
Mar 12, 2010
Messages
9,821
Helped
2,350
Reputation
4,694
Reaction score
2,272
Trophy points
1,413
Location
Southwest, USA
Activity points
62,383
SDCC is a retargettable, optimizing ANSI - C compiler that targets the Intel 8051, Maxim 80DS390, Zilog Z80, Z180, Rabbit 2000 and the Motorola 68HC08 based MCUs. Work is in progress on supporting the Microchip PIC16 and PIC18 series. SDCC is Free Open Source Software, distributed under GNU General Public License (GPL).

Some of the features include:

SDCC sdas and sdld, a retargettable assembler and linker, based on ASXXXX, is Free Open Source Software, distributed under GNU General Public License (GPL).

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 optimizations, 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);

very basic (no integer constants, multiplication, division, shifts or use as return value) support for long long 64 bit, 8 bytes) data types for the z80, z180, Rabbit 2000 and gbz80 targets.

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.

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.

AVR and gbz80 targets are no longer maintained.

Download and Additional Information

BigDog
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top